Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: rockchip: rkisp1: Set DPCC methods enable bits inside loop

The rkisp1_dpcc_config() function looks over methods sets to configure
them, but sets the RKISP1_CIF_ISP_DPCC_METHODS_SET_* registers outside
of the loop with hand-unrolled code. Move this to the loop to simplify
the code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>

authored by

Laurent Pinchart and committed by
Mauro Carvalho Chehab
596fa6e7 20b794dd

+4 -6
+4 -6
drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
··· 18 18 #define RKISP1_ISP_PARAMS_REQ_BUFS_MIN 2 19 19 #define RKISP1_ISP_PARAMS_REQ_BUFS_MAX 8 20 20 21 + #define RKISP1_ISP_DPCC_METHODS_SET(n) \ 22 + (RKISP1_CIF_ISP_DPCC_METHODS_SET_1 + 0x4 * (n)) 21 23 #define RKISP1_ISP_DPCC_LINE_THRESH(n) \ 22 24 (RKISP1_CIF_ISP_DPCC_LINE_THRESH_1 + 0x14 * (n)) 23 25 #define RKISP1_ISP_DPCC_LINE_MAD_FAC(n) \ ··· 68 66 rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_SET_USE, 69 67 arg->set_use); 70 68 71 - rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_1, 72 - arg->methods[0].method); 73 - rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_2, 74 - arg->methods[1].method); 75 - rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_3, 76 - arg->methods[2].method); 77 69 for (i = 0; i < RKISP1_CIF_ISP_DPCC_METHODS_MAX; i++) { 70 + rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_METHODS_SET(i), 71 + arg->methods[i].method); 78 72 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_THRESH(i), 79 73 arg->methods[i].line_thresh); 80 74 rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_MAD_FAC(i),