* Re: [PATCH v2 0/7] drm/bridge: tc358768: Long command support [not found] <20260311-tc358768-v2-0-e75a99131bd5@ideasonboard.com> @ 2026-05-06 7:55 ` Tomi Valkeinen 2026-05-06 15:02 ` Dmitry Osipenko [not found] ` <20260311-tc358768-v2-4-e75a99131bd5@ideasonboard.com> 1 sibling, 1 reply; 3+ messages in thread From: Tomi Valkeinen @ 2026-05-06 7:55 UTC (permalink / raw) To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter, Parth Pancholi, Francesco Dolcini Cc: dri-devel, linux-kernel, João Paulo Gonçalves, Dmitry Osipenko Hi all, On 11/03/2026 09:48, Tomi Valkeinen wrote: > This series makes some small improvements to the tc358768 driver, and > then adds support for long commands, commands that have more than 8 > bytes of payload. > > This has been tested on Toradex Verdin AM62 board, with a ST7703 based > DSI panel which requires initial configuration using commands that have > 8+ bytes. > > I tested the following combinations, by observing the panel visually and > the DSI lanes with an oscilloscope: > > - HS command transfer, continuous clock > - HS command transfer, non-continuous clock > - LP command transfer, continuous clock > - LP command transfer, non-continuous clock > > All except LP + continuous clock work fine. While observing the lanes > with normal oscilloscope is a very high level and vague view of what > exactly is going on the lanes, it still looks good to me: initial > commands are sent in LP, and then video data is being sent in HS, and > clock lane is continuous. However, the panel stays black, so something > is not quite right. > > As it doesn't make sense to send commands in LP during initial > configuration, especially with longer commands, I will leave that > particular combination unresolved. I'd be interested to hear if it works > on some other panel. > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> > --- > Changes in v2: > - Add reviewed-by & tested-by tags > - Rebase on v7.0-rc2 > - Link to v1: https://lore.kernel.org/r/20251021-tc358768-v1-0-d590dc6a1a0c@ideasonboard.com Any further comments from anyone? I don't see a specific maintainer for this bridge chip, so if there are no comments I'll push this to drm-misc in the coming days. Tomi ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2 0/7] drm/bridge: tc358768: Long command support 2026-05-06 7:55 ` [PATCH v2 0/7] drm/bridge: tc358768: Long command support Tomi Valkeinen @ 2026-05-06 15:02 ` Dmitry Osipenko 0 siblings, 0 replies; 3+ messages in thread From: Dmitry Osipenko @ 2026-05-06 15:02 UTC (permalink / raw) To: Tomi Valkeinen, Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter, Parth Pancholi, Francesco Dolcini Cc: dri-devel, linux-kernel, João Paulo Gonçalves 06.05.2026 10:55, Tomi Valkeinen пишет: > Hi all, > > On 11/03/2026 09:48, Tomi Valkeinen wrote: >> This series makes some small improvements to the tc358768 driver, and >> then adds support for long commands, commands that have more than 8 >> bytes of payload. >> >> This has been tested on Toradex Verdin AM62 board, with a ST7703 based >> DSI panel which requires initial configuration using commands that have >> 8+ bytes. >> >> I tested the following combinations, by observing the panel visually and >> the DSI lanes with an oscilloscope: >> >> - HS command transfer, continuous clock >> - HS command transfer, non-continuous clock >> - LP command transfer, continuous clock >> - LP command transfer, non-continuous clock >> >> All except LP + continuous clock work fine. While observing the lanes >> with normal oscilloscope is a very high level and vague view of what >> exactly is going on the lanes, it still looks good to me: initial >> commands are sent in LP, and then video data is being sent in HS, and >> clock lane is continuous. However, the panel stays black, so something >> is not quite right. >> >> As it doesn't make sense to send commands in LP during initial >> configuration, especially with longer commands, I will leave that >> particular combination unresolved. I'd be interested to hear if it works >> on some other panel. >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> >> --- >> Changes in v2: >> - Add reviewed-by & tested-by tags >> - Rebase on v7.0-rc2 >> - Link to v1: https://lore.kernel.org/r/20251021-tc358768-v1-0- >> d590dc6a1a0c@ideasonboard.com > Any further comments from anyone? I don't see a specific maintainer for > this bridge chip, so if there are no comments I'll push this to drm-misc > in the coming days. No objections ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20260311-tc358768-v2-4-e75a99131bd5@ideasonboard.com>]
* Re: [PATCH v2 4/7] drm/bridge: tc358768: Support non-continuous clock [not found] ` <20260311-tc358768-v2-4-e75a99131bd5@ideasonboard.com> @ 2026-05-06 15:23 ` Dmitry Osipenko 0 siblings, 0 replies; 3+ messages in thread From: Dmitry Osipenko @ 2026-05-06 15:23 UTC (permalink / raw) To: Tomi Valkeinen, Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart, Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter, Parth Pancholi, Francesco Dolcini Cc: dri-devel, linux-kernel, João Paulo Gonçalves 11.03.2026 10:48, Tomi Valkeinen пишет: > The driver prints a warning if MIPI_DSI_CLOCK_NON_CONTINUOUS is set, and > falls back to continuous clock mode. This was added in commit > fbc5a90e82c1 ("drm/bridge: tc358768: Disable non-continuous clock mode"). > > However, there have been multiple changes to the driver since then, and > at least in my setup, non-continuous clock mode works: I can see an > image on the panel, and I can see the clock lanes being non-continuous > with an oscilloscope. > > So, let's enable MIPI_DSI_CLOCK_NON_CONTINUOUS support. > > Cc: Dmitry Osipenko <digetx@gmail.com> > Tested-by: João Paulo Gonçalves <joao.goncalves@toradex.com> # Toradex Verdin AM62 > Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com> > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> > --- > drivers/gpu/drm/bridge/tc358768.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c > index 755ed6483b2e..a276fbc75dde 100644 > --- a/drivers/gpu/drm/bridge/tc358768.c > +++ b/drivers/gpu/drm/bridge/tc358768.c > @@ -722,7 +722,6 @@ static void tc358768_bridge_atomic_pre_enable(struct drm_bridge *bridge, > { > struct tc358768_priv *priv = bridge_to_tc358768(bridge); > struct mipi_dsi_device *dsi_dev = priv->output.dev; > - unsigned long mode_flags = dsi_dev->mode_flags; > u32 val, mask, val2, lptxcnt, hact, data_type; > s32 raw_val; > struct drm_crtc_state *crtc_state; > @@ -744,11 +743,6 @@ static void tc358768_bridge_atomic_pre_enable(struct drm_bridge *bridge, > u32 dsi_vsdly; > const u32 internal_dly = 40; > > - if (mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) { > - dev_warn_once(dev, "Non-continuous mode unimplemented, falling back to continuous\n"); > - mode_flags &= ~MIPI_DSI_CLOCK_NON_CONTINUOUS; > - } > - > tc358768_hw_enable(priv); > > ret = tc358768_sw_reset(priv); > @@ -1032,7 +1026,7 @@ static void tc358768_bridge_atomic_pre_enable(struct drm_bridge *bridge, > tc358768_write(priv, TC358768_HSTXVREGEN, val); > > tc358768_write(priv, TC358768_TXOPTIONCNTRL, > - (mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) ? 0 : BIT(0)); > + (dsi_dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) ? 0 : BIT(0)); > > /* TXTAGOCNT[26:16] RXTASURECNT[10:0] */ > val = tc358768_ps_to_ns((lptxcnt + 1) * hsbyteclk_ps * 4); > @@ -1099,7 +1093,7 @@ static void tc358768_bridge_atomic_pre_enable(struct drm_bridge *bridge, > > val |= TC358768_DSI_CONTROL_TXMD; > > - if (!(mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) > + if (!(dsi_dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) > val |= TC358768_DSI_CONTROL_HSCKMD; > > if (dsi_dev->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET) > Acked-by: Dmitry Osipenko <digetx@gmail.com> ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-05-06 15:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260311-tc358768-v2-0-e75a99131bd5@ideasonboard.com>
2026-05-06 7:55 ` [PATCH v2 0/7] drm/bridge: tc358768: Long command support Tomi Valkeinen
2026-05-06 15:02 ` Dmitry Osipenko
[not found] ` <20260311-tc358768-v2-4-e75a99131bd5@ideasonboard.com>
2026-05-06 15:23 ` [PATCH v2 4/7] drm/bridge: tc358768: Support non-continuous clock Dmitry Osipenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox