]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: rcar-isp: Improve ISPPROCMODE_DT_PROC_MODE_VC
authorTomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Thu, 15 Jan 2026 10:06:57 +0000 (12:06 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 11 Mar 2026 00:05:31 +0000 (01:05 +0100)
Instead of having four macros for ISPPROCMODE_DT_PROC_MODE_VC[0123](pm),
have just one ISPPROCMODE_DT_PROC_MODE_VCn(vc, pm).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/renesas/rcar-isp/csisp.c

index 1eb29a0b774a98538d0a4da11a0df6259417ef5e..8fb2cc3b565034d8856091b3c3190a775cc14373 100644 (file)
 #define ISPSTART_STOP                                  0x0000
 
 #define ISPPROCMODE_DT_REG(n)                          (0x1100 + (0x4 * (n)))
-#define ISPPROCMODE_DT_PROC_MODE_VC3(pm)               (((pm) & 0x3f) << 24)
-#define ISPPROCMODE_DT_PROC_MODE_VC2(pm)               (((pm) & 0x3f) << 16)
-#define ISPPROCMODE_DT_PROC_MODE_VC1(pm)               (((pm) & 0x3f) << 8)
-#define ISPPROCMODE_DT_PROC_MODE_VC0(pm)               ((pm) & 0x3f)
+#define ISPPROCMODE_DT_PROC_MODE_VCn(vc, pm)           (((pm) & 0x3f) << (8 * (vc)))
 
 #define ISPCS_FILTER_ID_CH_REG(n)                      (0x3000 + (0x0100 * (n)))
 
@@ -263,10 +260,10 @@ static int risp_start(struct rcar_isp *isp, struct v4l2_subdev_state *state)
 
        /* Setup processing method. */
        risp_write_cs(isp, ISPPROCMODE_DT_REG(format->datatype),
-                     ISPPROCMODE_DT_PROC_MODE_VC3(format->procmode) |
-                     ISPPROCMODE_DT_PROC_MODE_VC2(format->procmode) |
-                     ISPPROCMODE_DT_PROC_MODE_VC1(format->procmode) |
-                     ISPPROCMODE_DT_PROC_MODE_VC0(format->procmode));
+                     ISPPROCMODE_DT_PROC_MODE_VCn(3, format->procmode) |
+                     ISPPROCMODE_DT_PROC_MODE_VCn(2, format->procmode) |
+                     ISPPROCMODE_DT_PROC_MODE_VCn(1, format->procmode) |
+                     ISPPROCMODE_DT_PROC_MODE_VCn(0, format->procmode));
 
        /* Start ISP. */
        risp_write_cs(isp, ISPSTART_REG, ISPSTART_START);