diff mbox series

drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet

Message ID 20230403190242.224490-1-marex@denx.de (mailing list archive)
State Accepted
Headers show
Series drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet | expand

Commit Message

Marek Vasut April 3, 2023, 7:02 p.m. UTC
Do not generate the HS front and back porch gaps, the HSA gap and
EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
- REVISED OCTOBER 2020", page 22, these packets are not required.
This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Michael Walle <michael@walle.cc>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Robert Foss <rfoss@kernel.org>
Cc: dri-devel@lists.freedesktop.org
---
 drivers/gpu/drm/bridge/ti-sn65dsi83.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Laurent Pinchart April 4, 2023, 3:11 a.m. UTC | #1
Hi Marek,

Thank you for the patch.

On Mon, Apr 03, 2023 at 09:02:42PM +0200, Marek Vasut wrote:
> Do not generate the HS front and back porch gaps, the HSA gap and
> EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
> - REVISED OCTOBER 2020", page 22, these packets are not required.
> This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>

I have successfully used this driver with a Raspberry Pi CM4. The VC4
DSI driver does not seem to support the newly added flags, so this patch
shouldn't have any effect there.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Jagan Teki <jagan@amarulasolutions.com>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Michael Walle <michael@walle.cc>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Robert Foss <rfoss@kernel.org>
> Cc: dri-devel@lists.freedesktop.org
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi83.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> index 91ecfbe45bf90..b60ae1dc1191d 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> @@ -642,7 +642,9 @@ static int sn65dsi83_host_attach(struct sn65dsi83 *ctx)
>  
>  	dsi->lanes = dsi_lanes;
>  	dsi->format = MIPI_DSI_FMT_RGB888;
> -	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST;
> +	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
> +			  MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP |
> +			  MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET;
>  
>  	ret = devm_mipi_dsi_attach(dev, dsi);
>  	if (ret < 0) {
Marek Vasut April 4, 2023, 11:20 a.m. UTC | #2
On 4/4/23 05:11, Laurent Pinchart wrote:
> Hi Marek,

Hi,

> Thank you for the patch.
> 
> On Mon, Apr 03, 2023 at 09:02:42PM +0200, Marek Vasut wrote:
>> Do not generate the HS front and back porch gaps, the HSA gap and
>> EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
>> - REVISED OCTOBER 2020", page 22, these packets are not required.
>> This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
> 
> I have successfully used this driver with a Raspberry Pi CM4. The VC4
> DSI driver does not seem to support the newly added flags, so this patch
> shouldn't have any effect there.

Indeed, I noticed very few controllers support those flags . Maybe over 
time we will get more of the support on controller side.
Robert Foss April 5, 2023, 11:09 a.m. UTC | #3
From: Robert Foss <rfoss@kernel.org>

On Mon, 3 Apr 2023 21:02:42 +0200, Marek Vasut wrote:
> Do not generate the HS front and back porch gaps, the HSA gap and
> EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
> - REVISED OCTOBER 2020", page 22, these packets are not required.
> This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.
> 
> 

Applied, thanks!

[1/1] drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet
      https://cgit.freedesktop.org/drm/drm-misc/commit/?id=ca161b259cc8



Rob
Francesco Dolcini Sept. 27, 2023, 6:38 a.m. UTC | #4
On Mon, Apr 03, 2023 at 09:02:42PM +0200, Marek Vasut wrote:
> Do not generate the HS front and back porch gaps, the HSA gap and
> EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
> - REVISED OCTOBER 2020", page 22, these packets are not required.
> This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>

Hello,
can you please queue up this to kernel v6.1-stable ?

commit ca161b259cc84fe1f4a2ce4c73c3832cf6f713f1
Author: Marek Vasut <marex@denx.de>
Commit: Robert Foss <rfoss@kernel.org>

    drm/bridge: ti-sn65dsi83: Do not generate HFP/HBP/HSA and EOT packet
    
    Do not generate the HS front and back porch gaps, the HSA gap and
    EOT packet, as per "SN65DSI83 datasheet SLLSEC1I - SEPTEMBER 2012
    - REVISED OCTOBER 2020", page 22, these packets are not required.
    This makes the TI SN65DSI83 bridge work with Samsung DSIM on i.MX8MN.
    
    Signed-off-by: Marek Vasut <marex@denx.de>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Robert Foss <rfoss@kernel.org>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230403190242.224490-1-marex@denx.de


It solves a real issue with some displays not working without it.

Thanks,
Francesco
diff mbox series

Patch

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index 91ecfbe45bf90..b60ae1dc1191d 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
@@ -642,7 +642,9 @@  static int sn65dsi83_host_attach(struct sn65dsi83 *ctx)
 
 	dsi->lanes = dsi_lanes;
 	dsi->format = MIPI_DSI_FMT_RGB888;
-	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST;
+	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+			  MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP |
+			  MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET;
 
 	ret = devm_mipi_dsi_attach(dev, dsi);
 	if (ret < 0) {