From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
dri-devel@lists.freedesktop.org,
linux-renesas-soc@vger.kernel.org,
Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Subject: Re: [PATCH v2 2/4] drm: rcar-du: dsi: Improve DSI shutdown
Date: Mon, 22 Aug 2022 17:05:17 +0300 [thread overview]
Message-ID: <YwONHTkBjVSQ47ek@pendragon.ideasonboard.com> (raw)
In-Reply-To: <38c3ce75-2dcd-38e4-0e05-151ac3faf24c@ideasonboard.com>
On Mon, Aug 22, 2022 at 04:49:02PM +0300, Tomi Valkeinen wrote:
> On 22/08/2022 16:20, Laurent Pinchart wrote:
> > Hi Tomi,
> >
> > Thank you for the patch.
> >
> > On Mon, Aug 22, 2022 at 04:05:10PM +0300, Tomi Valkeinen wrote:
> >> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
> >>
> >> Improve the DSI shutdown procedure by clearing various bits that were
> >> set while enabling the DSI output. There has been no clear issues caused
> >> by these, but it's safer to ensure that the features are disabled at the
> >> start of the next DSI enable.
> >>
> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
> >> ---
> >> drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c | 12 ++++++++++++
> >> 1 file changed, 12 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> index 7f2be490fcf8..6a10a35f1122 100644
> >> --- a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> +++ b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> @@ -441,9 +441,21 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
> >>
> >> static void rcar_mipi_dsi_shutdown(struct rcar_mipi_dsi *dsi)
> >> {
> >> + /* Disable VCLKEN */
> >> + rcar_mipi_dsi_clr(dsi, VCLKEN, VCLKEN_CKEN);
> >> +
> >> + /* Disable DOT clock */
> >> + rcar_mipi_dsi_clr(dsi, VCLKSET, VCLKSET_CKEN);
> >
> > I think you can write 0 to those two registers, this will also be safer.
> > With this,
>
> VCLKEN has only the single VCLKEN_CKEN bit and the rest of the bits are
> reserved with default value of 0, however VCLKSET has other fields and
> the default value of those fields is not 0.
But the two fields whose default value isn't 0 are set in the startup()
function (albeit incorrectly as discussed below), so it should be fine.
> Why do you think it's safer to set the whole register to 0? Isn't it
> better to just do what we want to do, which makes the purpose clear and,
> I think, is safer as we don't touch bits we don't know about?
Because it will ensure that we don't get surprises when we later restart
the device, such as mentioned below :-)
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > I think there's a bug in rcar_mipi_dsi_startup() related to this by the
> > way, the function only uses rcar_mipi_dsi_set() to set bits, so if the
> > DSI format is modified between two starts, bad things will happen.
>
> Oh, that's bad. rcar_mipi_dsi_set() is not a very good function as it's
> easy to misuse it like that. I'll make a fix for that.
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: linux-renesas-soc@vger.kernel.org,
Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
dri-devel@lists.freedesktop.org,
Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
Subject: Re: [PATCH v2 2/4] drm: rcar-du: dsi: Improve DSI shutdown
Date: Mon, 22 Aug 2022 17:05:17 +0300 [thread overview]
Message-ID: <YwONHTkBjVSQ47ek@pendragon.ideasonboard.com> (raw)
In-Reply-To: <38c3ce75-2dcd-38e4-0e05-151ac3faf24c@ideasonboard.com>
On Mon, Aug 22, 2022 at 04:49:02PM +0300, Tomi Valkeinen wrote:
> On 22/08/2022 16:20, Laurent Pinchart wrote:
> > Hi Tomi,
> >
> > Thank you for the patch.
> >
> > On Mon, Aug 22, 2022 at 04:05:10PM +0300, Tomi Valkeinen wrote:
> >> From: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
> >>
> >> Improve the DSI shutdown procedure by clearing various bits that were
> >> set while enabling the DSI output. There has been no clear issues caused
> >> by these, but it's safer to ensure that the features are disabled at the
> >> start of the next DSI enable.
> >>
> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>
> >> ---
> >> drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c | 12 ++++++++++++
> >> 1 file changed, 12 insertions(+)
> >>
> >> diff --git a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> index 7f2be490fcf8..6a10a35f1122 100644
> >> --- a/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> +++ b/drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c
> >> @@ -441,9 +441,21 @@ static int rcar_mipi_dsi_startup(struct rcar_mipi_dsi *dsi,
> >>
> >> static void rcar_mipi_dsi_shutdown(struct rcar_mipi_dsi *dsi)
> >> {
> >> + /* Disable VCLKEN */
> >> + rcar_mipi_dsi_clr(dsi, VCLKEN, VCLKEN_CKEN);
> >> +
> >> + /* Disable DOT clock */
> >> + rcar_mipi_dsi_clr(dsi, VCLKSET, VCLKSET_CKEN);
> >
> > I think you can write 0 to those two registers, this will also be safer.
> > With this,
>
> VCLKEN has only the single VCLKEN_CKEN bit and the rest of the bits are
> reserved with default value of 0, however VCLKSET has other fields and
> the default value of those fields is not 0.
But the two fields whose default value isn't 0 are set in the startup()
function (albeit incorrectly as discussed below), so it should be fine.
> Why do you think it's safer to set the whole register to 0? Isn't it
> better to just do what we want to do, which makes the purpose clear and,
> I think, is safer as we don't touch bits we don't know about?
Because it will ensure that we don't get surprises when we later restart
the device, such as mentioned below :-)
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> >
> > I think there's a bug in rcar_mipi_dsi_startup() related to this by the
> > way, the function only uses rcar_mipi_dsi_set() to set bits, so if the
> > DSI format is modified between two starts, bad things will happen.
>
> Oh, that's bad. rcar_mipi_dsi_set() is not a very good function as it's
> easy to misuse it like that. I'll make a fix for that.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2022-08-22 14:05 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-22 13:05 [PATCH v2 0/4] drm: rcar-du: DSI fixes Tomi Valkeinen
2022-08-22 13:05 ` [PATCH v2 1/4] drm: rcar-du: dsi: Properly stop video mode TX Tomi Valkeinen
2022-08-22 13:12 ` Laurent Pinchart
2022-08-22 13:12 ` Laurent Pinchart
2022-08-22 13:25 ` Biju Das
2022-08-22 14:00 ` Tomi Valkeinen
2022-08-22 14:16 ` Biju Das
2022-08-22 13:05 ` [PATCH v2 2/4] drm: rcar-du: dsi: Improve DSI shutdown Tomi Valkeinen
2022-08-22 13:20 ` Laurent Pinchart
2022-08-22 13:20 ` Laurent Pinchart
2022-08-22 13:49 ` Tomi Valkeinen
2022-08-22 13:49 ` Tomi Valkeinen
2022-08-22 14:05 ` Laurent Pinchart [this message]
2022-08-22 14:05 ` Laurent Pinchart
2022-08-22 14:19 ` Tomi Valkeinen
2022-08-22 14:19 ` Tomi Valkeinen
2022-08-22 14:28 ` Laurent Pinchart
2022-08-22 14:28 ` Laurent Pinchart
2022-08-22 13:05 ` [PATCH v2 3/4] drm: rcar-du: fix DSI enable & disable sequence Tomi Valkeinen
2022-08-22 13:40 ` Laurent Pinchart
2022-08-22 13:40 ` Laurent Pinchart
2022-08-22 19:51 ` kernel test robot
2022-08-23 3:08 ` kernel test robot
2022-08-23 19:08 ` kernel test robot
2022-08-22 13:05 ` [PATCH v2 4/4] drm: rcar-du: lvds: Rename pclk enable/disable functions Tomi Valkeinen
2022-08-22 13:52 ` Laurent Pinchart
2022-08-22 13:52 ` Laurent Pinchart
2022-08-22 13:56 ` Tomi Valkeinen
2022-08-22 13:56 ` Tomi Valkeinen
2022-08-23 20:09 ` kernel test robot
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=YwONHTkBjVSQ47ek@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kieran.bingham+renesas@ideasonboard.com \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=tomi.valkeinen+renesas@ideasonboard.com \
--cc=tomi.valkeinen@ideasonboard.com \
/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.