[PATCH 04/18] media: rcar-isp: Improve ISPPROCMODE_DT_PROC_MODE_VC

From: Tomi Valkeinen
Date: Wed Feb 19 2025 - 08:55:02 EST


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@xxxxxxxxxxxxxxxx>
---
drivers/media/platform/renesas/rcar-isp.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/media/platform/renesas/rcar-isp.c b/drivers/media/platform/renesas/rcar-isp.c
index 4bc89d4757fa..46534a479201 100644
--- a/drivers/media/platform/renesas/rcar-isp.c
+++ b/drivers/media/platform/renesas/rcar-isp.c
@@ -28,10 +28,7 @@
#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(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(isp, ISPSTART_REG, ISPSTART_START);

--
2.43.0