* 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
* 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