All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH v4 2/2] drm: bridge: ti-sn65dsi83: Disable video burst mode for LVDS stability
@ 2026-05-30 18:51 Sean Nyekjaer
  2026-06-05 15:18 ` Luca Ceresoli
  0 siblings, 1 reply; 12+ messages in thread
From: Sean Nyekjaer @ 2026-05-30 18:51 UTC (permalink / raw)
  To: Sudarshan Shetty, luca.ceresoli
  Cc: andrzej.hajda, neil.armstrong, rfoss, Laurent.pinchart, jonas,
	jernej.skrabec, maarten.lankhorst, mripard, tzimmermann, airlied,
	simona, alexander.stein, dri-devel, linux-kernel

Hi Luca,

On Wed, May 27, 2026 at 02:27:36PM +0100, Sudarshan Shetty wrote:
> The current DSI configuration enables MIPI_DSI_MODE_VIDEO_BURST.
> while burst mode is supported by the hardware, its use
> depends on continuous clock behavior from the DSI host. In practice,
> burst mode may introduce instability depending on the host controller
> implementation, as the DSI link may transition to low-power state
> between bursts.
> 
> Testing showed improved display stability when using non-burst mode on
> affected panels.
> 
> Remove MIPI_DSI_MODE_VIDEO_BURST and use non-burst video mode.
> 

We briefly talked about this at Embedded Recipes
I promised to sent a link:
https://lore.kernel.org/all/E35054BA-FBE5-4CEE-905C-1F5D20140590@geanix.com/

When burst mode is enabled, the LVDS clock gets way to high for my
panel. I don't know if it's the DSI controller in the STM32MP1 or
something not supported on the TI side.

We have been running with this fix for 2 years :)

> Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
> Signed-off-by: Sudarshan Shetty <tessolveupstream@gmail.com>

Tested-by: Sean Nyekjaer <sean@geanix.com>

> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi83.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> index c03ff1ea9df8..6b5a6019c30d 100644
> --- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> +++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
> @@ -976,8 +976,8 @@ 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 |
> -			  MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET;
> +	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_NO_HSA |
> +			  MIPI_DSI_MODE_NO_EOT_PACKET;
>  
>  	ret = devm_mipi_dsi_attach(dev, dsi);
>  	if (ret < 0) {
> -- 
> 2.34.1
> 


^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH v4 0/2] drm: bridge: ti-sn65dsi83: Fix DSI mode flags for stable LVDS output
@ 2026-05-27  8:57 Sudarshan Shetty
  2026-05-27  8:57 ` [PATCH v4 2/2] drm: bridge: ti-sn65dsi83: Disable video burst mode for LVDS stability Sudarshan Shetty
  0 siblings, 1 reply; 12+ messages in thread
From: Sudarshan Shetty @ 2026-05-27  8:57 UTC (permalink / raw)
  To: andrzej.hajda, neil.armstrong, rfoss
  Cc: Laurent.pinchart, jonas, jernej.skrabec, luca.ceresoli,
	maarten.lankhorst, mripard, tzimmermann, airlied, simona,
	alexander.stein, dri-devel, linux-kernel, Sudarshan Shetty

Hi all,
 
This patch refines dual-link LVDS support in the SN65DSI83/84
DSI-to-LVDS bridge driver.
 
Recent upstream changes added support for dual-link LVDS timing
adjustments and related fixes:
 - Halving horizontal timing parameters
 - Test pattern handling adjustments
 - DSI clock range correction
 
However, during validation on our platform, LVDS output remained
unstable for certain panels due to the DSI mode configuration.
 
Specifically, the following flags were found to cause issues:
 
 - MIPI_DSI_MODE_VIDEO_NO_HFP
 - MIPI_DSI_MODE_VIDEO_NO_HBP
 
These disable transmission of horizontal front porch (HFP) and
back porch (HBP) timings over the DSI link. The SN65DSI bridge
relies on complete horizontal timing information to reconstruct
LVDS timings, and omitting these parameters results in incorrect
or unstable output.

Reference:
SN65DSI84 Datasheet, Section 7.4.7 (page 20):
https://www.ti.com/lit/ds/symlink/sn65dsi84.pdf?ts=1776924088430&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FSN65DSI84

Additionally:
 
 - MIPI_DSI_MODE_VIDEO_BURST
 
While supported by the hardware, burst mode operation depends on
continuous clocking from the DSI host. In practice, this may lead
to instability depending on the host controller implementation,
as the link may transition to LP mode between bursts.
 
Removing these flags ensures that:
 - Full timing information is transmitted
 - The bridge can correctly reconstruct LVDS timings
 - Output remains stable across tested panels
 
This patch updates the DSI mode configuration accordingly.

Changes in v4:
 - Split the original patch into two separate patches:
   - Enable HFP/HBP transmission by removing
     MIPI_DSI_MODE_VIDEO_NO_HFP and
     MIPI_DSI_MODE_VIDEO_NO_HBP
   - Disable MIPI_DSI_MODE_VIDEO_BURST separately
 - Updated commit messages

Changes in v3:
 - Rebased on top of latest upstream changes
 - Dropped previously proposed dual-link DT property and related handling
   as equivalent functionality is now available upstream
 - Refined DSI mode flag configuration to ensure stable LVDS output
 - Added detailed justification for removing NO_HFP/NO_HBP and BURST mode
 
Changes in v2:
 - Introduced ti,dual-link-video-mode DT property
 - Added DT binding documentation for the new property
 - Update driver to read the DT property and apply dual-link
   configuration conditionally
 - Adjust DSI mode flags when dual-link video mode is enabled
 - Update commit messages 

Thanks,
Anusha

Sudarshan Shetty (2):
  drm: bridge: ti-sn65dsi83: Remove NO_HFP and NO_HBP mode flags for
    LVDS stability
  drm: bridge: ti-sn65dsi83: Disable video burst mode for LVDS stability

 drivers/gpu/drm/bridge/ti-sn65dsi83.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2026-06-08  8:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-30 18:51 [PATCH v4 2/2] drm: bridge: ti-sn65dsi83: Disable video burst mode for LVDS stability Sean Nyekjaer
2026-06-05 15:18 ` Luca Ceresoli
2026-06-05 16:09   ` Laurent Pinchart
2026-06-05 16:56     ` Luca Ceresoli
2026-06-05 17:31       ` Laurent Pinchart
2026-06-08  6:33         ` Sean Nyekjaer
2026-06-08  7:12       ` Maxime Ripard
2026-06-08  6:37     ` Alexander Stein
2026-06-08  7:09     ` Maxime Ripard
2026-06-08  7:14       ` Laurent Pinchart
2026-06-08  8:59         ` Maxime Ripard
  -- strict thread matches above, loose matches on Subject: below --
2026-05-27  8:57 [PATCH v4 0/2] drm: bridge: ti-sn65dsi83: Fix DSI mode flags for stable LVDS output Sudarshan Shetty
2026-05-27  8:57 ` [PATCH v4 2/2] drm: bridge: ti-sn65dsi83: Disable video burst mode for LVDS stability Sudarshan Shetty

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.