Re: [PATCH v5 4/4] arm64: dts: qcom: add HDMI nodes for msm8998

Marc Gonzalez
2024-07-16T14:34:14Z

On 16/07/2024 15:11, Konrad Dybcio wrote:

> On 27.06.2024 5:54 PM, Marc Gonzalez wrote:
>
>> arch/arm64/boot/dts/qcom/msm8998.dtsi | 100 +++++++++++++++++++++++++++++++++-
>> 1 file changed, 99 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
>> index ba5e873f0f35f..417c12534823f 100644
>> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
>> @@ -2785,7 +2785,7 @@ mmcc: clock-controller@c8c0000 {
>> <&mdss_dsi0_phy 0>,
>> <&mdss_dsi1_phy 1>,
>> <&mdss_dsi1_phy 0>,
>> - <0>,
>> + <&hdmi_phy 0>,
>> <0>,
>> <0>,
>> <&gcc GCC_MMSS_GPLL0_DIV_CLK>;
>> @@ -2890,6 +2890,14 @@ dpu_intf2_out: endpoint {
>> remote-endpoint = <&mdss_dsi1_in>;
>> };
>> };
>> +
>> + port@2 {
>> + reg = <2>;
>> +
>> + dpu_intf3_out: endpoint {
>> + remote-endpoint = <&hdmi_in>;
>> + };
>> + };
>> };
>> };
>>
>> @@ -3045,6 +3053,96 @@ mdss_dsi1_phy: phy@c996400 {
>>
>> status = "disabled";
>> };
>> +
>> + hdmi: hdmi-tx@c9a0000 {
>
> Please prefix the labels (hdmi: and hdmi_phy:) with mdss_
>
> Otherwise, this looks good
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>
>
> One thing I noticed (testing on the 8998 MTP), enabling MDSS (not necessarily
> HDMI, mdss and mdp is enough) results in SMMU lockups about 30% of the time..
>
> [ 4.911422] arm-smmu cd00000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0
> [ 4.913412] platform c901000.display-controller: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/hdmi-tx@c9a0000
> [ 4.923353] arm-smmu cd00000.iommu: FSYNR0 = 00000021 [S1CBNDX=0 PNU PLVL=1]
> [ 4.927893] arm-smmu cd00000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0
> [ 4.930647] platform c9a0000.hdmi-tx: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/display-controller@c901000
> [ 4.941928] arm-smmu cd00000.iommu: FSYNR0 = 00000021 [S1CBNDX=0 PNU PLVL=1]
> [ 4.944438] arm-smmu cd00000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0
> [ 4.952338] msm_hdmi_phy c9a0600.hdmi-phy: supply vddio not found, using dummy regulator
> [ 4.956013] arm-smmu cd00000.iommu: FSYNR0 = 00000021 [S1CBNDX=0 PNU PLVL=1]
> [ 4.961055] arm-smmu cd00000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0
> [ 4.967917] msm_hdmi_phy c9a0600.hdmi-phy: supply vcca not found, using dummy regulator
> [ 4.974565] arm-smmu cd00000.iommu: FSYNR0 = 00000021 [S1CBNDX=0 PNU PLVL=1]
> [ 4.977628] arm-smmu cd00000.iommu: FSR = 00000402 [Format=2 TF], SID=0x0
> [ 4.984122] Bluetooth: hci0: setting up wcn399x
> [ 4.989670] arm-smmu cd00000.iommu: FSYNR0 = 00000021 [S1CBNDX=0 PNU PLVL=1]

Interesting. I don't think I've noticed any lock-ups
across multiple reboots.

FWIW, I get similar warnings about "Fixed dependency cycle(s)" on my custom DT.

[ 0.055349] platform 1da4000.ufshc: Fixed dependency cycle(s) with /soc@0/phy@1da7000
[ 0.055525] platform 1da4000.ufshc: Fixed dependency cycle(s) with /soc@0/phy@1da7000
[ 0.055584] platform 1da7000.phy: Fixed dependency cycle(s) with /soc@0/ufshc@1da4000
[ 0.060279] platform c8c0000.clock-controller: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/hdmi-phy@c9a0600
[ 0.060494] platform c900000.display-subsystem: Fixed dependency cycle(s) with /soc@0/clock-controller@c8c0000
[ 0.062432] platform hdmi-out: Fixed dependency cycle(s) with /soc@0/i2c@c1b5000/tdp158@5e
...
[ 18.534346] adreno 5000000.gpu: Adding to iommu group 2
[ 18.540215] msm-mdss c900000.display-subsystem: Adding to iommu group 3
[ 18.544695] platform c901000.display-controller: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/hdmi-tx@c9a0000
[ 18.551239] platform c901000.display-controller: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/hdmi-tx@c9a0000
[ 18.562685] platform c9a0000.hdmi-tx: Fixed dependency cycle(s) with /soc@0/i2c@c1b5000/tdp158@5e
[ 18.574122] platform c9a0000.hdmi-tx: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/display-controller@c901000
[ 18.617640] platform c9a0000.hdmi-tx: Fixed dependency cycle(s) with /soc@0/i2c@c1b5000/tdp158@5e
[ 18.618885] i2c 2-005e: Fixed dependency cycle(s) with /soc@0/display-subsystem@c900000/hdmi-tx@c9a0000
[ 18.627768] tdp158-bridge 2-005e: supply vcc not found, using dummy regulator
[ 18.636853] tdp158-bridge 2-005e: supply vdd not found, using dummy regulator

It looks like some of these warnings were pre-existing,
but some might have been added by my patches?

Do they need looking into?
I'm slightly confused.

Regards