All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luca Ceresoli" <luca.ceresoli@bootlin.com>
To: "Francesco Dolcini" <francesco@dolcini.it>,
	"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>
Cc: "Francesco Dolcini" <francesco.dolcini@toradex.com>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	"João Paulo Gonçalves" <jpaulo.silvagoncalves@gmail.com>,
	stable@vger.kernel.org, "Herve Codina" <herve.codina@bootlin.com>,
	"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
	"Emanuele Ghidoli" <emanuele.ghidoli@toradex.com>
Subject: Re: [PATCH v1] Revert "drm: bridge: ti-sn65dsi83: Add error recovery mechanism"
Date: Thu, 27 Nov 2025 09:46:07 +0100	[thread overview]
Message-ID: <DEJCGODDOTXT.QT2J4E31GUVW@bootlin.com> (raw)
In-Reply-To: <20251125103900.31750-1-francesco@dolcini.it>

Hello Francesco, all,

On Tue Nov 25, 2025 at 11:38 AM CET, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
>
> This reverts commit ad5c6ecef27e ("drm: bridge: ti-sn65dsi83: Add error
> recovery mechanism").
>
> The reverted commit introduces a regression on Verdin AM62, and
> potentially on more devices, not being able to generate a clock
> that the TI SN65DSI83 PLL can lock to, with the display periodically
> blinking.
>
> Verdin AM62 SoM has a Toshiba TC358778 DPI to DSI bridge, that can be
> connected to an LVDS display over a TI SN65DSI83 bridge. Before this
> change despite the TI SN65DSI83 reporting with a debug print a PLL
> locking error the display was working fine with no visible glitches.
>
> The reasons for this issue was investigated without getting to a final
> conclusion:
>
>  - the DPI clock was measure and it is stable/accurate
>  - the DSI clock was not possible to measure, but this setup is used
>    with other display/bridges with no known issues
>  - the DSI clock is configured in continuous mode
>  - the actual DSI clock generated from the TC358778 is generate with a
>    PLL from a 25MHz reference clock
>  - it's not clear why some frequencies are working and some are not, for
>    example 50000000, 68750000, 72750000, 75000000 frequencies are fine,
>    while 69750000, 71100000, 72500000 are not
>
> Given that the safest approach is to just revert the commit, till a
> proper solution for error recovery that is not introducing regression
> is figured out.
>
> Reported-by: João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com>
> Closes: https://lore.kernel.org/all/bhkn6hley4xrol5o3ytn343h4unkwsr26p6s6ltcwexnrsjsdx@mgkdf6ztow42/
> Fixes: ad5c6ecef27e ("drm: bridge: ti-sn65dsi83: Add error recovery mechanism")
> Cc: stable@vger.kernel.org
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>

Thanks for having sent this revert patch.

However after evaluating the overall situation I decided to send a
different patch to address this issue in the short term. The idea is to
just ignore the PLL_UNLOCK error, keeping the existing
structure. Rationale:

 * this sloves the issue for Toradex, based on João's initial report
 * there is no evidence of any bugs in the recovery mechanism, it's
   just exposing a pre-existing problem that was only producing a
   non-fatal dev_err() before
 * a full revert would remove error checking for all errors, including
   those not creating any issue, thus removing a useful feature
 * a full revert would require rewriting patches such as [0] (not a big
   deal per se, but see next bullet)
 * after patches such as [0] are applied, re-adding the error recovery
   mechanism would require another rework, so more work for authors,
   reviewers, testers and maintainers

[0] https://lore.kernel.org/lkml/20251112-drm-bridge-atomic-vs-remove-v3-2-85db717ce094@bootlin.com/

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2025-11-27  8:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-25 10:38 [PATCH v1] Revert "drm: bridge: ti-sn65dsi83: Add error recovery mechanism" Francesco Dolcini
2025-11-27  8:46 ` Luca Ceresoli [this message]
2025-12-01 16:36   ` Maxime Ripard
2025-12-01 17:40     ` Herve Codina

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=DEJCGODDOTXT.QT2J4E31GUVW@bootlin.com \
    --to=luca.ceresoli@bootlin.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@gmail.com \
    --cc=andrzej.hajda@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emanuele.ghidoli@toradex.com \
    --cc=francesco.dolcini@toradex.com \
    --cc=francesco@dolcini.it \
    --cc=herve.codina@bootlin.com \
    --cc=jernej.skrabec@gmail.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=rfoss@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=stable@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.