From: "Luca Ceresoli" <luca.ceresoli@bootlin.com>
To: "Francesco Dolcini" <francesco@dolcini.it>,
"Herve Codina" <herve.codina@bootlin.com>
Cc: "João Paulo Gonçalves" <jpaulo.silvagoncalves@gmail.com>,
"Andrzej Hajda" <andrzej.hajda@intel.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Robert Foss" <rfoss@kernel.org>,
"Laurent Pinchart" <Laurent.pinchart@ideasonboard.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
"João Paulo Gonçalves" <joao.goncalves@toradex.com>,
linux-kernel@vger.kernel.org, regressions@lists.linux.dev,
thomas.petazzoni@bootlin.com
Subject: Re: [REGRESSION] TI SN65DSI83 is being reset making display to blink On/Off
Date: Mon, 17 Nov 2025 16:27:28 +0100 [thread overview]
Message-ID: <DEB2QIR2RB1C.3IQC9WYGAUVZC@bootlin.com> (raw)
In-Reply-To: <20251113091910.GA15538@francesco-nb>
Hello João, Francesco,
On Thu Nov 13, 2025 at 10:19 AM CET, Francesco Dolcini wrote:
> On Thu, Nov 13, 2025 at 08:49:50AM +0100, Herve Codina wrote:
>> On Mon, 10 Nov 2025 16:03:51 -0300
>> João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com> wrote:
>> > 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
>> >
>>
>> The PLL should be locked.
>>
>> Also in the datasheet, in 'Table 7-2. Initialization Sequence', the status
>> is checked at the end of the initialization sequence and the sequence has to
>> be done again when the status register value is not 0x00.
>>
>> Even before monitoring (irq or polling method), you have an issue with your PLL
>> mentioned with the "sn65dsi83 2-002c: Unexpected link status 0x01" message.
>>
>> I don't understand even how your panel can be correctly driven with the bridge
>> PLL unlock.
>
> We'll try to figure out the reason and see what's the best path forward.
>
> Whatever was the reason it was working before, and it should stay
> working
I agree with Hervé that using the chip with an unlocked PLL looks dangerous
and totally out of spec. So I encourage you to investigate what is going on
in the hardware looking for the root cause, checking whether the PLL is
really unlocked and how to get it working properly.
The driver should be definitely be written focusing on the nominal case and
handle out-of-spec cases as an exception, not the other way around.
I also agree your hardware should not stop working when upgrading to a new
kernel, so this investigation would ideally nail down tha root cause and
point to a solution in a very short time.
Hervé has matured quite some experience on SN65DSI84 error management,
leading to his error recovery patch, and I also have a board with that chip
on my desk. So we may be helpful in discussion, as well as reviewing and
testing patches.
Best regards,
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2025-11-17 15:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-10 19:03 [REGRESSION] TI SN65DSI83 is being reset making display to blink On/Off João Paulo Gonçalves
2025-11-13 7:49 ` Herve Codina
2025-11-13 9:19 ` Francesco Dolcini
2025-11-17 15:27 ` Luca Ceresoli [this message]
2025-11-18 16:56 ` Maxime Ripard
2025-11-19 7:51 ` Herve Codina
2025-11-19 8:40 ` Maxime Ripard
2025-11-19 9:39 ` Tomi Valkeinen
2025-11-19 10:08 ` Luca Ceresoli
2025-11-19 11:12 ` Francesco Dolcini
2025-11-19 12:09 ` Tomi Valkeinen
2025-11-19 12:24 ` Francesco Dolcini
2025-11-19 17:27 ` Luca Ceresoli
2025-11-19 18:40 ` Herve Codina
2025-11-20 9:50 ` Philippe Schenker
2025-11-21 9:58 ` Maxime Ripard
2025-11-24 12:12 ` Luca Ceresoli
2025-11-24 14:12 ` Luca Ceresoli
2025-11-24 16:44 ` Emanuele Ghidoli
2025-11-24 15:55 ` Maxime Ripard
2025-11-24 17:00 ` Luca Ceresoli
2025-11-21 9:57 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DEB2QIR2RB1C.3IQC9WYGAUVZC@bootlin.com \
--to=luca.ceresoli@bootlin.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=francesco@dolcini.it \
--cc=herve.codina@bootlin.com \
--cc=jernej.skrabec@gmail.com \
--cc=joao.goncalves@toradex.com \
--cc=jonas@kwiboo.se \
--cc=jpaulo.silvagoncalves@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=regressions@lists.linux.dev \
--cc=rfoss@kernel.org \
--cc=simona@ffwll.ch \
--cc=thomas.petazzoni@bootlin.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox