* [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers
@ 2023-01-12 13:50 Bjorn Andersson
2023-01-12 15:44 ` Konrad Dybcio
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Bjorn Andersson @ 2023-01-12 13:50 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Krzysztof Kozlowski, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold
While MDSS_GDSC is a subdomain of MMCX, Linux does not respect this
relationship and sometimes invokes sync_state on the rpmhpd (MMCX)
before the DisplayPort controller has had a chance to probe.
The result when this happens is that the power is lost to the multimedia
subsystem between the probe of msm_drv and the DisplayPort controller -
which results in an irrecoverable state.
While this is an implementation problem, this aligns the power domain
setting of the one DP instance with that of all the others.
Fixes: 57d6ef683a15 ("arm64: dts: qcom: sc8280xp: Define some of the display blocks")
Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index 4f4353f84cba..4511fd939c91 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -2533,7 +2533,7 @@ mdss0_dp3: displayport-controller@aea0000 {
interrupts = <15>;
phys = <&mdss0_dp3_phy>;
phy-names = "dp";
- power-domains = <&dispcc0 MDSS_GDSC>;
+ power-domains = <&rpmhpd SC8280XP_MMCX>;
assigned-clocks = <&dispcc0 DISP_CC_MDSS_DPTX3_LINK_CLK_SRC>,
<&dispcc0 DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC>;
--
2.37.3
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers
2023-01-12 13:50 [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers Bjorn Andersson
@ 2023-01-12 15:44 ` Konrad Dybcio
2023-01-12 15:46 ` Johan Hovold
2023-01-12 16:12 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Konrad Dybcio @ 2023-01-12 15:44 UTC (permalink / raw)
To: Bjorn Andersson, Bjorn Andersson
Cc: Krzysztof Kozlowski, linux-arm-msm, devicetree, linux-kernel,
Johan Hovold
On 12.01.2023 14:50, Bjorn Andersson wrote:
> While MDSS_GDSC is a subdomain of MMCX, Linux does not respect this
> relationship and sometimes invokes sync_state on the rpmhpd (MMCX)
> before the DisplayPort controller has had a chance to probe.
>
> The result when this happens is that the power is lost to the multimedia
> subsystem between the probe of msm_drv and the DisplayPort controller -
> which results in an irrecoverable state.
>
> While this is an implementation problem, this aligns the power domain
> setting of the one DP instance with that of all the others.
>
> Fixes: 57d6ef683a15 ("arm64: dts: qcom: sc8280xp: Define some of the display blocks")
> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> ---
One day we'll hopefully finally overcome this parent-child mess..
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index 4f4353f84cba..4511fd939c91 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -2533,7 +2533,7 @@ mdss0_dp3: displayport-controller@aea0000 {
> interrupts = <15>;
> phys = <&mdss0_dp3_phy>;
> phy-names = "dp";
> - power-domains = <&dispcc0 MDSS_GDSC>;
> + power-domains = <&rpmhpd SC8280XP_MMCX>;
>
> assigned-clocks = <&dispcc0 DISP_CC_MDSS_DPTX3_LINK_CLK_SRC>,
> <&dispcc0 DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC>;
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers
2023-01-12 13:50 [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers Bjorn Andersson
2023-01-12 15:44 ` Konrad Dybcio
@ 2023-01-12 15:46 ` Johan Hovold
2023-01-12 16:12 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2023-01-12 15:46 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Bjorn Andersson, Konrad Dybcio, Krzysztof Kozlowski,
linux-arm-msm, devicetree, linux-kernel, Johan Hovold
On Thu, Jan 12, 2023 at 05:50:55AM -0800, Bjorn Andersson wrote:
> While MDSS_GDSC is a subdomain of MMCX, Linux does not respect this
> relationship and sometimes invokes sync_state on the rpmhpd (MMCX)
> before the DisplayPort controller has had a chance to probe.
>
> The result when this happens is that the power is lost to the multimedia
> subsystem between the probe of msm_drv and the DisplayPort controller -
> which results in an irrecoverable state.
>
> While this is an implementation problem, this aligns the power domain
> setting of the one DP instance with that of all the others.
>
> Fixes: 57d6ef683a15 ("arm64: dts: qcom: sc8280xp: Define some of the display blocks")
> Signed-off-by: Bjorn Andersson <quic_bjorande@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index 4f4353f84cba..4511fd939c91 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -2533,7 +2533,7 @@ mdss0_dp3: displayport-controller@aea0000 {
> interrupts = <15>;
> phys = <&mdss0_dp3_phy>;
> phy-names = "dp";
> - power-domains = <&dispcc0 MDSS_GDSC>;
> + power-domains = <&rpmhpd SC8280XP_MMCX>;
>
> assigned-clocks = <&dispcc0 DISP_CC_MDSS_DPTX3_LINK_CLK_SRC>,
> <&dispcc0 DISP_CC_MDSS_DPTX3_PIXEL0_CLK_SRC>;
Looks good as a temporary remedy:
Reviewed-by: Johan Hovold <johan+linaro@kernel.org>
Johan
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers
2023-01-12 13:50 [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers Bjorn Andersson
2023-01-12 15:44 ` Konrad Dybcio
2023-01-12 15:46 ` Johan Hovold
@ 2023-01-12 16:12 ` Bjorn Andersson
2 siblings, 0 replies; 4+ messages in thread
From: Bjorn Andersson @ 2023-01-12 16:12 UTC (permalink / raw)
To: konrad.dybcio, quic_bjorande
Cc: linux-kernel, devicetree, krzysztof.kozlowski+dt, johan+linaro,
linux-arm-msm
On Thu, 12 Jan 2023 05:50:55 -0800, Bjorn Andersson wrote:
> While MDSS_GDSC is a subdomain of MMCX, Linux does not respect this
> relationship and sometimes invokes sync_state on the rpmhpd (MMCX)
> before the DisplayPort controller has had a chance to probe.
>
> The result when this happens is that the power is lost to the multimedia
> subsystem between the probe of msm_drv and the DisplayPort controller -
> which results in an irrecoverable state.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers
commit: bb45bb9705372d9335ccd7e3fc5436770ec6d846
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-01-12 16:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-12 13:50 [PATCH] arm64: dts: qcom: sc8280xp: Use MMCX for all DP controllers Bjorn Andersson
2023-01-12 15:44 ` Konrad Dybcio
2023-01-12 15:46 ` Johan Hovold
2023-01-12 16:12 ` Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox