[<prev] [next>] [day] [month] [year] [list]
Message-ID: <bhkn6hley4xrol5o3ytn343h4unkwsr26p6s6ltcwexnrsjsdx@mgkdf6ztow42>
Date: Mon, 10 Nov 2025 16:03:51 -0300
From:
João Paulo Gonçalves <jpaulo.silvagoncalves@...il.com>
To: Herve Codina <herve.codina@...tlin.com>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>, Jonas Karlman <jonas@...boo.se>,
Jernej Skrabec <jernej.skrabec@...il.com>, Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
Tomi Valkeinen <tomi.valkeinen@...asonboard.com>,
João Paulo Gonçalves <joao.goncalves@...adex.com>, linux-kernel@...r.kernel.org, regressions@...ts.linux.dev
Subject: [REGRESSION] TI SN65DSI83 is being reset making display to blink
On/Off
Hello,
After commit ad5c6ecef27e ("drm: bridge: ti-sn65dsi83: Add error
recovery mechanism"), our DSI display stopped working correctly. The
display internally uses a TI SN65DSI83 to convert DSI-to-LVDS, and with
the change, it keeps blinking on and off because the bridge is being
reset by the error recovery mechanism.
Even before the change, it was possible to see the message below from
the driver indicating that the bridge's internal PLL was not locked
(register 0xE5, bit 0 in [1]):
[ 11.198616] sn65dsi83 2-002c: Unexpected link status 0x01
However, it was working. After the change, it stopped working. Masking
the PLL error makes it work again:
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index 033c44326552..89a0a2ab45b1 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
+++ b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
@@ -429,7 +429,7 @@ static void sn65dsi83_handle_errors(struct sn65dsi83 *ctx)
*/
ret = regmap_read(ctx->regmap, REG_IRQ_STAT, &irq_stat);
- if (ret || irq_stat) {
+ if (ret || (irq_stat & ~REG_IRQ_STAT_CHA_PLL_UNLOCK)) {
/*
* IRQ acknowledged is not always possible (the bridge can be in
* a state where it doesn't answer anymore). To prevent an
Any suggestions on how to proceed here?
#regzbot introduced: ad5c6ecef27e
[1] https://www.ti.com/lit/ds/symlink/sn65dsi83.pdf
Best Regards,
João Paulo Gonçalves
Powered by blists - more mailing lists