From: Francesco Dolcini <francesco@dolcini.it>
To: Neil Armstrong <neil.armstrong@linaro.org>
Cc: Francesco Dolcini <francesco@dolcini.it>,
Andrzej Hajda <andrzej.hajda@intel.com>,
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>,
Francesco Dolcini <francesco.dolcini@toradex.com>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH v1] drm/bridge: tc358768: Fix DSI command tx
Date: Thu, 14 Nov 2024 10:57:54 +0100 [thread overview]
Message-ID: <20241114095754.GA23530@francesco-nb> (raw)
In-Reply-To: <e28f88ca-357b-4751-8b37-c324ff40f9f5@linaro.org>
Hello Neil,
On Wed, Oct 23, 2024 at 10:03:20AM +0200, Neil Armstrong wrote:
> On 26/09/2024 16:12, Francesco Dolcini wrote:
> > From: Francesco Dolcini <francesco.dolcini@toradex.com>
> >
> > Wait for the command transmission to be completed in the DSI transfer
> > function polling for the dc_start bit to go back to idle state after the
> > transmission is started.
> >
> > This is documented in the datasheet and failures to do so lead to
> > commands corruption.
> >
> > Fixes: ff1ca6397b1d ("drm/bridge: Add tc358768 driver")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > ---
> > drivers/gpu/drm/bridge/tc358768.c | 21 +++++++++++++++++++--
> > 1 file changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc358768.c
> > index 0e8813278a2f..bb1750a3dab0 100644
> > --- a/drivers/gpu/drm/bridge/tc358768.c
> > +++ b/drivers/gpu/drm/bridge/tc358768.c
> > @@ -125,6 +125,9 @@
> > #define TC358768_DSI_CONFW_MODE_CLR (6 << 29)
> > #define TC358768_DSI_CONFW_ADDR_DSI_CONTROL (0x3 << 24)
> > +/* TC358768_DSICMD_TX (0x0600) register */
> > +#define TC358768_DSI_CMDTX_DC_START BIT(0)
> > +
> > static const char * const tc358768_supplies[] = {
> > "vddc", "vddmipi", "vddio"
> > };
> > @@ -229,6 +232,21 @@ static void tc358768_update_bits(struct tc358768_priv *priv, u32 reg, u32 mask,
> > tc358768_write(priv, reg, tmp);
> > }
> > +static void tc358768_dsicmd_tx(struct tc358768_priv *priv)
> > +{
> > + u32 val;
> > +
> > + /* start transfer */
> > + tc358768_write(priv, TC358768_DSICMD_TX, TC358768_DSI_CMDTX_DC_START);
> > + if (priv->error)
> > + return;
> > +
> > + /* wait transfer completion */
> > + priv->error = regmap_read_poll_timeout(priv->regmap, TC358768_DSICMD_TX, val,
> > + (val & TC358768_DSI_CMDTX_DC_START) == 0,
> > + 100, 100000);
> > +}
> > +
> > static int tc358768_sw_reset(struct tc358768_priv *priv)
> > {
> > /* Assert Reset */
> > @@ -516,8 +534,7 @@ static ssize_t tc358768_dsi_host_transfer(struct mipi_dsi_host *host,
> > }
> > }
> > - /* start transfer */
> > - tc358768_write(priv, TC358768_DSICMD_TX, 1);
> > + tc358768_dsicmd_tx(priv);
> > ret = tc358768_clear_error(priv);
> > if (ret)
>
> Look good, I'll leave it here a few days if someone has comments
Just a gently reminder, thanks
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Francesco
next prev parent reply other threads:[~2024-11-14 9:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-26 14:12 [PATCH v1] drm/bridge: tc358768: Fix DSI command tx Francesco Dolcini
2024-10-22 17:11 ` Francesco Dolcini
2024-10-23 8:03 ` Neil Armstrong
2024-11-14 9:57 ` Francesco Dolcini [this message]
2024-11-14 16:40 ` Neil Armstrong
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=20241114095754.GA23530@francesco-nb \
--to=francesco@dolcini.it \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=francesco.dolcini@toradex.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--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=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.