[PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset

Dmitry Baryshkov posted 4 patches 1 month, 2 weeks ago
[PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Dmitry Baryshkov 1 month, 2 weeks ago
From: David Heidelberg <david@ixit.cz>

If the OS does not support recovering the state left by the
bootloader it needs a way to reset display hardware, so that it can
start from a clean state. Add a reference to the relevant reset.

Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index bf2f9c04adba..75c192eddc57 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -4550,6 +4550,7 @@ mdss: display-subsystem@ae00000 {
 			reg-names = "mdss";
 
 			power-domains = <&dispcc MDSS_GDSC>;
+			resets = <&dispcc DISP_CC_MDSS_RSCC_BCR>;
 
 			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
 				 <&dispcc DISP_CC_MDSS_MDP_CLK>;

-- 
2.47.3
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Konrad Dybcio 1 month, 1 week ago
On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
> From: David Heidelberg <david@ixit.cz>
> 
> If the OS does not support recovering the state left by the
> bootloader it needs a way to reset display hardware, so that it can
> start from a clean state. Add a reference to the relevant reset.

This is not the relevant reset

You want MDSS_CORE_BCR @ 0xaf0_2000

Konrad

> 
> Signed-off-by: David Heidelberg <david@ixit.cz>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---


>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index bf2f9c04adba..75c192eddc57 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -4550,6 +4550,7 @@ mdss: display-subsystem@ae00000 {
>  			reg-names = "mdss";
>  
>  			power-domains = <&dispcc MDSS_GDSC>;
> +			resets = <&dispcc DISP_CC_MDSS_RSCC_BCR>;
>  
>  			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>  				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
>
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by David Heidelberg 1 month, 1 week ago
On 18/02/2026 11:30, Konrad Dybcio wrote:
> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
>> From: David Heidelberg <david@ixit.cz>
>>
>> If the OS does not support recovering the state left by the
>> bootloader it needs a way to reset display hardware, so that it can
>> start from a clean state. Add a reference to the relevant reset.
> 
> This is not the relevant reset
> 
> You want MDSS_CORE_BCR @ 0xaf0_2000

Thanks, I prepared the fixes [1].

I'll try to test it if it's not breaking anything for us and send as v2 
of [2].

David

[1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
[2] 
https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/

> 
> Konrad
> 
>>
>> Signed-off-by: David Heidelberg <david@ixit.cz>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
> 
> 
>>   arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> index bf2f9c04adba..75c192eddc57 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>> @@ -4550,6 +4550,7 @@ mdss: display-subsystem@ae00000 {
>>   			reg-names = "mdss";
>>   
>>   			power-domains = <&dispcc MDSS_GDSC>;
>> +			resets = <&dispcc DISP_CC_MDSS_RSCC_BCR>;
>>   
>>   			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>   				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
>>

-- 
David Heidelberg
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Konrad Dybcio 1 month, 1 week ago
On 2/18/26 12:18 PM, David Heidelberg wrote:
> On 18/02/2026 11:30, Konrad Dybcio wrote:
>> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
>>> From: David Heidelberg <david@ixit.cz>
>>>
>>> If the OS does not support recovering the state left by the
>>> bootloader it needs a way to reset display hardware, so that it can
>>> start from a clean state. Add a reference to the relevant reset.
>>
>> This is not the relevant reset
>>
>> You want MDSS_CORE_BCR @ 0xaf0_2000
> 
> Thanks, I prepared the fixes [1].
> 
> I'll try to test it if it's not breaking anything for us and send as v2 of [2].
> 
> David
> 
> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/

Please don't alter the contents of dt-bindings, it really doesn't matter
if on sdm845 it's reset0 or reset1, that's why we define them in the first
place 

Konrad
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by David Heidelberg 1 month, 1 week ago
On 18/02/2026 12:24, Konrad Dybcio wrote:
> On 2/18/26 12:18 PM, David Heidelberg wrote:
>> On 18/02/2026 11:30, Konrad Dybcio wrote:
>>> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
>>>> From: David Heidelberg <david@ixit.cz>
>>>>
>>>> If the OS does not support recovering the state left by the
>>>> bootloader it needs a way to reset display hardware, so that it can
>>>> start from a clean state. Add a reference to the relevant reset.
>>>
>>> This is not the relevant reset
>>>
>>> You want MDSS_CORE_BCR @ 0xaf0_2000
>>
>> Thanks, I prepared the fixes [1].
>>
>> I'll try to test it if it's not breaking anything for us and send as v2 of [2].
>>
>> David
>>
>> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
>> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
> 
> Please don't alter the contents of dt-bindings, it really doesn't matter
> if on sdm845 it's reset0 or reset1, that's why we define them in the first
> place

Sure, np

> 
> Konrad

-- 
David Heidelberg
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Dmitry Baryshkov 1 month, 1 week ago
On Wed, Feb 18, 2026 at 12:24:26PM +0100, Konrad Dybcio wrote:
> On 2/18/26 12:18 PM, David Heidelberg wrote:
> > On 18/02/2026 11:30, Konrad Dybcio wrote:
> >> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
> >>> From: David Heidelberg <david@ixit.cz>
> >>>
> >>> If the OS does not support recovering the state left by the
> >>> bootloader it needs a way to reset display hardware, so that it can
> >>> start from a clean state. Add a reference to the relevant reset.
> >>
> >> This is not the relevant reset
> >>
> >> You want MDSS_CORE_BCR @ 0xaf0_2000
> > 
> > Thanks, I prepared the fixes [1].
> > 
> > I'll try to test it if it's not breaking anything for us and send as v2 of [2].
> > 
> > David
> > 
> > [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
> > [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
> 
> Please don't alter the contents of dt-bindings, it really doesn't matter
> if on sdm845 it's reset0 or reset1, that's why we define them in the first
> place 

I dpn't think that will pass. Current reset is defined as RSCC, we can't
change that to CORE behind the scene. I'd prefer David's approach.

> 
> Konrad

-- 
With best wishes
Dmitry
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Konrad Dybcio 1 month, 1 week ago

On 18-Feb-26 12:58, Dmitry Baryshkov wrote:
> On Wed, Feb 18, 2026 at 12:24:26PM +0100, Konrad Dybcio wrote:
>> On 2/18/26 12:18 PM, David Heidelberg wrote:
>>> On 18/02/2026 11:30, Konrad Dybcio wrote:
>>>> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
>>>>> From: David Heidelberg <david@ixit.cz>
>>>>>
>>>>> If the OS does not support recovering the state left by the
>>>>> bootloader it needs a way to reset display hardware, so that it can
>>>>> start from a clean state. Add a reference to the relevant reset.
>>>>
>>>> This is not the relevant reset
>>>>
>>>> You want MDSS_CORE_BCR @ 0xaf0_2000
>>>
>>> Thanks, I prepared the fixes [1].
>>>
>>> I'll try to test it if it's not breaking anything for us and send as v2 of [2].
>>>
>>> David
>>>
>>> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
>>> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
>>
>> Please don't alter the contents of dt-bindings, it really doesn't matter
>> if on sdm845 it's reset0 or reset1, that's why we define them in the first
>> place 
> 
> I dpn't think that will pass. Current reset is defined as RSCC, we can't
> change that to CORE behind the scene. I'd prefer David's approach.

Back when I replied, David had a patch that removed the current RSCC
reset definition in dt-bindings (at index 0) and re-used that index
for CORE, putting RSCC at index 1. Perhaps it's better to link to
specific commits when making comments, note to self :P

Konrad
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Dmitry Baryshkov 1 month, 1 week ago
On Wed, Feb 18, 2026 at 03:28:01PM +0100, Konrad Dybcio wrote:
> 
> 
> On 18-Feb-26 12:58, Dmitry Baryshkov wrote:
> > On Wed, Feb 18, 2026 at 12:24:26PM +0100, Konrad Dybcio wrote:
> >> On 2/18/26 12:18 PM, David Heidelberg wrote:
> >>> On 18/02/2026 11:30, Konrad Dybcio wrote:
> >>>> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
> >>>>> From: David Heidelberg <david@ixit.cz>
> >>>>>
> >>>>> If the OS does not support recovering the state left by the
> >>>>> bootloader it needs a way to reset display hardware, so that it can
> >>>>> start from a clean state. Add a reference to the relevant reset.
> >>>>
> >>>> This is not the relevant reset
> >>>>
> >>>> You want MDSS_CORE_BCR @ 0xaf0_2000
> >>>
> >>> Thanks, I prepared the fixes [1].
> >>>
> >>> I'll try to test it if it's not breaking anything for us and send as v2 of [2].
> >>>
> >>> David
> >>>
> >>> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
> >>> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
> >>
> >> Please don't alter the contents of dt-bindings, it really doesn't matter
> >> if on sdm845 it's reset0 or reset1, that's why we define them in the first
> >> place 
> > 
> > I dpn't think that will pass. Current reset is defined as RSCC, we can't
> > change that to CORE behind the scene. I'd prefer David's approach.
> 
> Back when I replied, David had a patch that removed the current RSCC
> reset definition in dt-bindings (at index 0) and re-used that index
> for CORE, putting RSCC at index 1. Perhaps it's better to link to
> specific commits when making comments, note to self :P

Yes, I saw the commit having two resets. Anyway, as we saw, it doesn't
work.

-- 
With best wishes
Dmitry
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by Dmitry Baryshkov 1 month, 1 week ago
On Wed, Feb 18, 2026 at 12:18:39PM +0100, David Heidelberg wrote:
> On 18/02/2026 11:30, Konrad Dybcio wrote:
> > On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
> > > From: David Heidelberg <david@ixit.cz>
> > > 
> > > If the OS does not support recovering the state left by the
> > > bootloader it needs a way to reset display hardware, so that it can
> > > start from a clean state. Add a reference to the relevant reset.
> > 
> > This is not the relevant reset
> > 
> > You want MDSS_CORE_BCR @ 0xaf0_2000
> 
> Thanks, I prepared the fixes [1].

UPD: touching that register resets the device. So, it seems, we will
have to live without the MDSS Core reset of SDM845.

> 
> I'll try to test it if it's not breaking anything for us and send as v2 of
> [2].
> 
> David
> 
> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
> 
> > 
> > Konrad
> > 
> > > 
> > > Signed-off-by: David Heidelberg <david@ixit.cz>
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > > ---
> > 
> > 
> > >   arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > > index bf2f9c04adba..75c192eddc57 100644
> > > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > > @@ -4550,6 +4550,7 @@ mdss: display-subsystem@ae00000 {
> > >   			reg-names = "mdss";
> > >   			power-domains = <&dispcc MDSS_GDSC>;
> > > +			resets = <&dispcc DISP_CC_MDSS_RSCC_BCR>;
> > >   			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> > >   				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
> > > 
> 
> -- 
> David Heidelberg
> 

-- 
With best wishes
Dmitry
Re: [PATCH 3/4] arm64: dts: qcom: sdm845: Add missing MDSS reset
Posted by David Heidelberg 1 month, 1 week ago
On 18/02/2026 13:19, Dmitry Baryshkov wrote:
> On Wed, Feb 18, 2026 at 12:18:39PM +0100, David Heidelberg wrote:
>> On 18/02/2026 11:30, Konrad Dybcio wrote:
>>> On 2/17/26 10:20 PM, Dmitry Baryshkov wrote:
>>>> From: David Heidelberg <david@ixit.cz>
>>>>
>>>> If the OS does not support recovering the state left by the
>>>> bootloader it needs a way to reset display hardware, so that it can
>>>> start from a clean state. Add a reference to the relevant reset.
>>>
>>> This is not the relevant reset
>>>
>>> You want MDSS_CORE_BCR @ 0xaf0_2000
>>
>> Thanks, I prepared the fixes [1].
> 
> UPD: touching that register resets the device. So, it seems, we will
> have to live without the MDSS Core reset of SDM845.

For me, so far, one test on Pixel 3 it freezes the device. Haven't found 
UART dongle, so not sure where exactly.

David

> 
>>
>> I'll try to test it if it's not breaking anything for us and send as v2 of
>> [2].
>>
>> David
>>
>> [1] https://codeberg.org/sdm845/linux/commits/branch/b4/mdss-reset
>> [2] https://patchwork.kernel.org/project/linux-arm-msm/patch/20260112-mdss-reset-v1-1-af7c572204d3@ixit.cz/
>>
>>>
>>> Konrad
>>>
>>>>
>>>> Signed-off-by: David Heidelberg <david@ixit.cz>
>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>>>> ---
>>>
>>>
>>>>    arch/arm64/boot/dts/qcom/sdm845.dtsi | 1 +
>>>>    1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>>>> index bf2f9c04adba..75c192eddc57 100644
>>>> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
>>>> @@ -4550,6 +4550,7 @@ mdss: display-subsystem@ae00000 {
>>>>    			reg-names = "mdss";
>>>>    			power-domains = <&dispcc MDSS_GDSC>;
>>>> +			resets = <&dispcc DISP_CC_MDSS_RSCC_BCR>;
>>>>    			clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>>>    				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
>>>>
>>
>> -- 
>> David Heidelberg
>>
> 

-- 
David Heidelberg