drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG1 against clock driver
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 14 Feb 2025 15:08:42 +0000 (16:08 +0100)
committerAbhinav Kumar <quic_abhinavk@quicinc.com>
Sat, 15 Feb 2025 19:46:42 +0000 (11:46 -0800)
commit5a97bc924ae0804b8dbf627e357acaa5ef761483
tree26af34c66aad4d7126bb9388f081431a336e4897
parent588257897058a0b1aa47912db4fe93c6ff5e3887
drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG1 against clock driver

PHY_CMN_CLK_CFG1 register is updated by the PHY driver and by a mux
clock from Common Clock Framework:
devm_clk_hw_register_mux_parent_hws().  There could be a path leading to
concurrent and conflicting updates between PHY driver and clock
framework, e.g. changing the mux and enabling PLL clocks.

Add dedicated spinlock to be sure all PHY_CMN_CLK_CFG1 updates are
synchronized.

While shuffling the code, define and use PHY_CMN_CLK_CFG1 bitfields to
make the code more readable and obvious.

Fixes: 1ef7c99d145c ("drm/msm/dsi: add support for 7nm DSI PHY/PLL")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Patchwork: https://patchwork.freedesktop.org/patch/637378/
Link: https://lore.kernel.org/r/20250214-drm-msm-phy-pll-cfg-reg-v3-2-0943b850722c@linaro.org
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c
drivers/gpu/drm/msm/registers/display/dsi_phy_7nm.xml