[PATCH 0/4] Start using rpmpd for power domains on MSM8974

Luca Weiss posted 4 patches 3 months, 2 weeks ago
.../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
.../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
.../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
.../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
.../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 ++++++++++++++++++++--
.../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
.../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
.../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
12 files changed, 56 insertions(+), 114 deletions(-)
[PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Luca Weiss 3 months, 2 weeks ago
Switch over the ADSP PIL to use power-domains instead of a regulator,
and have one commit switching over the MSM8974 SoC plus all the devices
to use power-domains.

Note, that I'm aware that these changes are not backwards compatible and
not really bisectable, but since it only affects the ADSP on these
pretty old boards, I say it's fine to have this. Get all the patches
into the same release (6.17?) and then we're good again.

Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
---
Luca Weiss (4):
      dt-bindings: remoteproc: qcom,adsp: Make msm8974 use CX as power domain
      remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8974
      ARM: dts: qcom: msm8974: Sort header includes alphabetically
      ARM: dts: qcom: msm8974: Start using rpmpd for power domains

 .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
 .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
 .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
 .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
 .../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
 arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 ++++++++++++++++++++--
 .../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
 arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
 .../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
 .../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
 ...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
 drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
 12 files changed, 56 insertions(+), 114 deletions(-)
---
base-commit: 7fa2fb97cd28e1d9670da538095565b6fba83977
change-id: 20250621-msm8974-rpmpd-switch-b19b166c02be

Best regards,
-- 
Luca Weiss <luca@lucaweiss.eu>
Re: [PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Dmitry Baryshkov 3 months, 2 weeks ago
On Sat, Jun 21, 2025 at 03:19:55PM +0200, Luca Weiss wrote:
> Switch over the ADSP PIL to use power-domains instead of a regulator,
> and have one commit switching over the MSM8974 SoC plus all the devices
> to use power-domains.
> 
> Note, that I'm aware that these changes are not backwards compatible and
> not really bisectable, but since it only affects the ADSP on these

Why? The cx-supply is handled unconditionally. A single-domain usecase
is also handled via a special code path. I think this might be
backwards-compatible, by the pure luck.

> pretty old boards, I say it's fine to have this. Get all the patches
> into the same release (6.17?) and then we're good again.
> 
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> ---
> Luca Weiss (4):
>       dt-bindings: remoteproc: qcom,adsp: Make msm8974 use CX as power domain
>       remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8974
>       ARM: dts: qcom: msm8974: Sort header includes alphabetically
>       ARM: dts: qcom: msm8974: Start using rpmpd for power domains
> 
>  .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
>  .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
>  .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
>  .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
>  .../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
>  arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 ++++++++++++++++++++--
>  .../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
>  arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
>  .../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
>  .../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
>  ...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
>  drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
>  12 files changed, 56 insertions(+), 114 deletions(-)
> ---
> base-commit: 7fa2fb97cd28e1d9670da538095565b6fba83977
> change-id: 20250621-msm8974-rpmpd-switch-b19b166c02be
> 
> Best regards,
> -- 
> Luca Weiss <luca@lucaweiss.eu>
> 

-- 
With best wishes
Dmitry
Re: [PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Luca Weiss 3 months, 2 weeks ago
Hi Dmitry,

On 24-06-2025 2:59 a.m., Dmitry Baryshkov wrote:
> On Sat, Jun 21, 2025 at 03:19:55PM +0200, Luca Weiss wrote:
>> Switch over the ADSP PIL to use power-domains instead of a regulator,
>> and have one commit switching over the MSM8974 SoC plus all the devices
>> to use power-domains.
>>
>> Note, that I'm aware that these changes are not backwards compatible and
>> not really bisectable, but since it only affects the ADSP on these
> 
> Why? The cx-supply is handled unconditionally. A single-domain usecase
> is also handled via a special code path. I think this might be
> backwards-compatible, by the pure luck.

Honestly I have not tried and not looked much. I mostly added this 
paragraph to avoid the response that this change might break and is not 
really backwards compatible. If it does (by accident) work with the 
updated dts without the driver and the other way around, then even better.

Regards
Luca

> 
>> pretty old boards, I say it's fine to have this. Get all the patches
>> into the same release (6.17?) and then we're good again.
>>
>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>> ---
>> Luca Weiss (4):
>>        dt-bindings: remoteproc: qcom,adsp: Make msm8974 use CX as power domain
>>        remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8974
>>        ARM: dts: qcom: msm8974: Sort header includes alphabetically
>>        ARM: dts: qcom: msm8974: Start using rpmpd for power domains
>>
>>   .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
>>   .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
>>   .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
>>   .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
>>   .../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
>>   arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 ++++++++++++++++++++--
>>   .../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
>>   arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
>>   .../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
>>   .../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
>>   ...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
>>   drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
>>   12 files changed, 56 insertions(+), 114 deletions(-)
>> ---
>> base-commit: 7fa2fb97cd28e1d9670da538095565b6fba83977
>> change-id: 20250621-msm8974-rpmpd-switch-b19b166c02be
>>
>> Best regards,
>> -- 
>> Luca Weiss <luca@lucaweiss.eu>
>>
>
Re: [PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Dmitry Baryshkov 3 months, 2 weeks ago
On 24/06/2025 21:46, Luca Weiss wrote:
> Hi Dmitry,
> 
> On 24-06-2025 2:59 a.m., Dmitry Baryshkov wrote:
>> On Sat, Jun 21, 2025 at 03:19:55PM +0200, Luca Weiss wrote:
>>> Switch over the ADSP PIL to use power-domains instead of a regulator,
>>> and have one commit switching over the MSM8974 SoC plus all the devices
>>> to use power-domains.
>>>
>>> Note, that I'm aware that these changes are not backwards compatible and
>>> not really bisectable, but since it only affects the ADSP on these
>>
>> Why? The cx-supply is handled unconditionally. A single-domain usecase
>> is also handled via a special code path. I think this might be
>> backwards-compatible, by the pure luck.
> 
> Honestly I have not tried and not looked much. I mostly added this 
> paragraph to avoid the response that this change might break and is not 
> really backwards compatible. If it does (by accident) work with the 
> updated dts without the driver and the other way around, then even better.

I think it's worth checking that new kernel works with older DTS (that's 
the usual rule). The platform doesn't have many users upstream, but I 
think it has been used by some PmOS users, which might mean 
not-yet-upstreamed DT.

> 
> Regards
> Luca
> 
>>
>>> pretty old boards, I say it's fine to have this. Get all the patches
>>> into the same release (6.17?) and then we're good again.
>>>
>>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>>> ---
>>> Luca Weiss (4):
>>>        dt-bindings: remoteproc: qcom,adsp: Make msm8974 use CX as 
>>> power domain
>>>        remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8974
>>>        ARM: dts: qcom: msm8974: Sort header includes alphabetically
>>>        ARM: dts: qcom: msm8974: Start using rpmpd for power domains
>>>
>>>   .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
>>>   .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
>>>   .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
>>>   .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
>>>   .../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
>>>   arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 +++++++++++ 
>>> +++++++++--
>>>   .../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
>>>   arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
>>>   .../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
>>>   .../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
>>>   ...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
>>>   drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
>>>   12 files changed, 56 insertions(+), 114 deletions(-)
>>> ---
>>> base-commit: 7fa2fb97cd28e1d9670da538095565b6fba83977
>>> change-id: 20250621-msm8974-rpmpd-switch-b19b166c02be
>>>
>>> Best regards,
>>> -- 
>>> Luca Weiss <luca@lucaweiss.eu>
>>>
>>
> 


-- 
With best wishes
Dmitry
Re: [PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Luca Weiss 3 months ago
Hi Dmitry,

On 24-06-2025 11:03 p.m., Dmitry Baryshkov wrote:
> On 24/06/2025 21:46, Luca Weiss wrote:
>> Hi Dmitry,
>>
>> On 24-06-2025 2:59 a.m., Dmitry Baryshkov wrote:
>>> On Sat, Jun 21, 2025 at 03:19:55PM +0200, Luca Weiss wrote:
>>>> Switch over the ADSP PIL to use power-domains instead of a regulator,
>>>> and have one commit switching over the MSM8974 SoC plus all the devices
>>>> to use power-domains.
>>>>
>>>> Note, that I'm aware that these changes are not backwards compatible 
>>>> and
>>>> not really bisectable, but since it only affects the ADSP on these
>>>
>>> Why? The cx-supply is handled unconditionally. A single-domain usecase
>>> is also handled via a special code path. I think this might be
>>> backwards-compatible, by the pure luck.
>>
>> Honestly I have not tried and not looked much. I mostly added this 
>> paragraph to avoid the response that this change might break and is 
>> not really backwards compatible. If it does (by accident) work with 
>> the updated dts without the driver and the other way around, then even 
>> better.
> 
> I think it's worth checking that new kernel works with older DTS (that's 
> the usual rule). The platform doesn't have many users upstream, but I 
> think it has been used by some PmOS users, which might mean not-yet- 
> upstreamed DT.

I was finally able to test this, but the patches except the dts patch 
does not work.

[  170.802573] qcom_q6v5_pas fe200000.remoteproc: probe with driver 
qcom_q6v5_pas failed with error -61
[  170.803127] remoteproc remoteproc0: releasing adsp

I didn't take much more of a look but probably adsp_pds_attach fails there.

For postmarketOS users, all msm8974 mainline devices that are packaged 
as part of postmarketOS, come from the github.com/msm8974-mainline/linux 
fork, which included this patch already since a few releases. I'm taking 
care that all out-of-tree dts that are in that repo are updated.

Fortunately this is just breaking adsp probe, bootup still works as 
before. So from my side again: I think it's not worth the effort to add 
a bunch of complexity to the driver code and support this use case. I'm 
not aware of any msm8974 upstream users that would require that.

Regards
Luca

> 
>>
>> Regards
>> Luca
>>
>>>
>>>> pretty old boards, I say it's fine to have this. Get all the patches
>>>> into the same release (6.17?) and then we're good again.
>>>>
>>>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>>>> ---
>>>> Luca Weiss (4):
>>>>        dt-bindings: remoteproc: qcom,adsp: Make msm8974 use CX as 
>>>> power domain
>>>>        remoteproc: qcom_q6v5_pas: Use resource with CX PD for MSM8974
>>>>        ARM: dts: qcom: msm8974: Sort header includes alphabetically
>>>>        ARM: dts: qcom: msm8974: Start using rpmpd for power domains
>>>>
>>>>   .../devicetree/bindings/remoteproc/qcom,adsp.yaml  | 18 ++------
>>>>   .../arm/boot/dts/qcom/qcom-apq8074-dragonboard.dts | 13 ------
>>>>   .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts    | 12 ------
>>>>   .../boot/dts/qcom/qcom-msm8974-samsung-hlte.dts    | 12 ------
>>>>   .../dts/qcom/qcom-msm8974-sony-xperia-rhine.dtsi   | 12 ------
>>>>   arch/arm/boot/dts/qcom/qcom-msm8974.dtsi           | 50 ++++++++++ 
>>>> + +++++++++--
>>>>   .../dts/qcom/qcom-msm8974pro-fairphone-fp2.dts     |  8 ----
>>>>   arch/arm/boot/dts/qcom/qcom-msm8974pro-htc-m8.dts  | 11 -----
>>>>   .../dts/qcom/qcom-msm8974pro-oneplus-bacon.dts     |  9 ----
>>>>   .../qcom/qcom-msm8974pro-samsung-klte-common.dtsi  | 11 ++---
>>>>   ...qcom-msm8974pro-sony-xperia-shinano-common.dtsi | 12 ------
>>>>   drivers/remoteproc/qcom_q6v5_pas.c                 |  2 +-
>>>>   12 files changed, 56 insertions(+), 114 deletions(-)
>>>> ---
>>>> base-commit: 7fa2fb97cd28e1d9670da538095565b6fba83977
>>>> change-id: 20250621-msm8974-rpmpd-switch-b19b166c02be
>>>>
>>>> Best regards,
>>>> -- 
>>>> Luca Weiss <luca@lucaweiss.eu>
>>>>
>>>
>>
> 
> 

Re: [PATCH 0/4] Start using rpmpd for power domains on MSM8974
Posted by Dmitry Baryshkov 3 months ago
On Sat, Jul 05, 2025 at 04:16:44PM +0200, Luca Weiss wrote:
> Hi Dmitry,
> 
> On 24-06-2025 11:03 p.m., Dmitry Baryshkov wrote:
> > On 24/06/2025 21:46, Luca Weiss wrote:
> > > Hi Dmitry,
> > > 
> > > On 24-06-2025 2:59 a.m., Dmitry Baryshkov wrote:
> > > > On Sat, Jun 21, 2025 at 03:19:55PM +0200, Luca Weiss wrote:
> > > > > Switch over the ADSP PIL to use power-domains instead of a regulator,
> > > > > and have one commit switching over the MSM8974 SoC plus all the devices
> > > > > to use power-domains.
> > > > > 
> > > > > Note, that I'm aware that these changes are not backwards
> > > > > compatible and
> > > > > not really bisectable, but since it only affects the ADSP on these
> > > > 
> > > > Why? The cx-supply is handled unconditionally. A single-domain usecase
> > > > is also handled via a special code path. I think this might be
> > > > backwards-compatible, by the pure luck.
> > > 
> > > Honestly I have not tried and not looked much. I mostly added this
> > > paragraph to avoid the response that this change might break and is
> > > not really backwards compatible. If it does (by accident) work with
> > > the updated dts without the driver and the other way around, then
> > > even better.
> > 
> > I think it's worth checking that new kernel works with older DTS (that's
> > the usual rule). The platform doesn't have many users upstream, but I
> > think it has been used by some PmOS users, which might mean not-yet-
> > upstreamed DT.
> 
> I was finally able to test this, but the patches except the dts patch does
> not work.
> 
> [  170.802573] qcom_q6v5_pas fe200000.remoteproc: probe with driver
> qcom_q6v5_pas failed with error -61
> [  170.803127] remoteproc remoteproc0: releasing adsp
> 
> I didn't take much more of a look but probably adsp_pds_attach fails there.
> 
> For postmarketOS users, all msm8974 mainline devices that are packaged as
> part of postmarketOS, come from the github.com/msm8974-mainline/linux fork,
> which included this patch already since a few releases. I'm taking care that
> all out-of-tree dts that are in that repo are updated.
> 
> Fortunately this is just breaking adsp probe, bootup still works as before.
> So from my side again: I think it's not worth the effort to add a bunch of
> complexity to the driver code and support this use case. I'm not aware of
> any msm8974 upstream users that would require that.

Ack.

For the series:

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry