[PATCH v1] drm/bridge: ti-sn65dsi86: Transition to LP mode on every video line

Emanuele Ghidoli posted 1 patch 2 weeks, 1 day ago
drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH v1] drm/bridge: ti-sn65dsi86: Transition to LP mode on every video line
Posted by Emanuele Ghidoli 2 weeks, 1 day ago
From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>

The component datasheet recommends, to reduce power consumption,
transitioning to LP mode on every video line.

Enable the MIPI_DSI_MODE_VIDEO_NO_HFP and MIPI_DSI_MODE_VIDEO_NO_HBP
flags so that the bridge can enter LP mode during the horizontal front
porch and back porch periods.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
---
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Andrzej Hajda <andrzej.hajda@intel.com>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Robert Foss <rfoss@kernel.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Jayesh Choudhary <j-choudhary@ti.com>
Cc: <dri-devel@lists.freedesktop.org>
Cc: <linux-kernel@vger.kernel.org>
---
 drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
index ae0d08e5e960..957e9abd46c3 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c
@@ -689,7 +689,8 @@ static int ti_sn_attach_host(struct auxiliary_device *adev, struct ti_sn65dsi86
 	/* TODO: setting to 4 MIPI lanes always for now */
 	dsi->lanes = 4;
 	dsi->format = MIPI_DSI_FMT_RGB888;
-	dsi->mode_flags = MIPI_DSI_MODE_VIDEO;
+	dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_NO_HFP |
+			  MIPI_DSI_MODE_VIDEO_NO_HBP;
 
 	/* check if continuous dsi clock is required or not */
 	pm_runtime_get_sync(dev);
-- 
2.43.0
Re: [PATCH v1] drm/bridge: ti-sn65dsi86: Transition to LP mode on every video line
Posted by Doug Anderson 2 weeks, 1 day ago
Hi,

On Tue, Sep 16, 2025 at 7:22 AM Emanuele Ghidoli
<ghidoliemanuele@gmail.com> wrote:
>
> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>
> The component datasheet recommends, to reduce power consumption,
> transitioning to LP mode on every video line.
>
> Enable the MIPI_DSI_MODE_VIDEO_NO_HFP and MIPI_DSI_MODE_VIDEO_NO_HBP
> flags so that the bridge can enter LP mode during the horizontal front
> porch and back porch periods.
>
> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> ---
> Cc: Douglas Anderson <dianders@chromium.org>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> Cc: Robert Foss <rfoss@kernel.org>
> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> Cc: Jonas Karlman <jonas@kwiboo.se>
> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona@ffwll.ch>
> Cc: Jayesh Choudhary <j-choudhary@ti.com>
> Cc: <dri-devel@lists.freedesktop.org>
> Cc: <linux-kernel@vger.kernel.org>
> ---
>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

I put this on a sc7180-trogdor based Chromebook and the display no
longer comes up. I don't personally know the MIPI side of the spec too
well so I have no idea why that would be.

-Doug
Re: [PATCH v1] drm/bridge: ti-sn65dsi86: Transition to LP mode on every video line
Posted by Emanuele Ghidoli 2 weeks, 1 day ago

On 16/09/2025 16:45, Doug Anderson wrote:
> Hi,
> 
> On Tue, Sep 16, 2025 at 7:22 AM Emanuele Ghidoli
> <ghidoliemanuele@gmail.com> wrote:
>>
>> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>>
>> The component datasheet recommends, to reduce power consumption,
>> transitioning to LP mode on every video line.
>>
>> Enable the MIPI_DSI_MODE_VIDEO_NO_HFP and MIPI_DSI_MODE_VIDEO_NO_HBP
>> flags so that the bridge can enter LP mode during the horizontal front
>> porch and back porch periods.
>>
>> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
>> ---
>> Cc: Douglas Anderson <dianders@chromium.org>
>> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
>> Cc: Neil Armstrong <neil.armstrong@linaro.org>
>> Cc: Robert Foss <rfoss@kernel.org>
>> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
>> Cc: Jonas Karlman <jonas@kwiboo.se>
>> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: David Airlie <airlied@gmail.com>
>> Cc: Simona Vetter <simona@ffwll.ch>
>> Cc: Jayesh Choudhary <j-choudhary@ti.com>
>> Cc: <dri-devel@lists.freedesktop.org>
>> Cc: <linux-kernel@vger.kernel.org>
>> ---
>>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> I put this on a sc7180-trogdor based Chromebook and the display no
> longer comes up. I don't personally know the MIPI side of the spec too
> well so I have no idea why that would be.
> 
> -Doug

Hi Doug,
thanks for the test.
According to the datasheet, LP is recommended for the front porch and optional
for the back porch.
Could you please run another test by keeping only MIPI_DSI_MODE_VIDEO_NO_HFP
and removing MIPI_DSI_MODE_VIDEO_NO_HBP?

dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_NO_HFP;

Kind regards,
Emanuele





Re: [PATCH v1] drm/bridge: ti-sn65dsi86: Transition to LP mode on every video line
Posted by Doug Anderson 2 weeks ago
Hi,

On Tue, Sep 16, 2025 at 8:28 AM Emanuele Ghidoli
<ghidoliemanuele@gmail.com> wrote:
>
> On 16/09/2025 16:45, Doug Anderson wrote:
> > Hi,
> >
> > On Tue, Sep 16, 2025 at 7:22 AM Emanuele Ghidoli
> > <ghidoliemanuele@gmail.com> wrote:
> >>
> >> From: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> >>
> >> The component datasheet recommends, to reduce power consumption,
> >> transitioning to LP mode on every video line.
> >>
> >> Enable the MIPI_DSI_MODE_VIDEO_NO_HFP and MIPI_DSI_MODE_VIDEO_NO_HBP
> >> flags so that the bridge can enter LP mode during the horizontal front
> >> porch and back porch periods.
> >>
> >> Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
> >> ---
> >> Cc: Douglas Anderson <dianders@chromium.org>
> >> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> >> Cc: Neil Armstrong <neil.armstrong@linaro.org>
> >> Cc: Robert Foss <rfoss@kernel.org>
> >> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
> >> Cc: Jonas Karlman <jonas@kwiboo.se>
> >> Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
> >> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >> Cc: Maxime Ripard <mripard@kernel.org>
> >> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> >> Cc: David Airlie <airlied@gmail.com>
> >> Cc: Simona Vetter <simona@ffwll.ch>
> >> Cc: Jayesh Choudhary <j-choudhary@ti.com>
> >> Cc: <dri-devel@lists.freedesktop.org>
> >> Cc: <linux-kernel@vger.kernel.org>
> >> ---
> >>  drivers/gpu/drm/bridge/ti-sn65dsi86.c | 3 ++-
> >>  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > I put this on a sc7180-trogdor based Chromebook and the display no
> > longer comes up. I don't personally know the MIPI side of the spec too
> > well so I have no idea why that would be.
> >
> > -Doug
>
> Hi Doug,
> thanks for the test.
> According to the datasheet, LP is recommended for the front porch and optional
> for the back porch.
> Could you please run another test by keeping only MIPI_DSI_MODE_VIDEO_NO_HFP
> and removing MIPI_DSI_MODE_VIDEO_NO_HBP?
>
> dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_NO_HFP;

With just MIPI_DSI_MODE_VIDEO_NO_HFP:
-> Display doesn't work

With just MIPI_DSI_MODE_VIDEO_NO_HBP:
-> Display doesn't work

So if I set _either_ flag (or both) then the display doesn't work (it
just comes up black). If I set neither flag then things are still OK.

...and, if it helps, when the screen isn't working I can still force
the color bars to show up with:

i2cset -f -y 2 0x2d 0x3c 0x10

...so I know that the device has probed OK and the eDP side of things is OK.

-Doug