media: rockchip: rkisp1: Set DPCC methods enable bits inside loop
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Thu, 9 Jun 2022 10:31:13 +0000 (12:31 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 24 Sep 2022 05:51:40 +0000 (07:51 +0200)
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>
drivers/media/platform/rockchip/rkisp1/rkisp1-params.c

index 9da7dc1..ee91cb3 100644 (file)
@@ -18,6 +18,8 @@
 #define RKISP1_ISP_PARAMS_REQ_BUFS_MIN 2
 #define RKISP1_ISP_PARAMS_REQ_BUFS_MAX 8
 
+#define RKISP1_ISP_DPCC_METHODS_SET(n) \
+                       (RKISP1_CIF_ISP_DPCC_METHODS_SET_1 + 0x4 * (n))
 #define RKISP1_ISP_DPCC_LINE_THRESH(n) \
                        (RKISP1_CIF_ISP_DPCC_LINE_THRESH_1 + 0x14 * (n))
 #define RKISP1_ISP_DPCC_LINE_MAD_FAC(n) \
@@ -66,13 +68,9 @@ static void rkisp1_dpcc_config(struct rkisp1_params *params,
        rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_SET_USE,
                     arg->set_use);
 
-       rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_1,
-                    arg->methods[0].method);
-       rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_2,
-                    arg->methods[1].method);
-       rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_3,
-                    arg->methods[2].method);
        for (i = 0; i < RKISP1_CIF_ISP_DPCC_METHODS_MAX; i++) {
+               rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_METHODS_SET(i),
+                            arg->methods[i].method);
                rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_THRESH(i),
                             arg->methods[i].line_thresh);
                rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_MAD_FAC(i),