All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-01 11:07 ` Christoph Niedermaier
  0 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-01 11:07 UTC (permalink / raw)
  To: dri-devel
  Cc: Christoph Niedermaier, Marek Vasut, Sam Ravnborg,
	Laurent Pinchart, Maxime Ripard, Philipp Zabel, David Airlie,
	Daniel Vetter, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, linux-arm-kernel

Without the data-mapping devicetree property my display won't
work properly. It is flickering, because the bus flags won't
be assigned without a defined bus format by the imx parallel
display driver. There was a discussion about the removal [1]
and an agreement that a better solution is needed, but it is
missing so far. So what would be the better approach?

[1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1

This reverts commit d021d751c14752a0266865700f6f212fab40a18c.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: linux-arm-kernel@lists.infradead.org
To: dri-devel@lists.freedesktop.org
---
 drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3c08f9827acf..2c683d94a3f3 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
 	struct panel_desc *desc;
 	unsigned int bus_flags;
 	struct videomode vm;
+	const char *mapping;
 	int ret;
 
 	np = dev->of_node;
@@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
 	of_property_read_u32(np, "width-mm", &desc->size.width);
 	of_property_read_u32(np, "height-mm", &desc->size.height);
 
+	of_property_read_string(np, "data-mapping", &mapping);
+	if (!strcmp(mapping, "rgb24"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
+	else if (!strcmp(mapping, "rgb565"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
+	else if (!strcmp(mapping, "bgr666"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
+	else if (!strcmp(mapping, "lvds666"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
+
 	/* Extract bus_flags from display_timing */
 	bus_flags = 0;
 	vm.flags = timing->flags;
-- 
2.11.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-01 11:07 ` Christoph Niedermaier
  0 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-01 11:07 UTC (permalink / raw)
  To: dri-devel
  Cc: Christoph Niedermaier, Marek Vasut, David Airlie, Shawn Guo,
	Sascha Hauer, Laurent Pinchart, Sam Ravnborg,
	Pengutronix Kernel Team, linux-arm-kernel, NXP Linux Team

Without the data-mapping devicetree property my display won't
work properly. It is flickering, because the bus flags won't
be assigned without a defined bus format by the imx parallel
display driver. There was a discussion about the removal [1]
and an agreement that a better solution is needed, but it is
missing so far. So what would be the better approach?

