2022-11-07 11:50:42

by Yassine Oudjana

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: msm8996pro-xiaomi-scorpio: Remove DSI PHY clocks from MMCC

From: Yassine Oudjana <[email protected]>

Having DSI PHY clocks listed in the MMCC node while MDSS is disabled makes
it defer probe indefinitely, resulting in simplefb and other blocks that
depend on its clocks to defer probe as well. Remove DSI PHY clocks from
MMCC to let it probe with MDSS disabled.

Fixes: 48aa636285ad ("arm64: dts: qcom: msm8996: add clocks to the MMCC device node")
Signed-off-by: Yassine Oudjana <[email protected]>
---
.../boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts b/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
index 7bf6ad1a214b..c68c2dadd7b4 100644
--- a/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
+++ b/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
@@ -113,6 +113,19 @@ &mdss {
status = "disabled";
};

+&mmcc {
+ /*
+ * Remove non-essential DSI PHY clocks to allow MMCC to probe
+ * with MDSS disabled.
+ */
+ clocks = <&xo_board>,
+ <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
+ <&gcc GPLL0>;
+ clock-names = "xo",
+ "gcc_mmss_noc_cfg_ahb_clk",
+ "gpll0";
+};
+
&mss_pil {
firmware-name = "qcom/msm8996/scorpio/mba.mbn",
"qcom/msm8996/scorpio/modem.mbn";
--
2.38.1



2022-11-08 05:22:06

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: msm8996pro-xiaomi-scorpio: Remove DSI PHY clocks from MMCC

On Mon, Nov 07, 2022 at 02:40:17PM +0300, Yassine Oudjana wrote:
> From: Yassine Oudjana <[email protected]>
>
> Having DSI PHY clocks listed in the MMCC node while MDSS is disabled makes
> it defer probe indefinitely, resulting in simplefb and other blocks that
> depend on its clocks to defer probe as well. Remove DSI PHY clocks from
> MMCC to let it probe with MDSS disabled.
>

Isn't this a generic problem that we will have all over the place, where
we describe incoming clocks from all PHYs and then only enable the ones
actually available on each platform?

Am I missing something special with this case? I think the kernel need
to handle this.

Regards,
Bjorn

> Fixes: 48aa636285ad ("arm64: dts: qcom: msm8996: add clocks to the MMCC device node")
> Signed-off-by: Yassine Oudjana <[email protected]>
> ---
> .../boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts b/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
> index 7bf6ad1a214b..c68c2dadd7b4 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8996pro-xiaomi-scorpio.dts
> @@ -113,6 +113,19 @@ &mdss {
> status = "disabled";
> };
>
> +&mmcc {
> + /*
> + * Remove non-essential DSI PHY clocks to allow MMCC to probe
> + * with MDSS disabled.
> + */
> + clocks = <&xo_board>,
> + <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
> + <&gcc GPLL0>;
> + clock-names = "xo",
> + "gcc_mmss_noc_cfg_ahb_clk",
> + "gpll0";
> +};
> +
> &mss_pil {
> firmware-name = "qcom/msm8996/scorpio/mba.mbn",
> "qcom/msm8996/scorpio/modem.mbn";
> --
> 2.38.1
>