On Wed, Jul 09, 2025 at 04:08:36PM +0200, Loic Poulain wrote: > To configure and enable the DSI PHY PLL clocks, the MDSS AHB clock must > be active for MMIO operations. Typically, this AHB clock is enabled as > part of the DSI PHY interface enabling (dsi_phy_enable_resource). > > However, since these PLL clocks are registered as clock entities, they > can be enabled independently of the DSI PHY interface, leading to > enabling failures and subsequent warnings: > > ``` > msm_dsi_phy 5e94400.phy: [drm:dsi_pll_14nm_vco_prepare] *ERROR* DSI PLL lock > failed > ------------[ cut here ]------------ > dsi0pllbyte already disabled > WARNING: CPU: 3 PID: 1 at drivers/clk/clk.c:1194 clk_core_disable+0xa4/0xac > CPU: 3 UID: 0 PID: 1 Comm: swapper/0 Tainted: > Tainted: [W]=WARN > Hardware name: Qualcomm Technologies, Inc. Robotics RB1 (DT) > pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [...] > ``` > > This issue is particularly prevalent at boot time during the disabling of > unused clocks (clk_disable_unused()) which includes enabling the parent > clock(s) when CLK_OPS_PARENT_ENABLE flag is set (this is the case for the > 14nm DSI PHY PLL consumers). > > To resolve this issue, we move the AHB clock as a PM dependency of the DSI > PHY device (via pm_clk). Since the DSI PHY device is the parent of the PLL > clocks, this resolves the PLL/AHB dependency. Now the AHB clock is enabled > prior the PLL clk_prepare callback, as part of the runtime-resume chain. > > We also eliminate dsi_phy_[enable|disable]_resource functions, which are > superseded by runtime PM. > > Note that it breaks compatibility with kernels before 6.0, as we do not > support anymore the legacy `iface_clk` name. > > Signed-off-by: Loic Poulain <[email protected]> > --- > v3: Drop extra pm_runtime calls from probe > Reword resume error on message > Document compatibility break > > v2: Move AHB clock into a proper PM dep instead of manually toggling it > from the PLL clock driver. > > drivers/gpu/drm/msm/dsi/phy/dsi_phy.c | 59 ++++++++------------------- > drivers/gpu/drm/msm/dsi/phy/dsi_phy.h | 1 - > 2 files changed, 18 insertions(+), 42 deletions(-)
Reviewed-by: Dmitry Baryshkov <[email protected]> -- With best wishes Dmitry
