From: Aradhya Bhatia <aradhya.bhatia@linux.dev>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>, 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>,
Nishanth Menon <nm@ti.com>, Vignesh Raghavendra <vigneshr@ti.com>,
Devarsh Thakkar <devarsht@ti.com>,
Praneeth Bajjuri <praneeth@ti.com>, Udit Kumar <u-kumar1@ti.com>,
Jayesh Choudhary <j-choudhary@ti.com>,
DRI Development List <dri-devel@lists.freedesktop.org>,
Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v6 03/12] drm/bridge: cdns-dsi: Fix phy de-init and flag it so
Date: Mon, 13 Jan 2025 21:09:11 +0530 [thread overview]
Message-ID: <79fc67a5-ac2a-48e2-b3ae-b96b6c29191e@linux.dev> (raw)
In-Reply-To: <dqmzdxhgnabfq6zzbd424ajfd734gza5aitmk5bfswff52d76r@2swxl627az3d>
Thank you for reviewing the patches, Dmitry.
On 1/13/25 15:10, Dmitry Baryshkov wrote:
> On Sun, Jan 12, 2025 at 12:57:29AM +0530, Aradhya Bhatia wrote:
>> From: Aradhya Bhatia <a-bhatia1@ti.com>
>>
>> The driver code doesn't have a de-initialization path as yet, and so it
>> does not clear the phy_initialized flag while suspending. This is a
>> problem because after resume the driver looks at this flag to determine
>> if a Phy re-initialization is required or not. It is in fact required
>> because the hardware is resuming from a suspend, but the driver does not
>> carry out any re-initialization causing the D-Phy to not work at all.
>>
>> Add the counterpart of phy_power_on(), that is phy_power_off() from the
>> _bridge_disable() and clear the flags so that the Phy can be initialized
>> again when required.
>>
>> Move the Phy initialization from _bridge_enable() to _resume(), and
>> de-initialize during the _suspend() - so that the phy_{init, exit}()
>> take place once every resume/suspend cycle.
>
> Is it okay to call phy_init() before writing MCTL_DPHY_CFG0 ?
The phy_init() is a no-op when we look at the D-Phy driver, which does
not implement the _init() hook at all. So, in this case, all phy_init()
call ever manages to do is book-keeping. Book-keeping that isn't
required to be done every time we do a bridge enable/disable.
But despite the no-op nature of the call, I guess it would still not
make sense to call it before the reset assert done in MCTL_DPHY_CFG0.
Instead of moving it to resume(), I can keep phy_init() as is, and add
phy_exit() in the bridge disable path, instead of the suspend path.
Regards
Aradhya
>
>>
>> The order of calls still remains the same. phy_init() needs to be called
>> before phy_power_on() - which happens still. What this patch changes is
>> the frequency of the phy_init() call. Instead of it being called once
>> every bridge enable/disable cycle, it is now being called once every
>> resume/suspend cycle. This move has been considered safe after numerous
>> tests with the hardware.
>>
>> Fixes: fced5a364dee ("drm/bridge: cdns: Convert to phy framework")
>> Signed-off-by: Aradhya Bhatia <a-bhatia1@ti.com>
>> Signed-off-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
>> ---
>> drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 10 ++++++++--
>> 1 file changed, 8 insertions(+), 2 deletions(-)
>
next prev parent reply other threads:[~2025-01-13 15:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-11 19:27 [PATCH v6 00/12] drm/bridge: cdns-dsi: Fix the color-shift issue Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 01/12] drm/bridge: cdns-dsi: Fix connecting to next bridge Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 02/12] drm/bridge: cdns-dsi: Move to devm_drm_of_get_bridge() Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 03/12] drm/bridge: cdns-dsi: Fix phy de-init and flag it so Aradhya Bhatia
2025-01-13 9:40 ` Dmitry Baryshkov
2025-01-13 15:39 ` Aradhya Bhatia [this message]
2025-01-13 21:19 ` Dmitry Baryshkov
2025-01-11 19:27 ` [PATCH v6 04/12] drm/bridge: cdns-dsi: Fix the link and phy init order Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 05/12] drm/bridge: cdns-dsi: Fix the clock variable for mode_valid() Aradhya Bhatia
2025-01-13 9:40 ` Dmitry Baryshkov
2025-01-13 15:42 ` Aradhya Bhatia
2025-01-13 21:20 ` Dmitry Baryshkov
2025-01-11 19:27 ` [PATCH v6 06/12] drm/bridge: cdns-dsi: Check return value when getting default PHY config Aradhya Bhatia
2025-01-13 9:41 ` Dmitry Baryshkov
2025-01-11 19:27 ` [PATCH v6 07/12] drm/bridge: cdns-dsi: Wait for Clk and Data Lanes to be ready Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 08/12] drm/mipi-dsi: Add helper to find input format Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 09/12] drm/bridge: cdns-dsi: Support atomic bridge APIs Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 10/12] drm/bridge: cdns-dsi: Move DSI mode check to _atomic_check() Aradhya Bhatia
2025-01-13 9:13 ` Dmitry Baryshkov
2025-01-13 15:44 ` Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 11/12] drm/atomic-helper: Re-order bridge chain pre-enable and post-disable Aradhya Bhatia
2025-01-11 19:27 ` [PATCH v6 12/12] drm/bridge: cdns-dsi: Use pre_enable/post_disable to enable/disable Aradhya Bhatia
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=79fc67a5-ac2a-48e2-b3ae-b96b6c29191e@linux.dev \
--to=aradhya.bhatia@linux.dev \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=devarsht@ti.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=j-choudhary@ti.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nm@ti.com \
--cc=praneeth@ti.com \
--cc=rfoss@kernel.org \
--cc=simona@ffwll.ch \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
--cc=u-kumar1@ti.com \
--cc=vigneshr@ti.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.