[PATCH v3 0/2] Use "ref" clocks from firmware for DSI PLL VCO parent

From: Marijn Suijten
Date: Sat Sep 11 2021 - 09:27:12 EST


All DSI PHY/PLL drivers were referencing their VCO parent clock by a
global name, most of which don't exist or have been renamed. These
clock drivers seem to function fine without that except the 14nm driver
for sdm6xx [1].

At the same time all DTs provide a "ref" clock as per the requirements
of dsi-phy-common.yaml, but the clock is never used. This patchset puts
that clock to use without relying on a global clock name, so that all
dependencies are explicitly defined in DT (the firmware) in the end.

[1]: https://lore.kernel.org/linux-arm-msm/386db1a6-a1cd-3c7d-a88e-dc83f8a1be96@xxxxxxxxxxxxxx/

Changes since v2:
- Added Stephen's a-b and Angelo's r-bs;
- Added .name fallback in msm8974's dsi_phy_28nm for a more graceful
transition period;
- Documented possible breakage in 1/2 if firmware isn't updated in
parallel with the kernel.

Changes since v1:
- Dropped "arm: dts: qcom: apq8064: Use 27MHz PXO clock as DSI PLL
reference" which has made its way into 5.15-fixes in advance of this
patchset landing in 5.16;
- Added Fixes: tags for commits that added missing "ref" clocks to DT
while this firmware clock was never used (until this patchset);
- Documented missing/wrong and later-added clocks (by aforementioned
patches) in patch 1/2 more clearly.

Marijn Suijten (2):
drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent
clk: qcom: gcc-sdm660: Remove transient global "xo" clock

drivers/clk/qcom/gcc-sdm660.c | 14 --------------
drivers/gpu/drm/msm/dsi/phy/dsi_phy_10nm.c | 4 +++-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_14nm.c | 4 +++-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm.c | 4 +++-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_28nm_8960.c | 4 +++-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 4 +++-
6 files changed, 15 insertions(+), 19 deletions(-)

--
2.33.0