[1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1

This reverts commit d021d751c14752a0266865700f6f212fab40a18c.

Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
Cc: Marek Vasut <marex@denx.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Philipp Zabel <p.zabel@pengutronix.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: linux-arm-kernel@lists.infradead.org
To: dri-devel@lists.freedesktop.org
---
 drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3c08f9827acf..2c683d94a3f3 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
 	struct panel_desc *desc;
 	unsigned int bus_flags;
 	struct videomode vm;
+	const char *mapping;
 	int ret;
 
 	np = dev->of_node;
@@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
 	of_property_read_u32(np, "width-mm", &desc->size.width);
 	of_property_read_u32(np, "height-mm", &desc->size.height);
 
+	of_property_read_string(np, "data-mapping", &mapping);
+	if (!strcmp(mapping, "rgb24"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
+	else if (!strcmp(mapping, "rgb565"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
+	else if (!strcmp(mapping, "bgr666"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
+	else if (!strcmp(mapping, "lvds666"))
+		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
+
 	/* Extract bus_flags from display_timing */
 	bus_flags = 0;
 	vm.flags = timing->flags;
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-01 11:07 ` Christoph Niedermaier
  (?)
@ 2022-02-02 15:42 ` Denys Drozdov
  2022-02-02 15:54     ` Denys Drozdov
  -1 siblings, 1 reply; 19+ messages in thread
From: Denys Drozdov @ 2022-02-02 15:42 UTC (permalink / raw)
  To: Christoph Niedermaier, dri-devel
  Cc: Marek Vasut, David Airlie, Shawn Guo, Sascha Hauer,
	Denys Drozdov, Laurent Pinchart, Sam Ravnborg,
	Pengutronix Kernel Team, linux-arm-kernel, NXP Linux Team

[-- Attachment #1: Type: text/plain, Size: 1023 bytes --]


On 2/1/22 1:07 PM, Christoph Niedermaier wrote:
> Without the data-mapping devicetree property my display won't
> work properly. It is flickering, because the bus flags won't
> be assigned without a defined bus format by the imx parallel
> display driver. There was a discussion about the removal [1]
> and an agreement that a better solution is needed, but it is
> missing so far.

Obviously bus format in panel-dpi is broken, so this revert
looks necessary. The current state of panel-dpi isn't consistent
with changes introduced in commit 4a1d0dbc8332231d1d500d7a1d13c45457262a97

> So what would be the better approach?

Another approach is using panel instead of panel-dpi.

>
> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>
> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.

But, also you need to revert 99f155d0776fb8838e326efce056aa08e25433d0

> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>

Tested-by: Denys Drozdov <denys.drozdov@toradex.com>



[-- Attachment #2: Type: text/html, Size: 2257 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-02 15:42 ` Denys Drozdov
@ 2022-02-02 15:54     ` Denys Drozdov
  0 siblings, 0 replies; 19+ messages in thread
From: Denys Drozdov @ 2022-02-02 15:54 UTC (permalink / raw)
  To: Christoph Niedermaier, dri-devel
  Cc: Marek Vasut, Sam Ravnborg, Laurent Pinchart, Maxime Ripard,
	Philipp Zabel, David Airlie, Daniel Vetter, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel

> On 2/1/22 1:07 PM, Christoph Niedermaier wrote:
>> Without the data-mapping devicetree property my display won't
>> work properly. It is flickering, because the bus flags won't
>> be assigned without a defined bus format by the imx parallel
>> display driver. There was a discussion about the removal [1]
>> and an agreement that a better solution is needed, but it is
>> missing so far.
> Obviously bus format in panel-dpi is broken, so this revert
> looks necessary. The current state of panel-dpi isn't consistent
> with changes introduced in commit 4a1d0dbc8332231d1d500d7a1d13c45457262a97
>> So what would be the better approach?
> Another approach is using panel instead of panel-dpi.
>> [1]https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>
>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> But, also you need to revert 99f155d0776fb8838e326efce056aa08e25433d0
>> Signed-off-by: Christoph Niedermaier<cniedermaier@dh-electronics.com>
> Tested-by: Denys Drozdov<denys.drozdov@toradex.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-02 15:54     ` Denys Drozdov
  0 siblings, 0 replies; 19+ messages in thread
From: Denys Drozdov @ 2022-02-02 15:54 UTC (permalink / raw)
  To: Christoph Niedermaier, dri-devel
  Cc: Marek Vasut, David Airlie, Shawn Guo, Sascha Hauer,
	Laurent Pinchart, Sam Ravnborg, Pengutronix Kernel Team,
	linux-arm-kernel, NXP Linux Team

> On 2/1/22 1:07 PM, Christoph Niedermaier wrote:
>> Without the data-mapping devicetree property my display won't
>> work properly. It is flickering, because the bus flags won't
>> be assigned without a defined bus format by the imx parallel
>> display driver. There was a discussion about the removal [1]
>> and an agreement that a better solution is needed, but it is
>> missing so far.
> Obviously bus format in panel-dpi is broken, so this revert
> looks necessary. The current state of panel-dpi isn't consistent
> with changes introduced in commit 4a1d0dbc8332231d1d500d7a1d13c45457262a97
>> So what would be the better approach?
> Another approach is using panel instead of panel-dpi.
>> [1]https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>
>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> But, also you need to revert 99f155d0776fb8838e326efce056aa08e25433d0
>> Signed-off-by: Christoph Niedermaier<cniedermaier@dh-electronics.com>
> Tested-by: Denys Drozdov<denys.drozdov@toradex.com>

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-01 11:07 ` Christoph Niedermaier
@ 2022-02-02 23:45   ` Laurent Pinchart
  -1 siblings, 0 replies; 19+ messages in thread
From: Laurent Pinchart @ 2022-02-02 23:45 UTC (permalink / raw)
  To: Christoph Niedermaier
  Cc: Marek Vasut, David Airlie, Shawn Guo, Sascha Hauer, dri-devel,
	Sam Ravnborg, Pengutronix Kernel Team, linux-arm-kernel,
	NXP Linux Team

Hi Christoph,

Thank you for the patch.

On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> Without the data-mapping devicetree property my display won't
> work properly. It is flickering, because the bus flags won't
> be assigned without a defined bus format by the imx parallel
> display driver. There was a discussion about the removal [1]
> and an agreement that a better solution is needed, but it is
> missing so far. So what would be the better approach?
>
> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> 
> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> 
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: linux-arm-kernel@lists.infradead.org
> To: dri-devel@lists.freedesktop.org
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3c08f9827acf..2c683d94a3f3 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>  	struct panel_desc *desc;
>  	unsigned int bus_flags;
>  	struct videomode vm;
> +	const char *mapping;
>  	int ret;
>  
>  	np = dev->of_node;
> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>  	of_property_read_u32(np, "width-mm", &desc->size.width);
>  	of_property_read_u32(np, "height-mm", &desc->size.height);
>  
> +	of_property_read_string(np, "data-mapping", &mapping);
> +	if (!strcmp(mapping, "rgb24"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> +	else if (!strcmp(mapping, "rgb565"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> +	else if (!strcmp(mapping, "bgr666"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> +	else if (!strcmp(mapping, "lvds666"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;

You're right that there's an issue, but a revert isn't the right option.
The commit you're reverting never made it in a stable release, because
it was deemed to not be a good enough option.

First of all, any attempt to fix this should include an update to the DT
binding. Second, as this is about DPI panels, the LVDS option should be
dropped. Finally, I've shared some initial thoughts in [1], maybe you
can reply to that e-mail to continue the discussion there ?

https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.com/

> +
>  	/* Extract bus_flags from display_timing */
>  	bus_flags = 0;
>  	vm.flags = timing->flags;

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-02 23:45   ` Laurent Pinchart
  0 siblings, 0 replies; 19+ messages in thread
From: Laurent Pinchart @ 2022-02-02 23:45 UTC (permalink / raw)
  To: Christoph Niedermaier
  Cc: dri-devel, Marek Vasut, Sam Ravnborg, Maxime Ripard,
	Philipp Zabel, David Airlie, Daniel Vetter, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel

Hi Christoph,

Thank you for the patch.

On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> Without the data-mapping devicetree property my display won't
> work properly. It is flickering, because the bus flags won't
> be assigned without a defined bus format by the imx parallel
> display driver. There was a discussion about the removal [1]
> and an agreement that a better solution is needed, but it is
> missing so far. So what would be the better approach?
>
> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> 
> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> 
> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> Cc: Marek Vasut <marex@denx.de>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Philipp Zabel <p.zabel@pengutronix.de>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: linux-arm-kernel@lists.infradead.org
> To: dri-devel@lists.freedesktop.org
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3c08f9827acf..2c683d94a3f3 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>  	struct panel_desc *desc;
>  	unsigned int bus_flags;
>  	struct videomode vm;
> +	const char *mapping;
>  	int ret;
>  
>  	np = dev->of_node;
> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>  	of_property_read_u32(np, "width-mm", &desc->size.width);
>  	of_property_read_u32(np, "height-mm", &desc->size.height);
>  
> +	of_property_read_string(np, "data-mapping", &mapping);
> +	if (!strcmp(mapping, "rgb24"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> +	else if (!strcmp(mapping, "rgb565"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> +	else if (!strcmp(mapping, "bgr666"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> +	else if (!strcmp(mapping, "lvds666"))
> +		desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;

You're right that there's an issue, but a revert isn't the right option.
The commit you're reverting never made it in a stable release, because
it was deemed to not be a good enough option.

First of all, any attempt to fix this should include an update to the DT
binding. Second, as this is about DPI panels, the LVDS option should be
dropped. Finally, I've shared some initial thoughts in [1], maybe you
can reply to that e-mail to continue the discussion there ?

https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.com/

> +
>  	/* Extract bus_flags from display_timing */
>  	bus_flags = 0;
>  	vm.flags = timing->flags;

-- 
Regards,

Laurent Pinchart

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: (EXT) Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-02 23:45   ` Laurent Pinchart
@ 2022-02-03  8:01     ` Alexander Stein
  -1 siblings, 0 replies; 19+ messages in thread
From: Alexander Stein @ 2022-02-03  8:01 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Christoph Niedermaier, Marek Vasut, David Airlie, Shawn Guo,
	Sascha Hauer, dri-devel, Sam Ravnborg, Pengutronix Kernel Team,
	linux-arm-kernel, NXP Linux Team

Hi Laurent,

Am Donnerstag, 3. Februar 2022, 00:45:59 CET schrieb Laurent Pinchart:
> [...]
> You're right that there's an issue, but a revert isn't the right option.
> The commit you're reverting never made it in a stable release, because
> it was deemed to not be a good enough option.
> 
> First of all, any attempt to fix this should include an update to the DT
> binding. Second, as this is about DPI panels, the LVDS option should be
> dropped. Finally, I've shared some initial thoughts in [1], maybe you
> can reply to that e-mail to continue the discussion there ?
> 
> https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.co
> m/

At first I thought, this is a different issue than the one I currently have, 
but after reading this post, I think it's somewhat related.

> If a panel expects RGB888 and receives RGB666 with the two LSBs of each
> component hardwired to GND on the PCB, should DT report RGB888 or RGB666
> on the panel side ? I'm tempted by the former, and specifying the latter
> on the transmitting side.

My situation is the other way around. My panel (cdtech,s070swv29hg-dc44) has a 
MEDIA_BUS_FMT_RGB666_1X18 bus format (see panel-simple.c). Unfortunately for 
one mainboard the connection is like that:

i.MX -- Panel  (Blue and green is identical)
R7   --  R5
R6   --  R4
...
R2   --  R0
R1  dont care
R0  dont care

So the 8 bpc (imx) and 6 bps (panel) are MSB aligned. The 2 LSB are completely 
ignored.
The fast hacked fix is to use an additional panel description with bus format 
set to MEDIA_BUS_FMT_RGB888_1X24, keeping everything else the same. But that 
is cumbersome.
IMHO a straight forward solution is to use a, yet to be written, simple bridge 
which just converts the bus format transparently, assuming the electrical 
connection is actually correct.
This way the panel can set the native bus format, regardless of actual 
connections.
Christoph's problem should disappear as well if going that way, as the bus 
format is set for the <imx> -> <bridge> connection.
Nevertheless the panel bus format should be available in the end.

Regards,
Alexander




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: (EXT) Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-03  8:01     ` Alexander Stein
  0 siblings, 0 replies; 19+ messages in thread
From: Alexander Stein @ 2022-02-03  8:01 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Christoph Niedermaier, linux-arm-kernel, dri-devel, Marek Vasut,
	Sam Ravnborg, Maxime Ripard, Philipp Zabel, David Airlie,
	Daniel Vetter, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, linux-arm-kernel

Hi Laurent,

Am Donnerstag, 3. Februar 2022, 00:45:59 CET schrieb Laurent Pinchart:
> [...]
> You're right that there's an issue, but a revert isn't the right option.
> The commit you're reverting never made it in a stable release, because
> it was deemed to not be a good enough option.
> 
> First of all, any attempt to fix this should include an update to the DT
> binding. Second, as this is about DPI panels, the LVDS option should be
> dropped. Finally, I've shared some initial thoughts in [1], maybe you
> can reply to that e-mail to continue the discussion there ?
> 
> https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.co
> m/

At first I thought, this is a different issue than the one I currently have, 
but after reading this post, I think it's somewhat related.

> If a panel expects RGB888 and receives RGB666 with the two LSBs of each
> component hardwired to GND on the PCB, should DT report RGB888 or RGB666
> on the panel side ? I'm tempted by the former, and specifying the latter
> on the transmitting side.

My situation is the other way around. My panel (cdtech,s070swv29hg-dc44) has a 
MEDIA_BUS_FMT_RGB666_1X18 bus format (see panel-simple.c). Unfortunately for 
one mainboard the connection is like that:

i.MX -- Panel  (Blue and green is identical)
R7   --  R5
R6   --  R4
...
R2   --  R0
R1  dont care
R0  dont care

So the 8 bpc (imx) and 6 bps (panel) are MSB aligned. The 2 LSB are completely 
ignored.
The fast hacked fix is to use an additional panel description with bus format 
set to MEDIA_BUS_FMT_RGB888_1X24, keeping everything else the same. But that 
is cumbersome.
IMHO a straight forward solution is to use a, yet to be written, simple bridge 
which just converts the bus format transparently, assuming the electrical 
connection is actually correct.
This way the panel can set the native bus format, regardless of actual 
connections.
Christoph's problem should disappear as well if going that way, as the bus 
format is set for the <imx> -> <bridge> connection.
Nevertheless the panel bus format should be available in the end.

Regards,
Alexander




_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-02 23:45   ` Laurent Pinchart
@ 2022-02-08 21:27     ` Christoph Niedermaier
  -1 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-08 21:27 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: dri-devel, Marek MV. Vasut, Sam Ravnborg, Maxime Ripard,
	Philipp Zabel, David Airlie, Daniel Vetter, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, linux-arm-kernel

From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
Sent: Thursday, February 3, 2022 12:46 AM
> 
> Hi Christoph,
> 

Hi Laurent,

> On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
>> Without the data-mapping devicetree property my display won't
>> work properly. It is flickering, because the bus flags won't
>> be assigned without a defined bus format by the imx parallel
>> display driver. There was a discussion about the removal [1]
>> and an agreement that a better solution is needed, but it is
>> missing so far. So what would be the better approach?
>>
>> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>
>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Sam Ravnborg <sam@ravnborg.org>
>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
>> Cc: David Airlie <airlied@linux.ie>
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: Shawn Guo <shawnguo@kernel.org>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>> Cc: Fabio Estevam <festevam@gmail.com>
>> Cc: NXP Linux Team <linux-imx@nxp.com>
>> Cc: linux-arm-kernel@lists.infradead.org
>> To: dri-devel@lists.freedesktop.org
>> ---
>>  drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>> index 3c08f9827acf..2c683d94a3f3 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>>       struct panel_desc *desc;
>>       unsigned int bus_flags;
>>       struct videomode vm;
>> +     const char *mapping;
>>       int ret;
>>
>>       np = dev->of_node;
>> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>>       of_property_read_u32(np, "width-mm", &desc->size.width);
>>       of_property_read_u32(np, "height-mm", &desc->size.height);
>>
>> +     of_property_read_string(np, "data-mapping", &mapping);
>> +     if (!strcmp(mapping, "rgb24"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
>> +     else if (!strcmp(mapping, "rgb565"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
>> +     else if (!strcmp(mapping, "bgr666"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
>> +     else if (!strcmp(mapping, "lvds666"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> 
> You're right that there's an issue, but a revert isn't the right option.
> The commit you're reverting never made it in a stable release, because
> it was deemed to not be a good enough option.
> 
> First of all, any attempt to fix this should include an update to the DT
> binding. Second, as this is about DPI panels, the LVDS option should be
> dropped. Finally, I've shared some initial thoughts in [1], maybe you
> can reply to that e-mail to continue the discussion there ?

According to your thoughts in [1] you mean that the bus format should be
build out of the devicetree properties bus-width and data-shift. It would
be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
but what about a bus like RGB565_1X16, where each color has different
bus width. Also the order of the colors should be defined to differ
between busses like RGB888_1X24 and GBR888_1X24.
Are there any ideas how can this be covered?

> 
> [1] https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.com/
> 
>> +
>>       /* Extract bus_flags from display_timing */
>>       bus_flags = 0;
>>       vm.flags = timing->flags;
> 


Regards
Christoph
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-08 21:27     ` Christoph Niedermaier
  0 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-08 21:27 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Marek MV. Vasut, David Airlie, Shawn Guo, Sascha Hauer,
	dri-devel, Sam Ravnborg, Pengutronix Kernel Team,
	linux-arm-kernel, NXP Linux Team

From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
Sent: Thursday, February 3, 2022 12:46 AM
> 
> Hi Christoph,
> 

Hi Laurent,

> On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
>> Without the data-mapping devicetree property my display won't
>> work properly. It is flickering, because the bus flags won't
>> be assigned without a defined bus format by the imx parallel
>> display driver. There was a discussion about the removal [1]
>> and an agreement that a better solution is needed, but it is
>> missing so far. So what would be the better approach?
>>
>> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>
>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Sam Ravnborg <sam@ravnborg.org>
>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
>> Cc: David Airlie <airlied@linux.ie>
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: Shawn Guo <shawnguo@kernel.org>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>> Cc: Fabio Estevam <festevam@gmail.com>
>> Cc: NXP Linux Team <linux-imx@nxp.com>
>> Cc: linux-arm-kernel@lists.infradead.org
>> To: dri-devel@lists.freedesktop.org
>> ---
>>  drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>> index 3c08f9827acf..2c683d94a3f3 100644
>> --- a/drivers/gpu/drm/panel/panel-simple.c
>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>>       struct panel_desc *desc;
>>       unsigned int bus_flags;
>>       struct videomode vm;
>> +     const char *mapping;
>>       int ret;
>>
>>       np = dev->of_node;
>> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>>       of_property_read_u32(np, "width-mm", &desc->size.width);
>>       of_property_read_u32(np, "height-mm", &desc->size.height);
>>
>> +     of_property_read_string(np, "data-mapping", &mapping);
>> +     if (!strcmp(mapping, "rgb24"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
>> +     else if (!strcmp(mapping, "rgb565"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
>> +     else if (!strcmp(mapping, "bgr666"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
>> +     else if (!strcmp(mapping, "lvds666"))
>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> 
> You're right that there's an issue, but a revert isn't the right option.
> The commit you're reverting never made it in a stable release, because
> it was deemed to not be a good enough option.
> 
> First of all, any attempt to fix this should include an update to the DT
> binding. Second, as this is about DPI panels, the LVDS option should be
> dropped. Finally, I've shared some initial thoughts in [1], maybe you
> can reply to that e-mail to continue the discussion there ?

According to your thoughts in [1] you mean that the bus format should be
build out of the devicetree properties bus-width and data-shift. It would
be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
but what about a bus like RGB565_1X16, where each color has different
bus width. Also the order of the colors should be defined to differ
between busses like RGB888_1X24 and GBR888_1X24.
Are there any ideas how can this be covered?

> 
> [1] https://lore.kernel.org/all/20200303185531.GJ11333@pendragon.ideasonboard.com/
> 
>> +
>>       /* Extract bus_flags from display_timing */
>>       bus_flags = 0;
>>       vm.flags = timing->flags;
> 


Regards
Christoph

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-08 21:27     ` Christoph Niedermaier
@ 2022-02-08 23:52       ` Marek Vasut
  -1 siblings, 0 replies; 19+ messages in thread
From: Marek Vasut @ 2022-02-08 23:52 UTC (permalink / raw)
  To: Christoph Niedermaier, Laurent Pinchart
  Cc: David Airlie, Shawn Guo, Sascha Hauer, dri-devel, Sam Ravnborg,
	Pengutronix Kernel Team, linux-arm-kernel, NXP Linux Team

On 2/8/22 22:27, Christoph Niedermaier wrote:
> From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> Sent: Thursday, February 3, 2022 12:46 AM
>>
>> Hi Christoph,
>>
> 
> Hi Laurent,
> 
>> On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
>>> Without the data-mapping devicetree property my display won't
>>> work properly. It is flickering, because the bus flags won't
>>> be assigned without a defined bus format by the imx parallel
>>> display driver. There was a discussion about the removal [1]
>>> and an agreement that a better solution is needed, but it is
>>> missing so far. So what would be the better approach?
>>>
>>> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>>
>>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
>>>
>>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>>> Cc: Marek Vasut <marex@denx.de>
>>> Cc: Sam Ravnborg <sam@ravnborg.org>
>>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>> Cc: Maxime Ripard <mripard@kernel.org>
>>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
>>> Cc: David Airlie <airlied@linux.ie>
>>> Cc: Daniel Vetter <daniel@ffwll.ch>
>>> Cc: Shawn Guo <shawnguo@kernel.org>
>>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>>> Cc: Fabio Estevam <festevam@gmail.com>
>>> Cc: NXP Linux Team <linux-imx@nxp.com>
>>> Cc: linux-arm-kernel@lists.infradead.org
>>> To: dri-devel@lists.freedesktop.org
>>> ---
>>>   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>>>   1 file changed, 11 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>>> index 3c08f9827acf..2c683d94a3f3 100644
>>> --- a/drivers/gpu/drm/panel/panel-simple.c
>>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>>> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>>>        struct panel_desc *desc;
>>>        unsigned int bus_flags;
>>>        struct videomode vm;
>>> +     const char *mapping;
>>>        int ret;
>>>
>>>        np = dev->of_node;
>>> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>>>        of_property_read_u32(np, "width-mm", &desc->size.width);
>>>        of_property_read_u32(np, "height-mm", &desc->size.height);
>>>
>>> +     of_property_read_string(np, "data-mapping", &mapping);
>>> +     if (!strcmp(mapping, "rgb24"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
>>> +     else if (!strcmp(mapping, "rgb565"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
>>> +     else if (!strcmp(mapping, "bgr666"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
>>> +     else if (!strcmp(mapping, "lvds666"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
>>
>> You're right that there's an issue, but a revert isn't the right option.
>> The commit you're reverting never made it in a stable release, because
>> it was deemed to not be a good enough option.
>>
>> First of all, any attempt to fix this should include an update to the DT
>> binding. Second, as this is about DPI panels, the LVDS option should be
>> dropped. Finally, I've shared some initial thoughts in [1], maybe you
>> can reply to that e-mail to continue the discussion there ?
> 
> According to your thoughts in [1] you mean that the bus format should be
> build out of the devicetree properties bus-width and data-shift. It would
> be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> but what about a bus like RGB565_1X16, where each color has different
> bus width. Also the order of the colors should be defined to differ
> between busses like RGB888_1X24 and GBR888_1X24.
> Are there any ideas how can this be covered?

Maybe with props like these ?

channel-width -- width of each color channel
channel-shift -- shift of each color channel
channel-map -- mapping of each color channel

So for RGB888
channel-width = <8 8 8>;
channel-shift = <0 0 0>;
channel-map = "RGB"; // or something ?

For BGR565 panel connected to RGB24 scanout
channel-width = <5 6 5>;
channel-shift = <3 2 3>;
channel-map = "BGR"; // or something ?

For BGR565 panel connected to RGB565 scanout
channel-width = <5 6 5>;
channel-shift = <0 0 0>;
channel-map = "BGR"; // or something ?

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-08 23:52       ` Marek Vasut
  0 siblings, 0 replies; 19+ messages in thread
From: Marek Vasut @ 2022-02-08 23:52 UTC (permalink / raw)
  To: Christoph Niedermaier, Laurent Pinchart
  Cc: dri-devel, Sam Ravnborg, Maxime Ripard, Philipp Zabel,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel

On 2/8/22 22:27, Christoph Niedermaier wrote:
> From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> Sent: Thursday, February 3, 2022 12:46 AM
>>
>> Hi Christoph,
>>
> 
> Hi Laurent,
> 
>> On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
>>> Without the data-mapping devicetree property my display won't
>>> work properly. It is flickering, because the bus flags won't
>>> be assigned without a defined bus format by the imx parallel
>>> display driver. There was a discussion about the removal [1]
>>> and an agreement that a better solution is needed, but it is
>>> missing so far. So what would be the better approach?
>>>
>>> [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
>>>
>>> This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
>>>
>>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>>> Cc: Marek Vasut <marex@denx.de>
>>> Cc: Sam Ravnborg <sam@ravnborg.org>
>>> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>>> Cc: Maxime Ripard <mripard@kernel.org>
>>> Cc: Philipp Zabel <p.zabel@pengutronix.de>
>>> Cc: David Airlie <airlied@linux.ie>
>>> Cc: Daniel Vetter <daniel@ffwll.ch>
>>> Cc: Shawn Guo <shawnguo@kernel.org>
>>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>>> Cc: Fabio Estevam <festevam@gmail.com>
>>> Cc: NXP Linux Team <linux-imx@nxp.com>
>>> Cc: linux-arm-kernel@lists.infradead.org
>>> To: dri-devel@lists.freedesktop.org
>>> ---
>>>   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
>>>   1 file changed, 11 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
>>> index 3c08f9827acf..2c683d94a3f3 100644
>>> --- a/drivers/gpu/drm/panel/panel-simple.c
>>> +++ b/drivers/gpu/drm/panel/panel-simple.c
>>> @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
>>>        struct panel_desc *desc;
>>>        unsigned int bus_flags;
>>>        struct videomode vm;
>>> +     const char *mapping;
>>>        int ret;
>>>
>>>        np = dev->of_node;
>>> @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
>>>        of_property_read_u32(np, "width-mm", &desc->size.width);
>>>        of_property_read_u32(np, "height-mm", &desc->size.height);
>>>
>>> +     of_property_read_string(np, "data-mapping", &mapping);
>>> +     if (!strcmp(mapping, "rgb24"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
>>> +     else if (!strcmp(mapping, "rgb565"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
>>> +     else if (!strcmp(mapping, "bgr666"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
>>> +     else if (!strcmp(mapping, "lvds666"))
>>> +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
>>
>> You're right that there's an issue, but a revert isn't the right option.
>> The commit you're reverting never made it in a stable release, because
>> it was deemed to not be a good enough option.
>>
>> First of all, any attempt to fix this should include an update to the DT
>> binding. Second, as this is about DPI panels, the LVDS option should be
>> dropped. Finally, I've shared some initial thoughts in [1], maybe you
>> can reply to that e-mail to continue the discussion there ?
> 
> According to your thoughts in [1] you mean that the bus format should be
> build out of the devicetree properties bus-width and data-shift. It would
> be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> but what about a bus like RGB565_1X16, where each color has different
> bus width. Also the order of the colors should be defined to differ
> between busses like RGB888_1X24 and GBR888_1X24.
> Are there any ideas how can this be covered?

Maybe with props like these ?

channel-width -- width of each color channel
channel-shift -- shift of each color channel
channel-map -- mapping of each color channel

So for RGB888
channel-width = <8 8 8>;
channel-shift = <0 0 0>;
channel-map = "RGB"; // or something ?

For BGR565 panel connected to RGB24 scanout
channel-width = <5 6 5>;
channel-shift = <3 2 3>;
channel-map = "BGR"; // or something ?

For BGR565 panel connected to RGB565 scanout
channel-width = <5 6 5>;
channel-shift = <0 0 0>;
channel-map = "BGR"; // or something ?

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-08 23:52       ` Marek Vasut
@ 2022-02-09 13:14         ` Max Krummenacher
  -1 siblings, 0 replies; 19+ messages in thread
From: Max Krummenacher @ 2022-02-09 13:14 UTC (permalink / raw)
  To: Marek Vasut, Christoph Niedermaier, Laurent Pinchart
  Cc: dri-devel, Sam Ravnborg, Maxime Ripard, Philipp Zabel,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel, DenysDrozdov

Hi

Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> On 2/8/22 22:27, Christoph Niedermaier wrote:
> > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > Sent: Thursday, February 3, 2022 12:46 AM
> > > Hi Christoph,
> > > 
> > 
> > Hi Laurent,
> > 
> > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > Without the data-mapping devicetree property my display won't
> > > > work properly. It is flickering, because the bus flags won't
> > > > be assigned without a defined bus format by the imx parallel
> > > > display driver. There was a discussion about the removal [1]
> > > > and an agreement that a better solution is needed, but it is
> > > > missing so far. So what would be the better approach?
> > > > 
> > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > 
> > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > 
> > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > Cc: Marek Vasut <marex@denx.de>
> > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > Cc: David Airlie <airlied@linux.ie>
> > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > To: dri-devel@lists.freedesktop.org
> > > > ---
> > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > >   1 file changed, 11 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > >        struct panel_desc *desc;
> > > >        unsigned int bus_flags;
> > > >        struct videomode vm;
> > > > +     const char *mapping;
> > > >        int ret;
> > > > 
> > > >        np = dev->of_node;
> > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > 
> > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > +     if (!strcmp(mapping, "rgb24"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > 
> > > You're right that there's an issue, but a revert isn't the right option.
> > > The commit you're reverting never made it in a stable release, because
> > > it was deemed to not be a good enough option.
> > > 
> > > First of all, any attempt to fix this should include an update to the DT
> > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > can reply to that e-mail to continue the discussion there ?
> > 
> > According to your thoughts in [1] you mean that the bus format should be
> > build out of the devicetree properties bus-width and data-shift. It would
> > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > but what about a bus like RGB565_1X16, where each color has different
> > bus width. Also the order of the colors should be defined to differ
> > between busses like RGB888_1X24 and GBR888_1X24.
> > Are there any ideas how can this be covered?
> 
> Maybe with props like these ?
> 
> channel-width -- width of each color channel
> channel-shift -- shift of each color channel
> channel-map -- mapping of each color channel
> 
> So for RGB888
> channel-width = <8 8 8>;
> channel-shift = <0 0 0>;
> channel-map = "RGB"; // or something ?
> 
> For BGR565 panel connected to RGB24 scanout
> channel-width = <5 6 5>;
> channel-shift = <3 2 3>;
> channel-map = "BGR"; // or something ?
> 
> For BGR565 panel connected to RGB565 scanout
> channel-width = <5 6 5>;
> channel-shift = <0 0 0>;
> channel-map = "BGR"; // or something ?
> 

To me this looks like it goes into the wrong direction.
The goal is to set bus_format to one of the
possible enum values.
Using such a generic approach it would be possible to request bus
formats for which no enum value is currently defined, i.e. the
BGR565 example does not have a matching bus_format in
media-bus-format.h.

What about keeping the solution which the revert would give.
Optionally with a changed property name s/data-mapping/bus-format/
and a changed list of allowed strings to better match between the
dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
This would allow to extend DT binding and
code to possible newly
required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.

Alternatively one could use the bus-width and data-shift
properties and allow for (bus-width + data-shift) to be one
of 16, 18, 24 and assume RGB. I.e. one could only specify
MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
MEDIA_BUS_FMT_RGB888_1X24 respectively.

Max

> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-09 13:14         ` Max Krummenacher
  0 siblings, 0 replies; 19+ messages in thread
From: Max Krummenacher @ 2022-02-09 13:14 UTC (permalink / raw)
  To: Marek Vasut, Christoph Niedermaier, Laurent Pinchart
  Cc: David Airlie, Shawn Guo, Sascha Hauer, DenysDrozdov, dri-devel,
	Sam Ravnborg, Pengutronix Kernel Team, linux-arm-kernel,
	NXP Linux Team

Hi

Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> On 2/8/22 22:27, Christoph Niedermaier wrote:
> > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > Sent: Thursday, February 3, 2022 12:46 AM
> > > Hi Christoph,
> > > 
> > 
> > Hi Laurent,
> > 
> > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > Without the data-mapping devicetree property my display won't
> > > > work properly. It is flickering, because the bus flags won't
> > > > be assigned without a defined bus format by the imx parallel
> > > > display driver. There was a discussion about the removal [1]
> > > > and an agreement that a better solution is needed, but it is
> > > > missing so far. So what would be the better approach?
> > > > 
> > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > 
> > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > 
> > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > Cc: Marek Vasut <marex@denx.de>
> > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > Cc: David Airlie <airlied@linux.ie>
> > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > To: dri-devel@lists.freedesktop.org
> > > > ---
> > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > >   1 file changed, 11 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > >        struct panel_desc *desc;
> > > >        unsigned int bus_flags;
> > > >        struct videomode vm;
> > > > +     const char *mapping;
> > > >        int ret;
> > > > 
> > > >        np = dev->of_node;
> > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > 
> > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > +     if (!strcmp(mapping, "rgb24"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > 
> > > You're right that there's an issue, but a revert isn't the right option.
> > > The commit you're reverting never made it in a stable release, because
> > > it was deemed to not be a good enough option.
> > > 
> > > First of all, any attempt to fix this should include an update to the DT
> > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > can reply to that e-mail to continue the discussion there ?
> > 
> > According to your thoughts in [1] you mean that the bus format should be
> > build out of the devicetree properties bus-width and data-shift. It would
> > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > but what about a bus like RGB565_1X16, where each color has different
> > bus width. Also the order of the colors should be defined to differ
> > between busses like RGB888_1X24 and GBR888_1X24.
> > Are there any ideas how can this be covered?
> 
> Maybe with props like these ?
> 
> channel-width -- width of each color channel
> channel-shift -- shift of each color channel
> channel-map -- mapping of each color channel
> 
> So for RGB888
> channel-width = <8 8 8>;
> channel-shift = <0 0 0>;
> channel-map = "RGB"; // or something ?
> 
> For BGR565 panel connected to RGB24 scanout
> channel-width = <5 6 5>;
> channel-shift = <3 2 3>;
> channel-map = "BGR"; // or something ?
> 
> For BGR565 panel connected to RGB565 scanout
> channel-width = <5 6 5>;
> channel-shift = <0 0 0>;
> channel-map = "BGR"; // or something ?
> 

To me this looks like it goes into the wrong direction.
The goal is to set bus_format to one of the
possible enum values.
Using such a generic approach it would be possible to request bus
formats for which no enum value is currently defined, i.e. the
BGR565 example does not have a matching bus_format in
media-bus-format.h.

What about keeping the solution which the revert would give.
Optionally with a changed property name s/data-mapping/bus-format/
and a changed list of allowed strings to better match between the
dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
This would allow to extend DT binding and
code to possible newly
required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.

Alternatively one could use the bus-width and data-shift
properties and allow for (bus-width + data-shift) to be one
of 16, 18, 24 and assume RGB. I.e. one could only specify
MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
MEDIA_BUS_FMT_RGB888_1X24 respectively.

Max

> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-09 13:14         ` Max Krummenacher
@ 2022-02-19  9:37           ` Christoph Niedermaier
  -1 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-19  9:37 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: dri-devel, Sam Ravnborg, Maxime Ripard, Philipp Zabel,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel, DenysDrozdov, Max Krummenacher,
	Marek MV. Vasut

From: Max Krummenacher [mailto:max.oss.09@gmail.com]
Sent: Wednesday, February 9, 2022 2:14 PM
> 
> Hi
> 
> Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> > On 2/8/22 22:27, Christoph Niedermaier wrote:
> > > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > > Sent: Thursday, February 3, 2022 12:46 AM
> > > > Hi Christoph,
> > > >
> > >
> > > Hi Laurent,
> > >
> > > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > > Without the data-mapping devicetree property my display won't
> > > > > work properly. It is flickering, because the bus flags won't
> > > > > be assigned without a defined bus format by the imx parallel
> > > > > display driver. There was a discussion about the removal [1]
> > > > > and an agreement that a better solution is needed, but it is
> > > > > missing so far. So what would be the better approach?
> > > > >
> > > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > >
> > > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > >
> > > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > > Cc: Marek Vasut <marex@denx.de>
> > > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > > Cc: David Airlie <airlied@linux.ie>
> > > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > > To: dri-devel@lists.freedesktop.org
> > > > > ---
> > > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > > >   1 file changed, 11 insertions(+)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > > >        struct panel_desc *desc;
> > > > >        unsigned int bus_flags;
> > > > >        struct videomode vm;
> > > > > +     const char *mapping;
> > > > >        int ret;
> > > > >
> > > > >        np = dev->of_node;
> > > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > >
> > > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > > +     if (!strcmp(mapping, "rgb24"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > >
> > > > You're right that there's an issue, but a revert isn't the right option.
> > > > The commit you're reverting never made it in a stable release, because
> > > > it was deemed to not be a good enough option.
> > > >
> > > > First of all, any attempt to fix this should include an update to the DT
> > > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > > can reply to that e-mail to continue the discussion there ?
> > >
> > > According to your thoughts in [1] you mean that the bus format should be
> > > build out of the devicetree properties bus-width and data-shift. It would
> > > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > > but what about a bus like RGB565_1X16, where each color has different
> > > bus width. Also the order of the colors should be defined to differ
> > > between busses like RGB888_1X24 and GBR888_1X24.
> > > Are there any ideas how can this be covered?
> >
> > Maybe with props like these ?
> >
> > channel-width -- width of each color channel
> > channel-shift -- shift of each color channel
> > channel-map -- mapping of each color channel
> >
> > So for RGB888
> > channel-width = <8 8 8>;
> > channel-shift = <0 0 0>;
> > channel-map = "RGB"; // or something ?
> >
> > For BGR565 panel connected to RGB24 scanout
> > channel-width = <5 6 5>;
> > channel-shift = <3 2 3>;
> > channel-map = "BGR"; // or something ?
> >
> > For BGR565 panel connected to RGB565 scanout
> > channel-width = <5 6 5>;
> > channel-shift = <0 0 0>;
> > channel-map = "BGR"; // or something ?
> >
> 
> To me this looks like it goes into the wrong direction.
> The goal is to set bus_format to one of the
> possible enum values.
> Using such a generic approach it would be possible to request bus
> formats for which no enum value is currently defined, i.e. the
> BGR565 example does not have a matching bus_format in
> media-bus-format.h.
> 
> What about keeping the solution which the revert would give.
> Optionally with a changed property name s/data-mapping/bus-format/
> and a changed list of allowed strings to better match between the
> dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
> This would allow to extend DT binding and
> code to possible newly
> required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.
> 
> Alternatively one could use the bus-width and data-shift
> properties and allow for (bus-width + data-shift) to be one
> of 16, 18, 24 and assume RGB. I.e. one could only specify
> MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
> MEDIA_BUS_FMT_RGB888_1X24 respectively.
> 
> Max
> 

Hi Laurent,

In which direction should it go to find an acceptable solution?

Regards
Christoph
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* RE: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-19  9:37           ` Christoph Niedermaier
  0 siblings, 0 replies; 19+ messages in thread
From: Christoph Niedermaier @ 2022-02-19  9:37 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: Marek MV. Vasut, Max Krummenacher, David Airlie, Shawn Guo,
	Sascha Hauer, DenysDrozdov, dri-devel, Sam Ravnborg,
	Pengutronix Kernel Team, linux-arm-kernel, NXP Linux Team

From: Max Krummenacher [mailto:max.oss.09@gmail.com]
Sent: Wednesday, February 9, 2022 2:14 PM
> 
> Hi
> 
> Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> > On 2/8/22 22:27, Christoph Niedermaier wrote:
> > > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > > Sent: Thursday, February 3, 2022 12:46 AM
> > > > Hi Christoph,
> > > >
> > >
> > > Hi Laurent,
> > >
> > > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > > Without the data-mapping devicetree property my display won't
> > > > > work properly. It is flickering, because the bus flags won't
> > > > > be assigned without a defined bus format by the imx parallel
> > > > > display driver. There was a discussion about the removal [1]
> > > > > and an agreement that a better solution is needed, but it is
> > > > > missing so far. So what would be the better approach?
> > > > >
> > > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > >
> > > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > >
> > > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > > Cc: Marek Vasut <marex@denx.de>
> > > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > > Cc: David Airlie <airlied@linux.ie>
> > > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > > To: dri-devel@lists.freedesktop.org
> > > > > ---
> > > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > > >   1 file changed, 11 insertions(+)
> > > > >
> > > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > > >        struct panel_desc *desc;
> > > > >        unsigned int bus_flags;
> > > > >        struct videomode vm;
> > > > > +     const char *mapping;
> > > > >        int ret;
> > > > >
> > > > >        np = dev->of_node;
> > > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > >
> > > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > > +     if (!strcmp(mapping, "rgb24"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > >
> > > > You're right that there's an issue, but a revert isn't the right option.
> > > > The commit you're reverting never made it in a stable release, because
> > > > it was deemed to not be a good enough option.
> > > >
> > > > First of all, any attempt to fix this should include an update to the DT
> > > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > > can reply to that e-mail to continue the discussion there ?
> > >
> > > According to your thoughts in [1] you mean that the bus format should be
> > > build out of the devicetree properties bus-width and data-shift. It would
> > > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > > but what about a bus like RGB565_1X16, where each color has different
> > > bus width. Also the order of the colors should be defined to differ
> > > between busses like RGB888_1X24 and GBR888_1X24.
> > > Are there any ideas how can this be covered?
> >
> > Maybe with props like these ?
> >
> > channel-width -- width of each color channel
> > channel-shift -- shift of each color channel
> > channel-map -- mapping of each color channel
> >
> > So for RGB888
> > channel-width = <8 8 8>;
> > channel-shift = <0 0 0>;
> > channel-map = "RGB"; // or something ?
> >
> > For BGR565 panel connected to RGB24 scanout
> > channel-width = <5 6 5>;
> > channel-shift = <3 2 3>;
> > channel-map = "BGR"; // or something ?
> >
> > For BGR565 panel connected to RGB565 scanout
> > channel-width = <5 6 5>;
> > channel-shift = <0 0 0>;
> > channel-map = "BGR"; // or something ?
> >
> 
> To me this looks like it goes into the wrong direction.
> The goal is to set bus_format to one of the
> possible enum values.
> Using such a generic approach it would be possible to request bus
> formats for which no enum value is currently defined, i.e. the
> BGR565 example does not have a matching bus_format in
> media-bus-format.h.
> 
> What about keeping the solution which the revert would give.
> Optionally with a changed property name s/data-mapping/bus-format/
> and a changed list of allowed strings to better match between the
> dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
> This would allow to extend DT binding and
> code to possible newly
> required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.
> 
> Alternatively one could use the bus-width and data-shift
> properties and allow for (bus-width + data-shift) to be one
> of 16, 18, 24 and assume RGB. I.e. one could only specify
> MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
> MEDIA_BUS_FMT_RGB888_1X24 respectively.
> 
> Max
> 

Hi Laurent,

In which direction should it go to find an acceptable solution?

Regards
Christoph

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
  2022-02-19  9:37           ` Christoph Niedermaier
@ 2022-02-22  8:51             ` Max
  -1 siblings, 0 replies; 19+ messages in thread
From: Max @ 2022-02-22  8:51 UTC (permalink / raw)
  To: Christoph Niedermaier, Laurent Pinchart
  Cc: Marek MV. Vasut, David Airlie, Shawn Guo, Sascha Hauer,
	DenysDrozdov, dri-devel, Sam Ravnborg, Pengutronix Kernel Team,
	linux-arm-kernel, NXP Linux Team

Am Samstag, den 19.02.2022, 09:37 +0000 schrieb Christoph Niedermaier:
> From: Max Krummenacher [mailto:max.oss.09@gmail.com]
> Sent: Wednesday, February 9, 2022 2:14 PM
> > Hi
> > 
> > Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> > > On 2/8/22 22:27, Christoph Niedermaier wrote:
> > > > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > > > Sent: Thursday, February 3, 2022 12:46 AM
> > > > > Hi Christoph,
> > > > > 
> > > > 
> > > > Hi Laurent,
> > > > 
> > > > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > > > Without the data-mapping devicetree property my display won't
> > > > > > work properly. It is flickering, because the bus flags won't
> > > > > > be assigned without a defined bus format by the imx parallel
> > > > > > display driver. There was a discussion about the removal [1]
> > > > > > and an agreement that a better solution is needed, but it is
> > > > > > missing so far. So what would be the better approach?
> > > > > > 
> > > > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > > > 
> > > > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > > > 
> > > > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > > > Cc: Marek Vasut <marex@denx.de>
> > > > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > > > Cc: David Airlie <airlied@linux.ie>
> > > > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > > > To: dri-devel@lists.freedesktop.org
> > > > > > ---
> > > > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > > > >   1 file changed, 11 insertions(+)
> > > > > > 
> > > > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > > > >        struct panel_desc *desc;
> > > > > >        unsigned int bus_flags;
> > > > > >        struct videomode vm;
> > > > > > +     const char *mapping;
> > > > > >        int ret;
> > > > > > 
> > > > > >        np = dev->of_node;
> > > > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > > > 
> > > > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > > > +     if (!strcmp(mapping, "rgb24"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > > > 
> > > > > You're right that there's an issue, but a revert isn't the right option.
> > > > > The commit you're reverting never made it in a stable release, because
> > > > > it was deemed to not be a good enough option.
> > > > > 
> > > > > First of all, any attempt to fix this should include an update to the DT
> > > > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > > > can reply to that e-mail to continue the discussion there ?
> > > > 
> > > > According to your thoughts in [1] you mean that the bus format should be
> > > > build out of the devicetree properties bus-width and data-shift. It would
> > > > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > > > but what about a bus like RGB565_1X16, where each color has different
> > > > bus width. Also the order of the colors should be defined to differ
> > > > between busses like RGB888_1X24 and GBR888_1X24.
> > > > Are there any ideas how can this be covered?
> > > 
> > > Maybe with props like these ?
> > > 
> > > channel-width -- width of each color channel
> > > channel-shift -- shift of each color channel
> > > channel-map -- mapping of each color channel
> > > 
> > > So for RGB888
> > > channel-width = <8 8 8>;
> > > channel-shift = <0 0 0>;
> > > channel-map = "RGB"; // or something ?
> > > 
> > > For BGR565 panel connected to RGB24 scanout
> > > channel-width = <5 6 5>;
> > > channel-shift = <3 2 3>;
> > > channel-map = "BGR"; // or something ?
> > > 
> > > For BGR565 panel connected to RGB565 scanout
> > > channel-width = <5 6 5>;
> > > channel-shift = <0 0 0>;
> > > channel-map = "BGR"; // or something ?
> > > 
> > 
> > To me this looks like it goes into the wrong direction.
> > The goal is to set bus_format to one of the
> > possible enum values.
> > Using such a generic approach it would be possible to request bus
> > formats for which no enum value is currently defined, i.e. the
> > BGR565 example does not have a matching bus_format in
> > media-bus-format.h.
> > 
> > What about keeping the solution which the revert would give.
> > Optionally with a changed property name s/data-mapping/bus-format/
> > and a changed list of allowed strings to better match between the
> > dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
> > This would allow to extend DT binding and
> > code to possible newly
> > required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.
> > 
> > Alternatively one could use the bus-width and data-shift
> > properties and allow for (bus-width + data-shift) to be one
> > of 16, 18, 24 and assume RGB. I.e. one could only specify
> > MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
> > MEDIA_BUS_FMT_RGB888_1X24 respectively.
> > 
> > Max
> > 
> 
> Hi Laurent,
> 
> In which direction should it go to find an acceptable solution?

Hi

I sent a proposal as RFC to show how this could look in the implementation.
https://lore.kernel.org/all/20220222084723.14310-1-max.krummenacher@toradex.com/

Max
> 
> Regards
> Christoph


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property"
@ 2022-02-22  8:51             ` Max
  0 siblings, 0 replies; 19+ messages in thread
From: Max @ 2022-02-22  8:51 UTC (permalink / raw)
  To: Christoph Niedermaier, Laurent Pinchart
  Cc: dri-devel, Sam Ravnborg, Maxime Ripard, Philipp Zabel,
	David Airlie, Daniel Vetter, Shawn Guo, Sascha Hauer,
	Pengutronix Kernel Team, Fabio Estevam, NXP Linux Team,
	linux-arm-kernel, DenysDrozdov, Marek MV. Vasut

Am Samstag, den 19.02.2022, 09:37 +0000 schrieb Christoph Niedermaier:
> From: Max Krummenacher [mailto:max.oss.09@gmail.com]
> Sent: Wednesday, February 9, 2022 2:14 PM
> > Hi
> > 
> > Am Mittwoch, den 09.02.2022, 00:52 +0100 schrieb Marek Vasut:
> > > On 2/8/22 22:27, Christoph Niedermaier wrote:
> > > > From: Laurent Pinchart [mailto:laurent.pinchart@ideasonboard.com]
> > > > Sent: Thursday, February 3, 2022 12:46 AM
> > > > > Hi Christoph,
> > > > > 
> > > > 
> > > > Hi Laurent,
> > > > 
> > > > > On Tue, Feb 01, 2022 at 12:07:17PM +0100, Christoph Niedermaier wrote:
> > > > > > Without the data-mapping devicetree property my display won't
> > > > > > work properly. It is flickering, because the bus flags won't
> > > > > > be assigned without a defined bus format by the imx parallel
> > > > > > display driver. There was a discussion about the removal [1]
> > > > > > and an agreement that a better solution is needed, but it is
> > > > > > missing so far. So what would be the better approach?
> > > > > > 
> > > > > > [1] https://patchwork.freedesktop.org/patch/357659/?series=74705&rev=1
> > > > > > 
> > > > > > This reverts commit d021d751c14752a0266865700f6f212fab40a18c.
> > > > > > 
> > > > > > Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
> > > > > > Cc: Marek Vasut <marex@denx.de>
> > > > > > Cc: Sam Ravnborg <sam@ravnborg.org>
> > > > > > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > > > > > Cc: Maxime Ripard <mripard@kernel.org>
> > > > > > Cc: Philipp Zabel <p.zabel@pengutronix.de>
> > > > > > Cc: David Airlie <airlied@linux.ie>
> > > > > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > > > > Cc: Shawn Guo <shawnguo@kernel.org>
> > > > > > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > > > > > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > > > > > Cc: Fabio Estevam <festevam@gmail.com>
> > > > > > Cc: NXP Linux Team <linux-imx@nxp.com>
> > > > > > Cc: linux-arm-kernel@lists.infradead.org
> > > > > > To: dri-devel@lists.freedesktop.org
> > > > > > ---
> > > > > >   drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++
> > > > > >   1 file changed, 11 insertions(+)
> > > > > > 
> > > > > > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > > > > > index 3c08f9827acf..2c683d94a3f3 100644
> > > > > > --- a/drivers/gpu/drm/panel/panel-simple.c
> > > > > > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > > > > > @@ -453,6 +453,7 @@ static int panel_dpi_probe(struct device *dev,
> > > > > >        struct panel_desc *desc;
> > > > > >        unsigned int bus_flags;
> > > > > >        struct videomode vm;
> > > > > > +     const char *mapping;
> > > > > >        int ret;
> > > > > > 
> > > > > >        np = dev->of_node;
> > > > > > @@ -477,6 +478,16 @@ static int panel_dpi_probe(struct device *dev,
> > > > > >        of_property_read_u32(np, "width-mm", &desc->size.width);
> > > > > >        of_property_read_u32(np, "height-mm", &desc->size.height);
> > > > > > 
> > > > > > +     of_property_read_string(np, "data-mapping", &mapping);
> > > > > > +     if (!strcmp(mapping, "rgb24"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB888_1X24;
> > > > > > +     else if (!strcmp(mapping, "rgb565"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB565_1X16;
> > > > > > +     else if (!strcmp(mapping, "bgr666"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X18;
> > > > > > +     else if (!strcmp(mapping, "lvds666"))
> > > > > > +             desc->bus_format = MEDIA_BUS_FMT_RGB666_1X24_CPADHI;
> > > > > 
> > > > > You're right that there's an issue, but a revert isn't the right option.
> > > > > The commit you're reverting never made it in a stable release, because
> > > > > it was deemed to not be a good enough option.
> > > > > 
> > > > > First of all, any attempt to fix this should include an update to the DT
> > > > > binding. Second, as this is about DPI panels, the LVDS option should be
> > > > > dropped. Finally, I've shared some initial thoughts in [1], maybe you
> > > > > can reply to that e-mail to continue the discussion there ?
> > > > 
> > > > According to your thoughts in [1] you mean that the bus format should be
> > > > build out of the devicetree properties bus-width and data-shift. It would
> > > > be possible for evenly structured busses like RGB888_1X24 and RGB666_1X18,
> > > > but what about a bus like RGB565_1X16, where each color has different
> > > > bus width. Also the order of the colors should be defined to differ
> > > > between busses like RGB888_1X24 and GBR888_1X24.
> > > > Are there any ideas how can this be covered?
> > > 
> > > Maybe with props like these ?
> > > 
> > > channel-width -- width of each color channel
> > > channel-shift -- shift of each color channel
> > > channel-map -- mapping of each color channel
> > > 
> > > So for RGB888
> > > channel-width = <8 8 8>;
> > > channel-shift = <0 0 0>;
> > > channel-map = "RGB"; // or something ?
> > > 
> > > For BGR565 panel connected to RGB24 scanout
> > > channel-width = <5 6 5>;
> > > channel-shift = <3 2 3>;
> > > channel-map = "BGR"; // or something ?
> > > 
> > > For BGR565 panel connected to RGB565 scanout
> > > channel-width = <5 6 5>;
> > > channel-shift = <0 0 0>;
> > > channel-map = "BGR"; // or something ?
> > > 
> > 
> > To me this looks like it goes into the wrong direction.
> > The goal is to set bus_format to one of the
> > possible enum values.
> > Using such a generic approach it would be possible to request bus
> > formats for which no enum value is currently defined, i.e. the
> > BGR565 example does not have a matching bus_format in
> > media-bus-format.h.
> > 
> > What about keeping the solution which the revert would give.
> > Optionally with a changed property name s/data-mapping/bus-format/
> > and a changed list of allowed strings to better match between the
> > dt string and the enum name, i.e. s/"rgb24"/"RGB888_1X24"/.
> > This would allow to extend DT binding and
> > code to possible newly
> > required values like e.g. MEDIA_BUS_FMT_BGR888_1X24.
> > 
> > Alternatively one could use the bus-width and data-shift
> > properties and allow for (bus-width + data-shift) to be one
> > of 16, 18, 24 and assume RGB. I.e. one could only specify
> > MEDIA_BUS_FMT_RGB565_1X16, MEDIA_BUS_FMT_RGB666_1X18,
> > MEDIA_BUS_FMT_RGB888_1X24 respectively.
> > 
> > Max
> > 
> 
> Hi Laurent,
> 
> In which direction should it go to find an acceptable solution?

Hi

I sent a proposal as RFC to show how this could look in the implementation.
https://lore.kernel.org/all/20220222084723.14310-1-max.krummenacher@toradex.com/

Max
> 
> Regards
> Christoph


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2022-02-22  8:53 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-01 11:07 [RFC][PATCH] Revert "drm/panel-simple: drop use of data-mapping property" Christoph Niedermaier
2022-02-01 11:07 ` Christoph Niedermaier
2022-02-02 15:42 ` Denys Drozdov
2022-02-02 15:54   ` Denys Drozdov
2022-02-02 15:54     ` Denys Drozdov
2022-02-02 23:45 ` Laurent Pinchart
2022-02-02 23:45   ` Laurent Pinchart
2022-02-03  8:01   ` (EXT) " Alexander Stein
2022-02-03  8:01     ` Alexander Stein
2022-02-08 21:27   ` Christoph Niedermaier
2022-02-08 21:27     ` Christoph Niedermaier
2022-02-08 23:52     ` Marek Vasut
2022-02-08 23:52       ` Marek Vasut
2022-02-09 13:14       ` Max Krummenacher
2022-02-09 13:14         ` Max Krummenacher
2022-02-19  9:37         ` Christoph Niedermaier
2022-02-19  9:37           ` Christoph Niedermaier
2022-02-22  8:51           ` Max
2022-02-22  8:51             ` Max

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.