* [PATCH 0/2] Fix SM6115 MDSS register access during runtime resume
@ 2026-10-24 14:27 Michael McAllister
2026-10-24 14:27 ` [PATCH 1/2] dt-bindings: display: msm: sm6115-mdss: Add missing AHB clock Michael McAllister
2026-10-24 14:27 ` [PATCH 2/2] arm64: dts: qcom: sm6115: Add missing MDSS " Michael McAllister
0 siblings, 2 replies; 3+ messages in thread
From: Michael McAllister @ 2026-10-24 14:27 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark,
Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Adam Skladowski, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel
Hi,
This fixes garbled compressed scanout on my device (Moto G10, SM4250)
after display power cycling. MDSS needs the DISPCC AHB clock before the
DPU child resumes, so this adds it to the binding and shared SM6115 clock
list. I tested this on 7.2.9 and power-cycled the display 20 times.
Michael McAllister (2):
dt-bindings: display: msm: sm6115-mdss: Add missing AHB clock
arm64: dts: qcom: sm6115: Add missing MDSS AHB clock
.../devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml | 5 ++++-
arch/arm64/boot/dts/qcom/sm6115.dtsi | 3 ++-
2 files changed, 6 insertions(+), 2 deletions(-)
base-commit: d053e38e614fb2e383b298ce8fc308a780d7f209
--
2.39.5
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] dt-bindings: display: msm: sm6115-mdss: Add missing AHB clock
2026-10-24 14:27 [PATCH 0/2] Fix SM6115 MDSS register access during runtime resume Michael McAllister
@ 2026-10-24 14:27 ` Michael McAllister
2026-10-24 14:27 ` [PATCH 2/2] arm64: dts: qcom: sm6115: Add missing MDSS " Michael McAllister
1 sibling, 0 replies; 3+ messages in thread
From: Michael McAllister @ 2026-10-24 14:27 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark,
Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Adam Skladowski, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel
MDSS register access requires the AHB clock supplied by DISPCC, in
addition to the GCC bus clocks and the MDP core clock already listed.
The DPU child also uses this clock, but MDSS needs it before the child
resumes so that it can access its own registers.
Add the missing clock to the end of the list and update the example.
Keep the existing three-clock descriptions valid for compatibility with
older device trees.
Fixes: b93bdff44a85 ("dt-bindings: display/msm: add support for SM6115")
Signed-off-by: Michael McAllister <me@michaelmcallister.org>
---
.../devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml
index 309de1953..d4fac93d9 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml
@@ -21,10 +21,12 @@ properties:
const: qcom,sm6115-mdss
clocks:
+ minItems: 3
items:
- description: Display AHB clock from gcc
- description: Display AXI clock
- description: Display core clock
+ - description: Display AHB clock from dispcc
iommus:
maxItems: 2
@@ -92,7 +94,8 @@ examples:
power-domains = <&dispcc MDSS_GDSC>;
clocks = <&gcc GCC_DISP_AHB_CLK>,
<&gcc GCC_DISP_HF_AXI_CLK>,
- <&dispcc DISP_CC_MDSS_MDP_CLK>;
+ <&dispcc DISP_CC_MDSS_MDP_CLK>,
+ <&dispcc DISP_CC_MDSS_AHB_CLK>;
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] arm64: dts: qcom: sm6115: Add missing MDSS AHB clock
2026-10-24 14:27 [PATCH 0/2] Fix SM6115 MDSS register access during runtime resume Michael McAllister
2026-10-24 14:27 ` [PATCH 1/2] dt-bindings: display: msm: sm6115-mdss: Add missing AHB clock Michael McAllister
@ 2026-10-24 14:27 ` Michael McAllister
1 sibling, 0 replies; 3+ messages in thread
From: Michael McAllister @ 2026-10-24 14:27 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rob Clark,
Abhinav Kumar, Jessica Zhang, Sean Paul, Marijn Suijten,
Adam Skladowski, linux-arm-msm, dri-devel, freedreno, devicetree,
linux-kernel
The MDSS node is missing DISP_CC_MDSS_AHB_CLK. Although the DPU child
already requests this clock, MDSS resumes before the child enables it.
The MDSS hardware-version register can then read as zero, causing
msm_mdss_enable() to skip UBWC configuration.
On the Motorola Moto G10 (SM4250), this results in garbled compressed
scanout after display power cycling. Adding the clock restores the
UBWC configuration and makes compressed and linear scanout agree.
Include the DISPCC AHB clock in the MDSS clock list so that its existing
bulk clock handling enables it before accessing the MDSS registers.
Fixes: 705e50427d81 ("arm64: dts: qcom: sm6115: Add mdss/dpu node")
Cc: stable@vger.kernel.org
Signed-off-by: Michael McAllister <me@michaelmcallister.org>
---
arch/arm64/boot/dts/qcom/sm6115.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index 0f2af8aba..f7002b9eb 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -1927,7 +1927,8 @@ mdss: display-subsystem@5e00000 {
clocks = <&gcc GCC_DISP_AHB_CLK>,
<&gcc GCC_DISP_HF_AXI_CLK>,
- <&dispcc DISP_CC_MDSS_MDP_CLK>;
+ <&dispcc DISP_CC_MDSS_MDP_CLK>,
+ <&dispcc DISP_CC_MDSS_AHB_CLK>;
resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-24 14:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-24 14:27 [PATCH 0/2] Fix SM6115 MDSS register access during runtime resume Michael McAllister
2026-10-24 14:27 ` [PATCH 1/2] dt-bindings: display: msm: sm6115-mdss: Add missing AHB clock Michael McAllister
2026-10-24 14:27 ` [PATCH 2/2] arm64: dts: qcom: sm6115: Add missing MDSS " Michael McAllister
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®