[RFC,00/15] Convert Qualcomm RPM message RAM to a simple-mfd

Message ID 20230311-topic-msg_ram-v1-0-e9c2094daf09@linaro.org
Headers
Series Convert Qualcomm RPM message RAM to a simple-mfd |

Message

Konrad Dybcio March 11, 2023, 1:21 a.m. UTC
  The Qualcomm RPM message RAM is a part of the RPM low-power processor's
actual RAM that's exposed to the Application Processors as a MMIO-mapped
region. It contains a couple of things, most notably the RPM master stats,
detailing per-master (read: per-subsystem) sleep/wake statistics and an
interrupt controller that's crucial to achieving full SoC clock and/or
power collapse states (the MPM). This series tries to prepare the MSG
RAM node to be a host for such devices.

Depends on https://lore.kernel.org/linux-arm-msm/20230308011705.291337-1-konrad.dybcio@linaro.org/

to solve a warning in the example.

The DTS commits don't add -cells or -ranges, as without children they're
not of very much use. They'll be introduced along with subnodes.

Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (15):
      dt-bindings: mfd: Split out Qcom RPM MSG RAM
      arm64: dts: qcom: msm8916: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: msm8953: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: msm8976: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: msm8994: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: msm8996: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: msm8998: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: qcs404: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: sdm630: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: sm6115: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: sm6125: Add simple-mfd to rpm_msg_ram
      arm64: dts: qcom: sm6375: Add simple-mfd to rpm_msg_ram
      ARM: dts: qcom-apq8084: Add simple-mfd to rpm_msg_ram
      ARM: dts: qcom-msm8226: Add simple-mfd to rpm_msg_ram
      ARM: dts: qcom-msm8974: Add simple-mfd to rpm_msg_ram

 .../devicetree/bindings/mfd/qcom,rpm-msg-ram.yaml  | 82 ++++++++++++++++++++++
 Documentation/devicetree/bindings/sram/sram.yaml   |  2 -
 arch/arm/boot/dts/qcom-apq8084.dtsi                |  2 +-
 arch/arm/boot/dts/qcom-msm8226.dtsi                |  2 +-
 arch/arm/boot/dts/qcom-msm8974.dtsi                |  2 +-
 arch/arm64/boot/dts/qcom/msm8916.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8953.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8976.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8994.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8996.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/msm8998.dtsi              |  2 +-
 arch/arm64/boot/dts/qcom/qcs404.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sdm630.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6115.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6125.dtsi               |  2 +-
 arch/arm64/boot/dts/qcom/sm6375.dtsi               |  2 +-
 16 files changed, 96 insertions(+), 16 deletions(-)
---
base-commit: 24469a0e5052ba01a35a15f104717a82b7a4798b
change-id: 20230311-topic-msg_ram-6b83ca812cec

Best regards,
  

Comments

Dmitry Baryshkov March 11, 2023, 11:24 a.m. UTC | #1
On Sat, 11 Mar 2023 at 03:21, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> The Qualcomm RPM message RAM is a part of the RPM low-power processor's
> actual RAM that's exposed to the Application Processors as a MMIO-mapped
> region. It contains a couple of things, most notably the RPM master stats,
> detailing per-master (read: per-subsystem) sleep/wake statistics and an
> interrupt controller that's crucial to achieving full SoC clock and/or
> power collapse states (the MPM). This series tries to prepare the MSG
> RAM node to be a host for such devices.
>
> Depends on https://lore.kernel.org/linux-arm-msm/20230308011705.291337-1-konrad.dybcio@linaro.org/
>
> to solve a warning in the example.
>
> The DTS commits don't add -cells or -ranges, as without children they're
> not of very much use. They'll be introduced along with subnodes.
>
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> Konrad Dybcio (15):
>       dt-bindings: mfd: Split out Qcom RPM MSG RAM
>       arm64: dts: qcom: msm8916: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: msm8953: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: msm8976: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: msm8994: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: msm8996: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: msm8998: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: qcs404: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: sdm630: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: sm6115: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: sm6125: Add simple-mfd to rpm_msg_ram
>       arm64: dts: qcom: sm6375: Add simple-mfd to rpm_msg_ram
>       ARM: dts: qcom-apq8084: Add simple-mfd to rpm_msg_ram
>       ARM: dts: qcom-msm8226: Add simple-mfd to rpm_msg_ram
>       ARM: dts: qcom-msm8974: Add simple-mfd to rpm_msg_ram

These commits do not demonstrate the need for simple-mfd (other than
qcom,mpm being mentioned in bindings). I'd suggest limiting the RFC to
a single platform populated with rpm_msg_ram child devices. This way
we can better understand the needs and the requirements for these
patches.
  
Konrad Dybcio March 11, 2023, 12:40 p.m. UTC | #2
On 11.03.2023 12:24, Dmitry Baryshkov wrote:
> On Sat, 11 Mar 2023 at 03:21, Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>> The Qualcomm RPM message RAM is a part of the RPM low-power processor's
>> actual RAM that's exposed to the Application Processors as a MMIO-mapped
>> region. It contains a couple of things, most notably the RPM master stats,
>> detailing per-master (read: per-subsystem) sleep/wake statistics and an
>> interrupt controller that's crucial to achieving full SoC clock and/or
>> power collapse states (the MPM). This series tries to prepare the MSG
>> RAM node to be a host for such devices.
>>
>> Depends on https://lore.kernel.org/linux-arm-msm/20230308011705.291337-1-konrad.dybcio@linaro.org/
>>
>> to solve a warning in the example.
>>
>> The DTS commits don't add -cells or -ranges, as without children they're
>> not of very much use. They'll be introduced along with subnodes.
>>
>> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
>> ---
>> Konrad Dybcio (15):
>>       dt-bindings: mfd: Split out Qcom RPM MSG RAM
>>       arm64: dts: qcom: msm8916: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: msm8953: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: msm8976: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: msm8994: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: msm8996: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: msm8998: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: qcs404: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: sdm630: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: sm6115: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: sm6125: Add simple-mfd to rpm_msg_ram
>>       arm64: dts: qcom: sm6375: Add simple-mfd to rpm_msg_ram
>>       ARM: dts: qcom-apq8084: Add simple-mfd to rpm_msg_ram
>>       ARM: dts: qcom-msm8226: Add simple-mfd to rpm_msg_ram
>>       ARM: dts: qcom-msm8974: Add simple-mfd to rpm_msg_ram
> 
> These commits do not demonstrate the need for simple-mfd (other than
> qcom,mpm being mentioned in bindings). I'd suggest limiting the RFC to
> a single platform populated with rpm_msg_ram child devices. This way
> we can better understand the needs and the requirements for these
> patches.
Right.. I was debating whether to just send the bindings as a RFC, but
then I'd have to make simple-mfd optional just to retire it soon..

Konrad
> 
>