* [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros
@ 2025-09-24 0:28 Marek Vasut
2025-09-24 0:28 ` [PATCH v2 01/10] drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros Marek Vasut
` (10 more replies)
0 siblings, 11 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Convert register bits to BIT() macro and bitfields to GENMASK()/FIELD_PREP() macros.
Most of this patchset is boring mechanical conversion.
Noteworthy patches are 6 and 7 , those introduce handling of DSI mode flags
and convert use of DRM_MODE_FLAG_P.SYNC into DRM_MODE_FLAG_N.SYNC, but that
should not have any adverse effect on existing hardware.
Marek Vasut (10):
drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros
drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield
drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage
drm/rcar-du: dsi: Clean up VCLKSET register macros
drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros
drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros
drm/rcar-du: dsi: Respect DSI mode flags
drm/rcar-du: dsi: Clean up handling of DRM mode flags
drm/rcar-du: dsi: Convert register bits to BIT() macro
drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro
.../gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 89 +++--
.../drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 363 +++++++++---------
2 files changed, 232 insertions(+), 220 deletions(-)
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
--
2.51.0
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 01/10] drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 02/10] drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield Marek Vasut
` (9 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, Laurent Pinchart, David Airlie, Geert Uytterhoeven,
Kieran Bingham, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
The RXSETR_CRCEN(n) and RXSETR_ECCEN(n) macros both take parameter (n),
add the missing macro parameter. Neither of those macros is used by the
driver, so for now the bug is harmless.
Fixes: 685e8dae19df ("drm/rcar-du: dsi: Implement DSI command support")
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: Add RB from Laurent
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 76521276e2af8..dd871e17dcf53 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -50,8 +50,8 @@
#define TXCMPPD3R 0x16c
#define RXSETR 0x200
-#define RXSETR_CRCEN (((n) & 0xf) << 24)
-#define RXSETR_ECCEN (((n) & 0xf) << 16)
+#define RXSETR_CRCEN(n) (((n) & 0xf) << 24)
+#define RXSETR_ECCEN(n) (((n) & 0xf) << 16)
#define RXPSETR 0x210
#define RXPSETR_LPPDACC (1 << 0)
#define RXPSR 0x220
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 02/10] drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 01/10] drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 03/10] drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage Marek Vasut
` (8 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
The register TXVMSETR bitfield PIXWDTH is not a single bit, but a
bitfield. Add a MASK macro and document that the only allowed value
that can ever be written into the bitfield is the current value, 1.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: New patch
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index dd871e17dcf53..b8a719a13c006 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -143,7 +143,8 @@
#define TXVMSETR_SYNSEQ_PULSES (0 << 16)
#define TXVMSETR_SYNSEQ_EVENTS (1 << 16)
#define TXVMSETR_VSTPM (1 << 15)
-#define TXVMSETR_PIXWDTH (1 << 8)
+#define TXVMSETR_PIXWDTH_MASK (7 << 8)
+#define TXVMSETR_PIXWDTH (1 << 8) /* Only allowed value */
#define TXVMSETR_VSEN_EN (1 << 4)
#define TXVMSETR_VSEN_DIS (0 << 4)
#define TXVMSETR_HFPBPEN_EN (1 << 2)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 03/10] drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 01/10] drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 02/10] drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros Marek Vasut
` (7 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Call mipi_dsi_pixel_format_to_bpp() once in rcar_mipi_dsi_set_display_timing()
and store the value into a variable. This slightly simplifies the code.
No functional change.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: Use switch-case statement
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
index 5c73a513f678e..ff182a69fc67c 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
@@ -457,13 +457,17 @@ static void rcar_mipi_dsi_set_display_timing(struct rcar_mipi_dsi *dsi,
u32 vprmset4r;
/* Configuration for Pixel Stream and Packet Header */
- if (mipi_dsi_pixel_format_to_bpp(dsi->format) == 24)
+ switch (mipi_dsi_pixel_format_to_bpp(dsi->format)) {
+ case 24:
rcar_mipi_dsi_write(dsi, TXVMPSPHSETR, TXVMPSPHSETR_DT_RGB24);
- else if (mipi_dsi_pixel_format_to_bpp(dsi->format) == 18)
+ break;
+ case 18:
rcar_mipi_dsi_write(dsi, TXVMPSPHSETR, TXVMPSPHSETR_DT_RGB18);
- else if (mipi_dsi_pixel_format_to_bpp(dsi->format) == 16)
+ break;
+ case 16:
rcar_mipi_dsi_write(dsi, TXVMPSPHSETR, TXVMPSPHSETR_DT_RGB16);
- else {
+ break;
+ default:
dev_warn(dsi->dev, "unsupported format");
return;
}
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (2 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 03/10] drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 19:10 ` kernel test robot
2025-09-24 0:28 ` [PATCH v2 05/10] drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros Marek Vasut
` (6 subsequent siblings)
10 siblings, 1 reply; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Introduce VCLKSET_BPP_MASK macro and use FIELD_PREP() to generate
appropriate bitfield from mask and value without bitshift. Remove
VCLKSET_COLOR_RGB which is never used, replace it with code comment.
Do not convert bits and bitfields to BIT() and GENMASK() yet, to be
consisten with the current style. Conversion to BIT() and GENMASK()
macros is done at the very end of this series in the last two patches.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
NOTE: No functional change expected, this is a preparatory patch which
partly removes macros which evaluate to zeroes from rcar_mipi_dsi_regs.h .
The other patches in this series proceed with that job, piece by piece,
to make it all reviewable.
---
V2: Move FIELD_PREP() back into rcar_mipi_dsi_regs.h
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 3 ++-
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 12 ++++++------
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
index ff182a69fc67c..69cb31a913596 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
@@ -624,6 +624,7 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
vclkset = VCLKSET_CKEN;
rcar_mipi_dsi_write(dsi, VCLKSET, vclkset);
+ /* Output is always RGB, never YCbCr */
if (dsi_format == 24)
vclkset |= VCLKSET_BPP_24;
else if (dsi_format == 18)
@@ -635,7 +636,7 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
return -EINVAL;
}
- vclkset |= VCLKSET_COLOR_RGB | VCLKSET_LANE(dsi->lanes - 1);
+ vclkset |= VCLKSET_LANE(dsi->lanes - 1);
switch (dsi->info->model) {
case RCAR_DSI_V3U:
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index b8a719a13c006..00cf8e2351675 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -246,14 +246,14 @@
#define VCLKSET 0x100c
#define VCLKSET_CKEN (1 << 16)
-#define VCLKSET_COLOR_RGB (0 << 8)
-#define VCLKSET_COLOR_YCC (1 << 8)
+#define VCLKSET_COLOR_YCC (1 << 8) /* 0:RGB 1:YCbCr */
#define VCLKSET_DIV_V3U(x) (((x) & 0x3) << 4)
#define VCLKSET_DIV_V4H(x) (((x) & 0x7) << 4)
-#define VCLKSET_BPP_16 (0 << 2)
-#define VCLKSET_BPP_18 (1 << 2)
-#define VCLKSET_BPP_18L (2 << 2)
-#define VCLKSET_BPP_24 (3 << 2)
+#define VCLKSET_BPP_MASK (3 << 2)
+#define VCLKSET_BPP_16 FIELD_PREP(VCLKSET_BPP_MASK, 0)
+#define VCLKSET_BPP_18 FIELD_PREP(VCLKSET_BPP_MASK, 1)
+#define VCLKSET_BPP_18L FIELD_PREP(VCLKSET_BPP_MASK, 2)
+#define VCLKSET_BPP_24 FIELD_PREP(VCLKSET_BPP_MASK, 3)
#define VCLKSET_LANE(x) (((x) & 0x3) << 0)
#define VCLKEN 0x1010
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 05/10] drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (3 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 06/10] drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros Marek Vasut
` (5 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Introduce CLOCKSET1_CLKINSEL_MASK macro and remove bitshift from
values to make this bitfield usable with FIELD_PREP(). There are
no users of this bitfield, hence no updates to the DSI driver.
Do not convert bits and bitfields to BIT() and GENMASK() yet, to be
consisten with the current style. Conversion to BIT() and GENMASK()
macros is done at the very end of this series in the last two patches.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
NOTE: No functional change expected, this is a preparatory patch which
partly removes macros which evaluate to zeroes from rcar_mipi_dsi_regs.h .
The other patches in this series proceed with that job, piece by piece,
to make it all reviewable.
---
V2: Move FIELD_PREP() back into rcar_mipi_dsi_regs.h
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 00cf8e2351675..850f8e214a964 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -269,9 +269,10 @@
#define CLOCKSET1 0x101c
#define CLOCKSET1_LOCK_PHY (1 << 17)
#define CLOCKSET1_CLKSEL (1 << 8)
-#define CLOCKSET1_CLKINSEL_EXTAL (0 << 2)
-#define CLOCKSET1_CLKINSEL_DIG (1 << 2)
-#define CLOCKSET1_CLKINSEL_DU (1 << 3)
+#define CLOCKSET1_CLKINSEL_MASK (3 << 2)
+#define CLOCKSET1_CLKINSEL_EXTAL FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 0)
+#define CLOCKSET1_CLKINSEL_DIG FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 1)
+#define CLOCKSET1_CLKINSEL_DU FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 2)
#define CLOCKSET1_SHADOW_CLEAR (1 << 1)
#define CLOCKSET1_UPDATEPLL (1 << 0)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 06/10] drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (4 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 05/10] drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 07/10] drm/rcar-du: dsi: Respect DSI mode flags Marek Vasut
` (4 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Introduce TXVMPSPHSETR_DT_MASK macro and use FIELD_PREP() to generate
appropriate bitfield from mask and value without bitshift.
Do not convert bits and bitfields to BIT() and GENMASK() yet, to be
consisten with the current style. Conversion to BIT() and GENMASK()
macros is done at the very end of this series in the last two patches.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
NOTE: No functional change expected, this is a preparatory patch which
partly removes macros which evaluate to zeroes from rcar_mipi_dsi_regs.h .
The other patches in this series proceed with that job, piece by piece,
to make it all reviewable.
---
V2: Move FIELD_PREP() back into rcar_mipi_dsi_regs.h
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 850f8e214a964..7c828f46cbb76 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -168,11 +168,12 @@
#define TXVMSCR_STR (1 << 16)
#define TXVMPSPHSETR 0x1c0
-#define TXVMPSPHSETR_DT_RGB16 (0x0e << 16)
-#define TXVMPSPHSETR_DT_RGB18 (0x1e << 16)
-#define TXVMPSPHSETR_DT_RGB18_LS (0x2e << 16)
-#define TXVMPSPHSETR_DT_RGB24 (0x3e << 16)
-#define TXVMPSPHSETR_DT_YCBCR16 (0x2c << 16)
+#define TXVMPSPHSETR_DT_MASK (0x3f << 16)
+#define TXVMPSPHSETR_DT_RGB16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x0e)
+#define TXVMPSPHSETR_DT_RGB18 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x1e)
+#define TXVMPSPHSETR_DT_RGB18_LS FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2e)
+#define TXVMPSPHSETR_DT_RGB24 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x3e)
+#define TXVMPSPHSETR_DT_YCBCR16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2c)
#define TXVMVPRMSET0R 0x1d0
#define TXVMVPRMSET0R_HSPOL_HIG (0 << 17)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 07/10] drm/rcar-du: dsi: Respect DSI mode flags
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (5 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 06/10] drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 08/10] drm/rcar-du: dsi: Clean up handling of DRM " Marek Vasut
` (3 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, Laurent Pinchart, David Airlie, Geert Uytterhoeven,
Kieran Bingham, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Cache DSI mode flags in new mode_flags member of struct rcar_mipi_dsi .
Configure TXVMSETR register based on the content of DSI mode flags in
case the controller operates in video mode.
Rename TXVMSETR_H..BPEN_EN to TXVMSETR_H..BPEN and drop TXVMSETR_H..BPEN_DIS
which resolves to 0. Update TXVMSETR_VSEN in the same manner. Replace
TXVMSETR_SYNSEQ_PULSES with a code comment next to TXVMSETR_SYNSEQ_EVENTS
because TXVMSETR_SYNSEQ_PULSES resolves to 0.
Do not convert bits and bitfields to BIT() and GENMASK() yet, to be
consisten with the current style. Conversion to BIT() and GENMASK()
macros is done at the very end of this series in the last two patches.
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: Add RB from Laurent
---
.../gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 18 +++++++++++++++---
.../drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 15 +++++----------
2 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
index 69cb31a913596..bff45456309a8 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
@@ -71,6 +71,7 @@ struct rcar_mipi_dsi {
} clocks;
enum mipi_dsi_pixel_format format;
+ unsigned long mode_flags;
unsigned int num_data_lanes;
unsigned int lanes;
};
@@ -473,9 +474,19 @@ static void rcar_mipi_dsi_set_display_timing(struct rcar_mipi_dsi *dsi,
}
/* Configuration for Blanking sequence and Input Pixel */
- setr = TXVMSETR_HSABPEN_EN | TXVMSETR_HBPBPEN_EN
- | TXVMSETR_HFPBPEN_EN | TXVMSETR_SYNSEQ_PULSES
- | TXVMSETR_PIXWDTH | TXVMSETR_VSTPM;
+ setr = TXVMSETR_PIXWDTH | TXVMSETR_VSTPM;
+
+ if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO) {
+ if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE))
+ setr |= TXVMSETR_SYNSEQ_EVENTS;
+ if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HFP))
+ setr |= TXVMSETR_HFPBPEN;
+ if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HBP))
+ setr |= TXVMSETR_HBPBPEN;
+ if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HSA))
+ setr |= TXVMSETR_HSABPEN;
+ }
+
rcar_mipi_dsi_write(dsi, TXVMSETR, setr);
/* Configuration for Video Parameters */
@@ -916,6 +927,7 @@ static int rcar_mipi_dsi_host_attach(struct mipi_dsi_host *host,
dsi->lanes = device->lanes;
dsi->format = device->format;
+ dsi->mode_flags = device->mode_flags;
dsi->next_bridge = devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node,
1, 0);
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 7c828f46cbb76..1adb53fce7a9e 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -140,19 +140,14 @@
* Video Mode Register
*/
#define TXVMSETR 0x180
-#define TXVMSETR_SYNSEQ_PULSES (0 << 16)
-#define TXVMSETR_SYNSEQ_EVENTS (1 << 16)
+#define TXVMSETR_SYNSEQ_EVENTS (1 << 16) /* 0:Pulses 1:Events */
#define TXVMSETR_VSTPM (1 << 15)
#define TXVMSETR_PIXWDTH_MASK (7 << 8)
#define TXVMSETR_PIXWDTH (1 << 8) /* Only allowed value */
-#define TXVMSETR_VSEN_EN (1 << 4)
-#define TXVMSETR_VSEN_DIS (0 << 4)
-#define TXVMSETR_HFPBPEN_EN (1 << 2)
-#define TXVMSETR_HFPBPEN_DIS (0 << 2)
-#define TXVMSETR_HBPBPEN_EN (1 << 1)
-#define TXVMSETR_HBPBPEN_DIS (0 << 1)
-#define TXVMSETR_HSABPEN_EN (1 << 0)
-#define TXVMSETR_HSABPEN_DIS (0 << 0)
+#define TXVMSETR_VSEN (1 << 4)
+#define TXVMSETR_HFPBPEN (1 << 2)
+#define TXVMSETR_HBPBPEN (1 << 1)
+#define TXVMSETR_HSABPEN (1 << 0)
#define TXVMCR 0x190
#define TXVMCR_VFCLR (1 << 12)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 08/10] drm/rcar-du: dsi: Clean up handling of DRM mode flags
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (6 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 07/10] drm/rcar-du: dsi: Respect DSI mode flags Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 09/10] drm/rcar-du: dsi: Convert register bits to BIT() macro Marek Vasut
` (2 subsequent siblings)
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Introduce TXVMVPRMSET0R_BPP_MASK macro and use FIELD_PREP() to generate
appropriate bitfield from mask and value without bitshift, assign this
value into vprmset0r. Remove TXVMVPRMSET0R_CSPC_RGB which is never used,
replace it with code comment next to TXVMVPRMSET0R_CSPC_YCbCr.
Replace (mode->flags & DRM_MODE_FLAG_P.SYNC) test with inverted conditional
(mode->flags & DRM_MODE_FLAG_N.SYNC) and bitwise orr vprmset0r with either
or both TXVMVPRMSET0R_HSPOL_LOW and TXVMVPRMSET0R_VSPOL_LOW if conditional
matches.
Do not convert bits and bitfields to BIT() and GENMASK() yet, to be
consisten with the current style. Conversion to BIT() and GENMASK()
macros is done at the very end of this series in the last two patches.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
NOTE: No functional change expected, this is a preparatory patch which
partly removes macros which evaluate to zeroes from rcar_mipi_dsi_regs.h .
The other patches in this series proceed with that job, piece by piece,
to make it all reviewable.
---
V2: Move FIELD_PREP() back into rcar_mipi_dsi_regs.h
---
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 12 ++++++------
.../gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 16 +++++++---------
2 files changed, 13 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
index bff45456309a8..412bbb8b9acf2 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
@@ -489,12 +489,12 @@ static void rcar_mipi_dsi_set_display_timing(struct rcar_mipi_dsi *dsi,
rcar_mipi_dsi_write(dsi, TXVMSETR, setr);
- /* Configuration for Video Parameters */
- vprmset0r = (mode->flags & DRM_MODE_FLAG_PVSYNC ?
- TXVMVPRMSET0R_VSPOL_HIG : TXVMVPRMSET0R_VSPOL_LOW)
- | (mode->flags & DRM_MODE_FLAG_PHSYNC ?
- TXVMVPRMSET0R_HSPOL_HIG : TXVMVPRMSET0R_HSPOL_LOW)
- | TXVMVPRMSET0R_CSPC_RGB | TXVMVPRMSET0R_BPP_24;
+ /* Configuration for Video Parameters, input is always RGB888 */
+ vprmset0r = TXVMVPRMSET0R_BPP_24;
+ if (mode->flags & DRM_MODE_FLAG_NVSYNC)
+ vprmset0r |= TXVMVPRMSET0R_VSPOL_LOW;
+ if (mode->flags & DRM_MODE_FLAG_NHSYNC)
+ vprmset0r |= TXVMVPRMSET0R_HSPOL_LOW;
vprmset1r = TXVMVPRMSET1R_VACTIVE(mode->vdisplay)
| TXVMVPRMSET1R_VSA(mode->vsync_end - mode->vsync_start);
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 1adb53fce7a9e..f244badcfc7a7 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -171,15 +171,13 @@
#define TXVMPSPHSETR_DT_YCBCR16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2c)
#define TXVMVPRMSET0R 0x1d0
-#define TXVMVPRMSET0R_HSPOL_HIG (0 << 17)
-#define TXVMVPRMSET0R_HSPOL_LOW (1 << 17)
-#define TXVMVPRMSET0R_VSPOL_HIG (0 << 16)
-#define TXVMVPRMSET0R_VSPOL_LOW (1 << 16)
-#define TXVMVPRMSET0R_CSPC_RGB (0 << 4)
-#define TXVMVPRMSET0R_CSPC_YCbCr (1 << 4)
-#define TXVMVPRMSET0R_BPP_16 (0 << 0)
-#define TXVMVPRMSET0R_BPP_18 (1 << 0)
-#define TXVMVPRMSET0R_BPP_24 (2 << 0)
+#define TXVMVPRMSET0R_HSPOL_LOW (1 << 17) /* 0:High 1:Low */
+#define TXVMVPRMSET0R_VSPOL_LOW (1 << 16) /* 0:High 1:Low */
+#define TXVMVPRMSET0R_CSPC_YCbCr (1 << 4) /* 0:RGB 1:YCbCr */
+#define TXVMVPRMSET0R_BPP_MASK (7 << 0)
+#define TXVMVPRMSET0R_BPP_16 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 0)
+#define TXVMVPRMSET0R_BPP_18 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 1)
+#define TXVMVPRMSET0R_BPP_24 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 2)
#define TXVMVPRMSET1R 0x1d4
#define TXVMVPRMSET1R_VACTIVE(x) (((x) & 0x7fff) << 16)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 09/10] drm/rcar-du: dsi: Convert register bits to BIT() macro
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (7 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 08/10] drm/rcar-du: dsi: Clean up handling of DRM " Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-24 0:28 ` [PATCH v2 10/10] drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro Marek Vasut
2025-09-26 7:57 ` [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Jani Nikula
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Convert register bits to BIT() macro where applicable. This is done
automatically using regex 's@(1 << \([0-9]\+\))@BIT(\1)', except for
bitfields which are manually updated to use GENMASK().
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: Rebase on previous changes
---
.../drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 250 +++++++++---------
1 file changed, 125 insertions(+), 125 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index f244badcfc7a7..3b0f6c5285a71 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -9,37 +9,37 @@
#define __RCAR_MIPI_DSI_REGS_H__
#define LINKSR 0x010
-#define LINKSR_LPBUSY (1 << 1)
-#define LINKSR_HSBUSY (1 << 0)
+#define LINKSR_LPBUSY BIT(1)
+#define LINKSR_HSBUSY BIT(0)
#define TXSETR 0x100
-#define TXSETR_LANECNT_MASK (0x3 << 0)
+#define TXSETR_LANECNT_MASK GENMASK(1, 0)
/*
* DSI Command Transfer Registers
*/
#define TXCMSETR 0x110
-#define TXCMSETR_SPDTYP (1 << 8) /* 0:HS 1:LP */
-#define TXCMSETR_LPPDACC (1 << 0)
+#define TXCMSETR_SPDTYP BIT(8) /* 0:HS 1:LP */
+#define TXCMSETR_LPPDACC BIT(0)
#define TXCMCR 0x120
-#define TXCMCR_BTATYP (1 << 2)
-#define TXCMCR_BTAREQ (1 << 1)
-#define TXCMCR_TXREQ (1 << 0)
+#define TXCMCR_BTATYP BIT(2)
+#define TXCMCR_BTAREQ BIT(1)
+#define TXCMCR_TXREQ BIT(0)
#define TXCMSR 0x130
-#define TXCMSR_CLSNERR (1 << 18)
-#define TXCMSR_AXIERR (1 << 16)
-#define TXCMSR_TXREQEND (1 << 0)
+#define TXCMSR_CLSNERR BIT(18)
+#define TXCMSR_AXIERR BIT(16)
+#define TXCMSR_TXREQEND BIT(0)
#define TXCMSCR 0x134
-#define TXCMSCR_CLSNERR (1 << 18)
-#define TXCMSCR_AXIERR (1 << 16)
-#define TXCMSCR_TXREQEND (1 << 0)
+#define TXCMSCR_CLSNERR BIT(18)
+#define TXCMSCR_AXIERR BIT(16)
+#define TXCMSCR_TXREQEND BIT(0)
#define TXCMIER 0x138
-#define TXCMIER_CLSNERR (1 << 18)
-#define TXCMIER_AXIERR (1 << 16)
-#define TXCMIER_TXREQEND (1 << 0)
+#define TXCMIER_CLSNERR BIT(18)
+#define TXCMIER_AXIERR BIT(16)
+#define TXCMIER_TXREQEND BIT(0)
#define TXCMADDRSET0R 0x140
#define TXCMPHDR 0x150
-#define TXCMPHDR_FMT (1 << 24) /* 0:SP 1:LP */
+#define TXCMPHDR_FMT BIT(24) /* 0:SP 1:LP */
#define TXCMPHDR_VC(n) (((n) & 0x3) << 22)
#define TXCMPHDR_DT(n) (((n) & 0x3f) << 16)
#define TXCMPHDR_DATA1(n) (((n) & 0xff) << 8)
@@ -53,63 +53,63 @@
#define RXSETR_CRCEN(n) (((n) & 0xf) << 24)
#define RXSETR_ECCEN(n) (((n) & 0xf) << 16)
#define RXPSETR 0x210
-#define RXPSETR_LPPDACC (1 << 0)
+#define RXPSETR_LPPDACC BIT(0)
#define RXPSR 0x220
-#define RXPSR_ECCERR1B (1 << 28)
-#define RXPSR_UEXTRGERR (1 << 25)
-#define RXPSR_RESPTOERR (1 << 24)
-#define RXPSR_OVRERR (1 << 23)
-#define RXPSR_AXIERR (1 << 22)
-#define RXPSR_CRCERR (1 << 21)
-#define RXPSR_WCERR (1 << 20)
-#define RXPSR_UEXDTERR (1 << 19)
-#define RXPSR_UEXPKTERR (1 << 18)
-#define RXPSR_ECCERR (1 << 17)
-#define RXPSR_MLFERR (1 << 16)
-#define RXPSR_RCVACK (1 << 14)
-#define RXPSR_RCVEOT (1 << 10)
-#define RXPSR_RCVAKE (1 << 9)
-#define RXPSR_RCVRESP (1 << 8)
-#define RXPSR_BTAREQEND (1 << 0)
+#define RXPSR_ECCERR1B BIT(28)
+#define RXPSR_UEXTRGERR BIT(25)
+#define RXPSR_RESPTOERR BIT(24)
+#define RXPSR_OVRERR BIT(23)
+#define RXPSR_AXIERR BIT(22)
+#define RXPSR_CRCERR BIT(21)
+#define RXPSR_WCERR BIT(20)
+#define RXPSR_UEXDTERR BIT(19)
+#define RXPSR_UEXPKTERR BIT(18)
+#define RXPSR_ECCERR BIT(17)
+#define RXPSR_MLFERR BIT(16)
+#define RXPSR_RCVACK BIT(14)
+#define RXPSR_RCVEOT BIT(10)
+#define RXPSR_RCVAKE BIT(9)
+#define RXPSR_RCVRESP BIT(8)
+#define RXPSR_BTAREQEND BIT(0)
#define RXPSCR 0x224
-#define RXPSCR_ECCERR1B (1 << 28)
-#define RXPSCR_UEXTRGERR (1 << 25)
-#define RXPSCR_RESPTOERR (1 << 24)
-#define RXPSCR_OVRERR (1 << 23)
-#define RXPSCR_AXIERR (1 << 22)
-#define RXPSCR_CRCERR (1 << 21)
-#define RXPSCR_WCERR (1 << 20)
-#define RXPSCR_UEXDTERR (1 << 19)
-#define RXPSCR_UEXPKTERR (1 << 18)
-#define RXPSCR_ECCERR (1 << 17)
-#define RXPSCR_MLFERR (1 << 16)
-#define RXPSCR_RCVACK (1 << 14)
-#define RXPSCR_RCVEOT (1 << 10)
-#define RXPSCR_RCVAKE (1 << 9)
-#define RXPSCR_RCVRESP (1 << 8)
-#define RXPSCR_BTAREQEND (1 << 0)
+#define RXPSCR_ECCERR1B BIT(28)
+#define RXPSCR_UEXTRGERR BIT(25)
+#define RXPSCR_RESPTOERR BIT(24)
+#define RXPSCR_OVRERR BIT(23)
+#define RXPSCR_AXIERR BIT(22)
+#define RXPSCR_CRCERR BIT(21)
+#define RXPSCR_WCERR BIT(20)
+#define RXPSCR_UEXDTERR BIT(19)
+#define RXPSCR_UEXPKTERR BIT(18)
+#define RXPSCR_ECCERR BIT(17)
+#define RXPSCR_MLFERR BIT(16)
+#define RXPSCR_RCVACK BIT(14)
+#define RXPSCR_RCVEOT BIT(10)
+#define RXPSCR_RCVAKE BIT(9)
+#define RXPSCR_RCVRESP BIT(8)
+#define RXPSCR_BTAREQEND BIT(0)
#define RXPIER 0x228
-#define RXPIER_ECCERR1B (1 << 28)
-#define RXPIER_UEXTRGERR (1 << 25)
-#define RXPIER_RESPTOERR (1 << 24)
-#define RXPIER_OVRERR (1 << 23)
-#define RXPIER_AXIERR (1 << 22)
-#define RXPIER_CRCERR (1 << 21)
-#define RXPIER_WCERR (1 << 20)
-#define RXPIER_UEXDTERR (1 << 19)
-#define RXPIER_UEXPKTERR (1 << 18)
-#define RXPIER_ECCERR (1 << 17)
-#define RXPIER_MLFERR (1 << 16)
-#define RXPIER_RCVACK (1 << 14)
-#define RXPIER_RCVEOT (1 << 10)
-#define RXPIER_RCVAKE (1 << 9)
-#define RXPIER_RCVRESP (1 << 8)
-#define RXPIER_BTAREQEND (1 << 0)
+#define RXPIER_ECCERR1B BIT(28)
+#define RXPIER_UEXTRGERR BIT(25)
+#define RXPIER_RESPTOERR BIT(24)
+#define RXPIER_OVRERR BIT(23)
+#define RXPIER_AXIERR BIT(22)
+#define RXPIER_CRCERR BIT(21)
+#define RXPIER_WCERR BIT(20)
+#define RXPIER_UEXDTERR BIT(19)
+#define RXPIER_UEXPKTERR BIT(18)
+#define RXPIER_ECCERR BIT(17)
+#define RXPIER_MLFERR BIT(16)
+#define RXPIER_RCVACK BIT(14)
+#define RXPIER_RCVEOT BIT(10)
+#define RXPIER_RCVAKE BIT(9)
+#define RXPIER_RCVRESP BIT(8)
+#define RXPIER_BTAREQEND BIT(0)
#define RXPADDRSET0R 0x230
#define RXPSIZESETR 0x238
#define RXPSIZESETR_SIZE(n) (((n) & 0xf) << 3)
#define RXPHDR 0x240
-#define RXPHDR_FMT (1 << 24) /* 0:SP 1:LP */
+#define RXPHDR_FMT BIT(24) /* 0:SP 1:LP */
#define RXPHDR_VC(n) (((n) & 0x3) << 22)
#define RXPHDR_DT(n) (((n) & 0x3f) << 16)
#define RXPHDR_DATA1(n) (((n) & 0xff) << 8)
@@ -128,39 +128,39 @@
#define TASCR 0x514
#define TAIER 0x518
#define TOSR 0x610
-#define TOSR_TATO (1 << 2)
-#define TOSR_LRXHTO (1 << 1)
-#define TOSR_HRXTO (1 << 0)
+#define TOSR_TATO BIT(2)
+#define TOSR_LRXHTO BIT(1)
+#define TOSR_HRXTO BIT(0)
#define TOSCR 0x614
-#define TOSCR_TATO (1 << 2)
-#define TOSCR_LRXHTO (1 << 1)
-#define TOSCR_HRXTO (1 << 0)
+#define TOSCR_TATO BIT(2)
+#define TOSCR_LRXHTO BIT(1)
+#define TOSCR_HRXTO BIT(0)
/*
* Video Mode Register
*/
#define TXVMSETR 0x180
-#define TXVMSETR_SYNSEQ_EVENTS (1 << 16) /* 0:Pulses 1:Events */
-#define TXVMSETR_VSTPM (1 << 15)
-#define TXVMSETR_PIXWDTH_MASK (7 << 8)
-#define TXVMSETR_PIXWDTH (1 << 8) /* Only allowed value */
-#define TXVMSETR_VSEN (1 << 4)
-#define TXVMSETR_HFPBPEN (1 << 2)
-#define TXVMSETR_HBPBPEN (1 << 1)
-#define TXVMSETR_HSABPEN (1 << 0)
+#define TXVMSETR_SYNSEQ_EVENTS BIT(16) /* 0:Pulses 1:Events */
+#define TXVMSETR_VSTPM BIT(15)
+#define TXVMSETR_PIXWDTH_MASK GENMASK(10, 8)
+#define TXVMSETR_PIXWDTH BIT(8) /* Only allowed value */
+#define TXVMSETR_VSEN BIT(4)
+#define TXVMSETR_HFPBPEN BIT(2)
+#define TXVMSETR_HBPBPEN BIT(1)
+#define TXVMSETR_HSABPEN BIT(0)
#define TXVMCR 0x190
-#define TXVMCR_VFCLR (1 << 12)
-#define TXVMCR_EN_VIDEO (1 << 0)
+#define TXVMCR_VFCLR BIT(12)
+#define TXVMCR_EN_VIDEO BIT(0)
#define TXVMSR 0x1a0
-#define TXVMSR_STR (1 << 16)
-#define TXVMSR_VFRDY (1 << 12)
-#define TXVMSR_ACT (1 << 8)
-#define TXVMSR_RDY (1 << 0)
+#define TXVMSR_STR BIT(16)
+#define TXVMSR_VFRDY BIT(12)
+#define TXVMSR_ACT BIT(8)
+#define TXVMSR_RDY BIT(0)
#define TXVMSCR 0x1a4
-#define TXVMSCR_STR (1 << 16)
+#define TXVMSCR_STR BIT(16)
#define TXVMPSPHSETR 0x1c0
#define TXVMPSPHSETR_DT_MASK (0x3f << 16)
@@ -171,10 +171,10 @@
#define TXVMPSPHSETR_DT_YCBCR16 FIELD_PREP(TXVMPSPHSETR_DT_MASK, 0x2c)
#define TXVMVPRMSET0R 0x1d0
-#define TXVMVPRMSET0R_HSPOL_LOW (1 << 17) /* 0:High 1:Low */
-#define TXVMVPRMSET0R_VSPOL_LOW (1 << 16) /* 0:High 1:Low */
-#define TXVMVPRMSET0R_CSPC_YCbCr (1 << 4) /* 0:RGB 1:YCbCr */
-#define TXVMVPRMSET0R_BPP_MASK (7 << 0)
+#define TXVMVPRMSET0R_HSPOL_LOW BIT(17) /* 0:High 1:Low */
+#define TXVMVPRMSET0R_VSPOL_LOW BIT(16) /* 0:High 1:Low */
+#define TXVMVPRMSET0R_CSPC_YCbCr BIT(4) /* 0:RGB 1:YCbCr */
+#define TXVMVPRMSET0R_BPP_MASK GENMASK(2, 0)
#define TXVMVPRMSET0R_BPP_16 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 0)
#define TXVMVPRMSET0R_BPP_18 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 1)
#define TXVMVPRMSET0R_BPP_24 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 2)
@@ -199,51 +199,51 @@
* PHY-Protocol Interface (PPI) Registers
*/
#define PPISETR 0x700
-#define PPISETR_DLEN_MASK (0xf << 0)
-#define PPISETR_CLEN (1 << 8)
+#define PPISETR_DLEN_MASK GENMASK(3, 0)
+#define PPISETR_CLEN BIT(8)
#define PPICLCR 0x710
-#define PPICLCR_TXREQHS (1 << 8)
-#define PPICLCR_TXULPSEXT (1 << 1)
-#define PPICLCR_TXULPSCLK (1 << 0)
+#define PPICLCR_TXREQHS BIT(8)
+#define PPICLCR_TXULPSEXT BIT(1)
+#define PPICLCR_TXULPSCLK BIT(0)
#define PPICLSR 0x720
-#define PPICLSR_HSTOLP (1 << 27)
-#define PPICLSR_TOHS (1 << 26)
-#define PPICLSR_STPST (1 << 0)
+#define PPICLSR_HSTOLP BIT(27)
+#define PPICLSR_TOHS BIT(26)
+#define PPICLSR_STPST BIT(0)
#define PPICLSCR 0x724
-#define PPICLSCR_HSTOLP (1 << 27)
-#define PPICLSCR_TOHS (1 << 26)
+#define PPICLSCR_HSTOLP BIT(27)
+#define PPICLSCR_TOHS BIT(26)
#define PPIDL0SR 0x740
-#define PPIDL0SR_DIR (1 << 10)
-#define PPIDL0SR_STPST (1 << 6)
+#define PPIDL0SR_DIR BIT(10)
+#define PPIDL0SR_STPST BIT(6)
#define PPIDLSR 0x760
-#define PPIDLSR_STPST (0xf << 0)
+#define PPIDLSR_STPST GENMASK(3, 0)
/*
* Clocks registers
*/
#define LPCLKSET 0x1000
-#define LPCLKSET_CKEN (1 << 8)
+#define LPCLKSET_CKEN BIT(8)
#define LPCLKSET_LPCLKDIV(x) (((x) & 0x3f) << 0)
#define CFGCLKSET 0x1004
-#define CFGCLKSET_CKEN (1 << 8)
+#define CFGCLKSET_CKEN BIT(8)
#define CFGCLKSET_CFGCLKDIV(x) (((x) & 0x3f) << 0)
#define DOTCLKDIV 0x1008
-#define DOTCLKDIV_CKEN (1 << 8)
+#define DOTCLKDIV_CKEN BIT(8)
#define DOTCLKDIV_DOTCLKDIV(x) (((x) & 0x3f) << 0)
#define VCLKSET 0x100c
-#define VCLKSET_CKEN (1 << 16)
-#define VCLKSET_COLOR_YCC (1 << 8) /* 0:RGB 1:YCbCr */
+#define VCLKSET_CKEN BIT(16)
+#define VCLKSET_COLOR_YCC BIT(8) /* 0:RGB 1:YCbCr */
#define VCLKSET_DIV_V3U(x) (((x) & 0x3) << 4)
#define VCLKSET_DIV_V4H(x) (((x) & 0x7) << 4)
-#define VCLKSET_BPP_MASK (3 << 2)
+#define VCLKSET_BPP_MASK GENMASK(3, 2)
#define VCLKSET_BPP_16 FIELD_PREP(VCLKSET_BPP_MASK, 0)
#define VCLKSET_BPP_18 FIELD_PREP(VCLKSET_BPP_MASK, 1)
#define VCLKSET_BPP_18L FIELD_PREP(VCLKSET_BPP_MASK, 2)
@@ -251,24 +251,24 @@
#define VCLKSET_LANE(x) (((x) & 0x3) << 0)
#define VCLKEN 0x1010
-#define VCLKEN_CKEN (1 << 0)
+#define VCLKEN_CKEN BIT(0)
#define PHYSETUP 0x1014
#define PHYSETUP_HSFREQRANGE(x) (((x) & 0x7f) << 16)
-#define PHYSETUP_HSFREQRANGE_MASK (0x7f << 16)
+#define PHYSETUP_HSFREQRANGE_MASK GENMASK(22, 16)
#define PHYSETUP_CFGCLKFREQRANGE(x) (((x) & 0x3f) << 8)
-#define PHYSETUP_SHUTDOWNZ (1 << 1)
-#define PHYSETUP_RSTZ (1 << 0)
+#define PHYSETUP_SHUTDOWNZ BIT(1)
+#define PHYSETUP_RSTZ BIT(0)
#define CLOCKSET1 0x101c
-#define CLOCKSET1_LOCK_PHY (1 << 17)
-#define CLOCKSET1_CLKSEL (1 << 8)
-#define CLOCKSET1_CLKINSEL_MASK (3 << 2)
+#define CLOCKSET1_LOCK_PHY BIT(17)
+#define CLOCKSET1_CLKSEL BIT(8)
+#define CLOCKSET1_CLKINSEL_MASK GENMASK(3, 2)
#define CLOCKSET1_CLKINSEL_EXTAL FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 0)
#define CLOCKSET1_CLKINSEL_DIG FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 1)
#define CLOCKSET1_CLKINSEL_DU FIELD_PREP(CLOCKSET1_CLKINSEL_MASK, 2)
-#define CLOCKSET1_SHADOW_CLEAR (1 << 1)
-#define CLOCKSET1_UPDATEPLL (1 << 0)
+#define CLOCKSET1_SHADOW_CLEAR BIT(1)
+#define CLOCKSET1_UPDATEPLL BIT(0)
#define CLOCKSET2 0x1020
#define CLOCKSET2_M(x) (((x) & 0xfff) << 16)
@@ -282,15 +282,15 @@
#define CLOCKSET3_GMP_CNTRL(x) (((x) & 0x3) << 0)
#define PHTW 0x1034
-#define PHTW_DWEN (1 << 24)
+#define PHTW_DWEN BIT(24)
#define PHTW_TESTDIN_DATA(x) (((x) & 0xff) << 16)
-#define PHTW_CWEN (1 << 8)
+#define PHTW_CWEN BIT(8)
#define PHTW_TESTDIN_CODE(x) (((x) & 0xff) << 0)
#define PHTR 0x1038
-#define PHTR_TEST (1 << 16)
+#define PHTR_TEST BIT(16)
#define PHTC 0x103c
-#define PHTC_TESTCLR (1 << 0)
+#define PHTC_TESTCLR BIT(0)
#endif /* __RCAR_MIPI_DSI_REGS_H__ */
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH v2 10/10] drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (8 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 09/10] drm/rcar-du: dsi: Convert register bits to BIT() macro Marek Vasut
@ 2025-09-24 0:28 ` Marek Vasut
2025-09-26 7:57 ` [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Jani Nikula
10 siblings, 0 replies; 14+ messages in thread
From: Marek Vasut @ 2025-09-24 0:28 UTC (permalink / raw)
To: dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Convert register bitfields to GENMASK() macro where applicable.
Use FIELD_PREP() throughout the driver.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: David Airlie <airlied@gmail.com>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: No change
---
.../gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 46 +++++------
.../drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 77 +++++++++----------
2 files changed, 61 insertions(+), 62 deletions(-)
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
index 412bbb8b9acf2..cc186b09049cd 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c
@@ -496,17 +496,17 @@ static void rcar_mipi_dsi_set_display_timing(struct rcar_mipi_dsi *dsi,
if (mode->flags & DRM_MODE_FLAG_NHSYNC)
vprmset0r |= TXVMVPRMSET0R_HSPOL_LOW;
- vprmset1r = TXVMVPRMSET1R_VACTIVE(mode->vdisplay)
- | TXVMVPRMSET1R_VSA(mode->vsync_end - mode->vsync_start);
+ vprmset1r = FIELD_PREP(TXVMVPRMSET1R_VACTIVE_MASK, mode->vdisplay)
+ | FIELD_PREP(TXVMVPRMSET1R_VSA_MASK, mode->vsync_end - mode->vsync_start);
- vprmset2r = TXVMVPRMSET2R_VFP(mode->vsync_start - mode->vdisplay)
- | TXVMVPRMSET2R_VBP(mode->vtotal - mode->vsync_end);
+ vprmset2r = FIELD_PREP(TXVMVPRMSET2R_VFP_MASK, mode->vsync_start - mode->vdisplay)
+ | FIELD_PREP(TXVMVPRMSET2R_VBP_MASK, mode->vtotal - mode->vsync_end);
- vprmset3r = TXVMVPRMSET3R_HACTIVE(mode->hdisplay)
- | TXVMVPRMSET3R_HSA(mode->hsync_end - mode->hsync_start);
+ vprmset3r = FIELD_PREP(TXVMVPRMSET3R_HACTIVE_MASK, mode->hdisplay)
+ | FIELD_PREP(TXVMVPRMSET3R_HSA_MASK, mode->hsync_end - mode->hsync_start);
- vprmset4r = TXVMVPRMSET4R_HFP(mode->hsync_start - mode->hdisplay)
- | TXVMVPRMSET4R_HBP(mode->htotal - mode->hsync_end);
+ vprmset4r = FIELD_PREP(TXVMVPRMSET4R_HFP_MASK, mode->hsync_start - mode->hdisplay)
+ | FIELD_PREP(TXVMVPRMSET4R_HBP_MASK, mode->htotal - mode->hsync_end);
rcar_mipi_dsi_write(dsi, TXVMVPRMSET0R, vprmset0r);
rcar_mipi_dsi_write(dsi, TXVMVPRMSET1R, vprmset1r);
@@ -553,7 +553,7 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
/* PHY setting */
phy_setup = rcar_mipi_dsi_read(dsi, PHYSETUP);
phy_setup &= ~PHYSETUP_HSFREQRANGE_MASK;
- phy_setup |= PHYSETUP_HSFREQRANGE(setup_info.hsfreqrange);
+ phy_setup |= FIELD_PREP(PHYSETUP_HSFREQRANGE_MASK, setup_info.hsfreqrange);
rcar_mipi_dsi_write(dsi, PHYSETUP, phy_setup);
switch (dsi->info->model) {
@@ -576,13 +576,13 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
rcar_mipi_dsi_set(dsi, CLOCKSET1, CLOCKSET1_SHADOW_CLEAR);
rcar_mipi_dsi_clr(dsi, CLOCKSET1, CLOCKSET1_SHADOW_CLEAR);
- clockset2 = CLOCKSET2_M(setup_info.m - dsi->info->clockset2_m_offset)
- | CLOCKSET2_N(setup_info.n - 1)
- | CLOCKSET2_VCO_CNTRL(setup_info.clkset->vco_cntrl);
- clockset3 = CLOCKSET3_PROP_CNTRL(setup_info.clkset->prop_cntrl)
- | CLOCKSET3_INT_CNTRL(setup_info.clkset->int_cntrl)
- | CLOCKSET3_CPBIAS_CNTRL(setup_info.clkset->cpbias_cntrl)
- | CLOCKSET3_GMP_CNTRL(setup_info.clkset->gmp_cntrl);
+ clockset2 = FIELD_PREP(CLOCKSET2_M_MASK, setup_info.m - dsi->info->clockset2_m_offset)
+ | FIELD_PREP(CLOCKSET2_N_MASK, setup_info.n - 1)
+ | FIELD_PREP(CLOCKSET2_VCO_CNTRL_MASK, setup_info.clkset->vco_cntrl);
+ clockset3 = FIELD_PREP(CLOCKSET3_PROP_CNTRL_MASK, setup_info.clkset->prop_cntrl)
+ | FIELD_PREP(CLOCKSET3_INT_CNTRL_MASK, setup_info.clkset->int_cntrl)
+ | FIELD_PREP(CLOCKSET3_CPBIAS_CNTRL_MASK, setup_info.clkset->cpbias_cntrl)
+ | FIELD_PREP(CLOCKSET3_GMP_CNTRL_MASK, setup_info.clkset->gmp_cntrl);
rcar_mipi_dsi_write(dsi, CLOCKSET2, clockset2);
rcar_mipi_dsi_write(dsi, CLOCKSET3, clockset3);
@@ -647,16 +647,16 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
return -EINVAL;
}
- vclkset |= VCLKSET_LANE(dsi->lanes - 1);
+ vclkset |= FIELD_PREP(VCLKSET_LANE_MASK, dsi->lanes - 1);
switch (dsi->info->model) {
case RCAR_DSI_V3U:
default:
- vclkset |= VCLKSET_DIV_V3U(__ffs(setup_info.vclk_divider));
+ vclkset |= FIELD_PREP(VCLKSET_DIV_V3U_MASK, __ffs(setup_info.vclk_divider));
break;
case RCAR_DSI_V4H:
- vclkset |= VCLKSET_DIV_V4H(__ffs(setup_info.vclk_divider) - 1);
+ vclkset |= FIELD_PREP(VCLKSET_DIV_V4H_MASK, __ffs(setup_info.vclk_divider) - 1);
break;
}
@@ -988,10 +988,10 @@ static ssize_t rcar_mipi_dsi_host_tx_transfer(struct mipi_dsi_host *host,
*/
rcar_mipi_dsi_write(dsi, TXCMPHDR,
(is_tx_long ? TXCMPHDR_FMT : 0) |
- TXCMPHDR_VC(msg->channel) |
- TXCMPHDR_DT(msg->type) |
- TXCMPHDR_DATA1(packet.header[2]) |
- TXCMPHDR_DATA0(packet.header[1]));
+ FIELD_PREP(TXCMPHDR_VC_MASK, msg->channel) |
+ FIELD_PREP(TXCMPHDR_DT_MASK, msg->type) |
+ FIELD_PREP(TXCMPHDR_DATA1_MASK, packet.header[2]) |
+ FIELD_PREP(TXCMPHDR_DATA0_MASK, packet.header[1]));
if (is_tx_long) {
memcpy(payload, packet.payload,
diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
index 3b0f6c5285a71..e4b3f7760458d 100644
--- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
+++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
@@ -40,18 +40,18 @@
#define TXCMADDRSET0R 0x140
#define TXCMPHDR 0x150
#define TXCMPHDR_FMT BIT(24) /* 0:SP 1:LP */
-#define TXCMPHDR_VC(n) (((n) & 0x3) << 22)
-#define TXCMPHDR_DT(n) (((n) & 0x3f) << 16)
-#define TXCMPHDR_DATA1(n) (((n) & 0xff) << 8)
-#define TXCMPHDR_DATA0(n) (((n) & 0xff) << 0)
+#define TXCMPHDR_VC_MASK GENMASK(23, 22)
+#define TXCMPHDR_DT_MASK GENMASK(21, 16)
+#define TXCMPHDR_DATA1_MASK GENMASK(15, 8)
+#define TXCMPHDR_DATA0_MASK GENMASK(7, 0)
#define TXCMPPD0R 0x160
#define TXCMPPD1R 0x164
#define TXCMPPD2R 0x168
#define TXCMPPD3R 0x16c
#define RXSETR 0x200
-#define RXSETR_CRCEN(n) (((n) & 0xf) << 24)
-#define RXSETR_ECCEN(n) (((n) & 0xf) << 16)
+#define RXSETR_CRCEN_MASK GENMASK(27, 24)
+#define RXSETR_ECCEN_MASK GENMASK(19, 16)
#define RXPSETR 0x210
#define RXPSETR_LPPDACC BIT(0)
#define RXPSR 0x220
@@ -107,21 +107,21 @@
#define RXPIER_BTAREQEND BIT(0)
#define RXPADDRSET0R 0x230
#define RXPSIZESETR 0x238
-#define RXPSIZESETR_SIZE(n) (((n) & 0xf) << 3)
+#define RXPSIZESETR_SIZE_MASK GENMASK(6, 3)
#define RXPHDR 0x240
#define RXPHDR_FMT BIT(24) /* 0:SP 1:LP */
-#define RXPHDR_VC(n) (((n) & 0x3) << 22)
-#define RXPHDR_DT(n) (((n) & 0x3f) << 16)
-#define RXPHDR_DATA1(n) (((n) & 0xff) << 8)
-#define RXPHDR_DATA0(n) (((n) & 0xff) << 0)
+#define RXPHDR_VC_MASK GENMASK(23, 22)
+#define RXPHDR_DT_MASK GENMASK(21, 16)
+#define RXPHDR_DATA1_MASK GENMASK(15, 8)
+#define RXPHDR_DATA0_MASK GENMASK(7, 0)
#define RXPPD0R 0x250
#define RXPPD1R 0x254
#define RXPPD2R 0x258
#define RXPPD3R 0x25c
#define AKEPR 0x300
-#define AKEPR_VC(n) (((n) & 0x3) << 22)
-#define AKEPR_DT(n) (((n) & 0x3f) << 16)
-#define AKEPR_ERRRPT(n) (((n) & 0xffff) << 0)
+#define AKEPR_VC_MASK GENMASK(23, 22)
+#define AKEPR_DT_MASK GENMASK(21, 16)
+#define AKEPR_ERRRPT_MASK GENMASK(15, 0)
#define RXRESPTOSETR 0x400
#define TACR 0x500
#define TASR 0x510
@@ -180,20 +180,20 @@
#define TXVMVPRMSET0R_BPP_24 FIELD_PREP(TXVMVPRMSET0R_BPP_MASK, 2)
#define TXVMVPRMSET1R 0x1d4
-#define TXVMVPRMSET1R_VACTIVE(x) (((x) & 0x7fff) << 16)
-#define TXVMVPRMSET1R_VSA(x) (((x) & 0xfff) << 0)
+#define TXVMVPRMSET1R_VACTIVE_MASK GENMASK(30, 16)
+#define TXVMVPRMSET1R_VSA_MASK GENMASK(11, 0)
#define TXVMVPRMSET2R 0x1d8
-#define TXVMVPRMSET2R_VFP(x) (((x) & 0x1fff) << 16)
-#define TXVMVPRMSET2R_VBP(x) (((x) & 0x1fff) << 0)
+#define TXVMVPRMSET2R_VFP_MASK GENMASK(28, 16)
+#define TXVMVPRMSET2R_VBP_MASK GENMASK(12, 0)
#define TXVMVPRMSET3R 0x1dc
-#define TXVMVPRMSET3R_HACTIVE(x) (((x) & 0x7fff) << 16)
-#define TXVMVPRMSET3R_HSA(x) (((x) & 0xfff) << 0)
+#define TXVMVPRMSET3R_HACTIVE_MASK GENMASK(30, 16)
+#define TXVMVPRMSET3R_HSA_MASK GENMASK(11, 0)
#define TXVMVPRMSET4R 0x1e0
-#define TXVMVPRMSET4R_HFP(x) (((x) & 0x1fff) << 16)
-#define TXVMVPRMSET4R_HBP(x) (((x) & 0x1fff) << 0)
+#define TXVMVPRMSET4R_HFP_MASK GENMASK(28, 16)
+#define TXVMVPRMSET4R_HBP_MASK GENMASK(12, 0)
/*
* PHY-Protocol Interface (PPI) Registers
@@ -228,35 +228,34 @@
*/
#define LPCLKSET 0x1000
#define LPCLKSET_CKEN BIT(8)
-#define LPCLKSET_LPCLKDIV(x) (((x) & 0x3f) << 0)
+#define LPCLKSET_LPCLKDIV_MASK GENMASK(5, 0)
#define CFGCLKSET 0x1004
#define CFGCLKSET_CKEN BIT(8)
-#define CFGCLKSET_CFGCLKDIV(x) (((x) & 0x3f) << 0)
+#define CFGCLKSET_CFGCLKDIV_MASK GENMASK(5, 0)
#define DOTCLKDIV 0x1008
#define DOTCLKDIV_CKEN BIT(8)
-#define DOTCLKDIV_DOTCLKDIV(x) (((x) & 0x3f) << 0)
+#define DOTCLKDIV_DOTCLKDIV_MASK GENMASK(5, 0)
#define VCLKSET 0x100c
#define VCLKSET_CKEN BIT(16)
#define VCLKSET_COLOR_YCC BIT(8) /* 0:RGB 1:YCbCr */
-#define VCLKSET_DIV_V3U(x) (((x) & 0x3) << 4)
-#define VCLKSET_DIV_V4H(x) (((x) & 0x7) << 4)
+#define VCLKSET_DIV_V3U_MASK GENMASK(5, 4)
+#define VCLKSET_DIV_V4H_MASK GENMASK(6, 4)
#define VCLKSET_BPP_MASK GENMASK(3, 2)
#define VCLKSET_BPP_16 FIELD_PREP(VCLKSET_BPP_MASK, 0)
#define VCLKSET_BPP_18 FIELD_PREP(VCLKSET_BPP_MASK, 1)
#define VCLKSET_BPP_18L FIELD_PREP(VCLKSET_BPP_MASK, 2)
#define VCLKSET_BPP_24 FIELD_PREP(VCLKSET_BPP_MASK, 3)
-#define VCLKSET_LANE(x) (((x) & 0x3) << 0)
+#define VCLKSET_LANE_MASK GENMASK(1, 0)
#define VCLKEN 0x1010
#define VCLKEN_CKEN BIT(0)
#define PHYSETUP 0x1014
-#define PHYSETUP_HSFREQRANGE(x) (((x) & 0x7f) << 16)
#define PHYSETUP_HSFREQRANGE_MASK GENMASK(22, 16)
-#define PHYSETUP_CFGCLKFREQRANGE(x) (((x) & 0x3f) << 8)
+#define PHYSETUP_CFGCLKFREQRANGE_MASK GENMASK(13, 8)
#define PHYSETUP_SHUTDOWNZ BIT(1)
#define PHYSETUP_RSTZ BIT(0)
@@ -271,21 +270,21 @@
#define CLOCKSET1_UPDATEPLL BIT(0)
#define CLOCKSET2 0x1020
-#define CLOCKSET2_M(x) (((x) & 0xfff) << 16)
-#define CLOCKSET2_VCO_CNTRL(x) (((x) & 0x3f) << 8)
-#define CLOCKSET2_N(x) (((x) & 0xf) << 0)
+#define CLOCKSET2_M_MASK GENMASK(27, 16)
+#define CLOCKSET2_VCO_CNTRL_MASK GENMASK(13, 8)
+#define CLOCKSET2_N_MASK GENMASK(3, 0)
#define CLOCKSET3 0x1024
-#define CLOCKSET3_PROP_CNTRL(x) (((x) & 0x3f) << 24)
-#define CLOCKSET3_INT_CNTRL(x) (((x) & 0x3f) << 16)
-#define CLOCKSET3_CPBIAS_CNTRL(x) (((x) & 0x7f) << 8)
-#define CLOCKSET3_GMP_CNTRL(x) (((x) & 0x3) << 0)
+#define CLOCKSET3_PROP_CNTRL_MASK GENMASK(29, 24)
+#define CLOCKSET3_INT_CNTRL_MASK GENMASK(21, 16)
+#define CLOCKSET3_CPBIAS_CNTRL_MASK GENMASK(14, 8)
+#define CLOCKSET3_GMP_CNTRL_MASK GENMASK(1, 0)
#define PHTW 0x1034
#define PHTW_DWEN BIT(24)
-#define PHTW_TESTDIN_DATA(x) (((x) & 0xff) << 16)
+#define PHTW_TESTDIN_DATA_MASK GENMASK(23, 16)
#define PHTW_CWEN BIT(8)
-#define PHTW_TESTDIN_CODE(x) (((x) & 0xff) << 0)
+#define PHTW_TESTDIN_CODE_MASK GENMASK(15, 0)
#define PHTR 0x1038
#define PHTR_TEST BIT(16)
--
2.51.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros
2025-09-24 0:28 ` [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros Marek Vasut
@ 2025-09-24 19:10 ` kernel test robot
0 siblings, 0 replies; 14+ messages in thread
From: kernel test robot @ 2025-09-24 19:10 UTC (permalink / raw)
To: Marek Vasut, dri-devel
Cc: oe-kbuild-all, Marek Vasut, David Airlie, Geert Uytterhoeven,
Kieran Bingham, Laurent Pinchart, Maarten Lankhorst, Magnus Damm,
Maxime Ripard, Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Hi Marek,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on drm/drm-next drm-exynos/exynos-drm-next drm-tip/drm-tip next-20250924]
[cannot apply to linus/master v6.17-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Marek-Vasut/drm-rcar-du-dsi-Fix-missing-parameter-in-RXSETR_-EN-macros/20250924-083415
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20250924003003.91039-5-marek.vasut%2Brenesas%40mailbox.org
patch subject: [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros
config: arc-randconfig-002-20250924 (https://download.01.org/0day-ci/archive/20250925/202509250233.QOpzRcHv-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 14.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250925/202509250233.QOpzRcHv-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509250233.QOpzRcHv-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c:29:
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c: In function 'rcar_mipi_dsi_startup':
>> drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h:256:41: error: implicit declaration of function 'FIELD_PREP' [-Wimplicit-function-declaration]
256 | #define VCLKSET_BPP_24 FIELD_PREP(VCLKSET_BPP_MASK, 3)
| ^~~~~~~~~~
drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c:629:28: note: in expansion of macro 'VCLKSET_BPP_24'
629 | vclkset |= VCLKSET_BPP_24;
| ^~~~~~~~~~~~~~
vim +/FIELD_PREP +256 drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi_regs.h
246
247 #define VCLKSET 0x100c
248 #define VCLKSET_CKEN (1 << 16)
249 #define VCLKSET_COLOR_YCC (1 << 8) /* 0:RGB 1:YCbCr */
250 #define VCLKSET_DIV_V3U(x) (((x) & 0x3) << 4)
251 #define VCLKSET_DIV_V4H(x) (((x) & 0x7) << 4)
252 #define VCLKSET_BPP_MASK (3 << 2)
253 #define VCLKSET_BPP_16 FIELD_PREP(VCLKSET_BPP_MASK, 0)
254 #define VCLKSET_BPP_18 FIELD_PREP(VCLKSET_BPP_MASK, 1)
255 #define VCLKSET_BPP_18L FIELD_PREP(VCLKSET_BPP_MASK, 2)
> 256 #define VCLKSET_BPP_24 FIELD_PREP(VCLKSET_BPP_MASK, 3)
257 #define VCLKSET_LANE(x) (((x) & 0x3) << 0)
258
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
` (9 preceding siblings ...)
2025-09-24 0:28 ` [PATCH v2 10/10] drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro Marek Vasut
@ 2025-09-26 7:57 ` Jani Nikula
2025-09-26 8:06 ` Geert Uytterhoeven
10 siblings, 1 reply; 14+ messages in thread
From: Jani Nikula @ 2025-09-26 7:57 UTC (permalink / raw)
To: Marek Vasut, dri-devel
Cc: Marek Vasut, David Airlie, Geert Uytterhoeven, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
On Wed, 24 Sep 2025, Marek Vasut <marek.vasut+renesas@mailbox.org> wrote:
> Convert register bits to BIT() macro and bitfields to GENMASK()/FIELD_PREP() macros.
> Most of this patchset is boring mechanical conversion.
I suggest using the relatively new sized BIT_U32() and GENMASK_U32(), or
other sizes if your register sizes are different. You'll get better
compile time protection against mistakes, and sometimes the unsigned
long type of plain BIT() and GENMASK() can be annoying.
BR,
Jani.
>
> Noteworthy patches are 6 and 7 , those introduce handling of DSI mode flags
> and convert use of DRM_MODE_FLAG_P.SYNC into DRM_MODE_FLAG_N.SYNC, but that
> should not have any adverse effect on existing hardware.
>
> Marek Vasut (10):
> drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros
> drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield
> drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage
> drm/rcar-du: dsi: Clean up VCLKSET register macros
> drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros
> drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros
> drm/rcar-du: dsi: Respect DSI mode flags
> drm/rcar-du: dsi: Clean up handling of DRM mode flags
> drm/rcar-du: dsi: Convert register bits to BIT() macro
> drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro
>
> .../gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 89 +++--
> .../drm/renesas/rcar-du/rcar_mipi_dsi_regs.h | 363 +++++++++---------
> 2 files changed, 232 insertions(+), 220 deletions(-)
>
> ---
> Cc: David Airlie <airlied@gmail.com>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
> Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Magnus Damm <magnus.damm@gmail.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-renesas-soc@vger.kernel.org
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros
2025-09-26 7:57 ` [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Jani Nikula
@ 2025-09-26 8:06 ` Geert Uytterhoeven
0 siblings, 0 replies; 14+ messages in thread
From: Geert Uytterhoeven @ 2025-09-26 8:06 UTC (permalink / raw)
To: Jani Nikula
Cc: Marek Vasut, dri-devel, David Airlie, Kieran Bingham,
Laurent Pinchart, Maarten Lankhorst, Magnus Damm, Maxime Ripard,
Simona Vetter, Thomas Zimmermann, Tomi Valkeinen,
linux-renesas-soc
Hi Jani,
On Fri, 26 Sept 2025 at 09:58, Jani Nikula <jani.nikula@linux.intel.com> wrote:
> On Wed, 24 Sep 2025, Marek Vasut <marek.vasut+renesas@mailbox.org> wrote:
> > Convert register bits to BIT() macro and bitfields to GENMASK()/FIELD_PREP() macros.
> > Most of this patchset is boring mechanical conversion.
>
> I suggest using the relatively new sized BIT_U32() and GENMASK_U32(), or
> other sizes if your register sizes are different. You'll get better
> compile time protection against mistakes, and sometimes the unsigned
> long type of plain BIT() and GENMASK() can be annoying.
Thank you, I wasn't aware of these new macros!
As the commits introducing them do not have Link:-tags, here is a
link to the full patches series that introduced them:
"[PATCH v8 0/6] bits: Fixed-type GENMASK_U*() and BIT_U*()"
https://lore.kernel.org/20250326-fixed-type-genmasks-v8-0-24afed16ca00@wanadoo.fr/
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-09-26 8:07 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-24 0:28 [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 01/10] drm/rcar-du: dsi: Fix missing parameter in RXSETR_...EN macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 02/10] drm/rcar-du: dsi: Document TXVMSETR PIXWDTH as bitfield Marek Vasut
2025-09-24 0:28 ` [PATCH v2 03/10] drm/rcar-du: dsi: Deduplicate mipi_dsi_pixel_format_to_bpp() usage Marek Vasut
2025-09-24 0:28 ` [PATCH v2 04/10] drm/rcar-du: dsi: Clean up VCLKSET register macros Marek Vasut
2025-09-24 19:10 ` kernel test robot
2025-09-24 0:28 ` [PATCH v2 05/10] drm/rcar-du: dsi: Clean up CLOCKSET1 CLKINSEL macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 06/10] drm/rcar-du: dsi: Clean up TXVMPSPHSETR DT macros Marek Vasut
2025-09-24 0:28 ` [PATCH v2 07/10] drm/rcar-du: dsi: Respect DSI mode flags Marek Vasut
2025-09-24 0:28 ` [PATCH v2 08/10] drm/rcar-du: dsi: Clean up handling of DRM " Marek Vasut
2025-09-24 0:28 ` [PATCH v2 09/10] drm/rcar-du: dsi: Convert register bits to BIT() macro Marek Vasut
2025-09-24 0:28 ` [PATCH v2 10/10] drm/rcar-du: dsi: Convert register bitfields to GENMASK() macro Marek Vasut
2025-09-26 7:57 ` [PATCH v2 00/10] drm/rcar-du: dsi: Convert register bits to BIT()/GENMASK() macros Jani Nikula
2025-09-26 8:06 ` Geert Uytterhoeven
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.