[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAA8EJpqt5FVjP+MP6kf6KaMi_OtEXQ2FgoqVfJCxRuLGfMOkFg@mail.gmail.com>
Date: Mon, 17 Jun 2024 22:34:37 +0300
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Aradhya Bhatia <a-bhatia1@...com>
Cc: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>,
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>,
Jyri Sarha <jyri.sarha@....fi>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>,
DRI Development List <dri-devel@...ts.freedesktop.org>,
Linux Kernel List <linux-kernel@...r.kernel.org>, Dominik Haller <d.haller@...tec.de>,
Sam Ravnborg <sam@...nborg.org>, Thierry Reding <treding@...dia.com>,
Kieran Bingham <kieran.bingham+renesas@...asonboard.com>, Nishanth Menon <nm@...com>,
Vignesh Raghavendra <vigneshr@...com>, Praneeth Bajjuri <praneeth@...com>, Udit Kumar <u-kumar1@...com>,
Devarsh Thakkar <devarsht@...com>, Jayesh Choudhary <j-choudhary@...com>, Jai Luthra <j-luthra@...com>
Subject: Re: [PATCH v3 02/10] drm/bridge: cdns-dsi: Fix the phy_initialized variable
On Mon, 17 Jun 2024 at 17:16, Aradhya Bhatia <a-bhatia1@...com> wrote:
>
> Hi Dmitry,
>
> Thanks for reviewing the patches!
>
> On 17/06/24 17:29, Dmitry Baryshkov wrote:
> > On Mon, Jun 17, 2024 at 04:23:03PM GMT, Aradhya Bhatia wrote:
> >> Update the Phy initialized state to "not initialized" when the driver
> >> (and the hardware by extension) gets suspended. This will allow the Phy
> >> to get initialized again after resume.
> >>
> >> Fixes: e19233955d9e ("drm/bridge: Add Cadence DSI driver")
> >> Signed-off-by: Aradhya Bhatia <a-bhatia1@...com>
> >> ---
> >> drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> index b016f2ba06bb..42565e253b2d 100644
> >> --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c
> >> @@ -1153,6 +1153,7 @@ static int __maybe_unused cdns_dsi_suspend(struct device *dev)
> >> clk_disable_unprepare(dsi->dsi_p_clk);
> >> reset_control_assert(dsi->dsi_p_rst);
> >> dsi->link_initialized = false;
> >
> > Most likely you should also call phy_exit() here. And in _remove() too.
>
> I agree that phy_exit should be called here. But why in _remove()?
> Wouldn't having phy_exit in 2 places mess up the internal ref count?
If suspend() is going to be called in the teardown path, then it's
fine to have just one call here. Otherwise you might add one guarded
with if (phy_initialized) to _remove() too.
>
> >
> >> + dsi->phy_initialized = false;
> >> return 0;
> >> }
> >>
> >> --
> >> 2.34.1
> >>
> >
> --
> Regards
> Aradhya
--
With best wishes
Dmitry
Powered by blists - more mailing lists