2022-02-02 14:03:03

by Alex Elder

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

At least three platforms require the "qcom,qmp" property to be
specified, so the IPA driver can request register retention across
power collapse. Update DTS files accordingly.

Signed-off-by: Alex Elder <[email protected]>
---

Dave, Jakub, please let Bjorn take this through the Qualcomm tree.

arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 ++
arch/arm64/boot/dts/qcom/sc7280.dtsi | 2 ++
arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 ++
3 files changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi
index 2151cd8c8c7ab..e1c46b80f14a0 100644
--- a/arch/arm64/boot/dts/qcom/sc7180.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180.dtsi
@@ -1459,6 +1459,8 @@ ipa: ipa@1e40000 {
"imem",
"config";

+ qcom,qmp = <&aoss_qmp>;
+
qcom,smem-states = <&ipa_smp2p_out 0>,
<&ipa_smp2p_out 1>;
qcom,smem-state-names = "ipa-clock-enabled-valid",
diff --git a/arch/arm64/boot/dts/qcom/sc7280.dtsi b/arch/arm64/boot/dts/qcom/sc7280.dtsi
index 937c2e0e93eb9..fe5792e7e8d7a 100644
--- a/arch/arm64/boot/dts/qcom/sc7280.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280.dtsi
@@ -1714,6 +1714,8 @@ ipa: ipa@1e40000 {
interconnect-names = "memory",
"config";

+ qcom,qmp = <&aoss_qmp>;
+
qcom,smem-states = <&ipa_smp2p_out 0>,
<&ipa_smp2p_out 1>;
qcom,smem-state-names = "ipa-clock-enabled-valid",
diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 53b39e718fb66..5c2866355e352 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -1425,6 +1425,8 @@ ipa: ipa@1e40000 {
interconnect-names = "memory",
"config";

+ qcom,qmp = <&aoss_qmp>;
+
qcom,smem-states = <&ipa_smp2p_out 0>,
<&ipa_smp2p_out 1>;
qcom,smem-state-names = "ipa-clock-enabled-valid",
--
2.32.0


2022-02-04 02:12:58

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

On Tue, 1 Feb 2022 08:07:23 -0600 Alex Elder wrote:
> At least three platforms require the "qcom,qmp" property to be
> specified, so the IPA driver can request register retention across
> power collapse. Update DTS files accordingly.
>
> Signed-off-by: Alex Elder <[email protected]>
> ---
>
> Dave, Jakub, please let Bjorn take this through the Qualcomm tree.

I don't know much about DT but the patch defining the property is
targeting net - will it not cause validation errors? Or Bjorn knows
to wait for the fixes to propagate? Or it doesn't matter? :)

2022-02-04 03:34:01

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

On Thu 03 Feb 08:44 CST 2022, Rob Herring wrote:

> On Thu, Feb 3, 2022 at 5:27 AM Alex Elder <[email protected]> wrote:
> >
> > On 2/2/22 11:06 PM, Jakub Kicinski wrote:
> > > On Tue, 1 Feb 2022 08:07:23 -0600 Alex Elder wrote:
> > >> At least three platforms require the "qcom,qmp" property to be
> > >> specified, so the IPA driver can request register retention across
> > >> power collapse. Update DTS files accordingly.
> > >>
> > >> Signed-off-by: Alex Elder <[email protected]>
> > >> ---
> > >>
> > >> Dave, Jakub, please let Bjorn take this through the Qualcomm tree.
> > >
> > > I don't know much about DT but the patch defining the property is
> > > targeting net - will it not cause validation errors? Or Bjorn knows
> > > to wait for the fixes to propagate? Or it doesn't matter? :)
> >
> > It might matter sometimes, but in this case it does not.
> >
> > If the DT property is present but never referenced by the
> > code, it doesn't matter.
> >
> > The code in this patch looks up the DT property, and its
> > behavior is affected by whether the property is there
> > or not. If it's not there, it's treated as an error
> > that can be safely ignored.
> >
> > In the case this fix is actually needed, we'll need
> > both the code present and DT property defined. If
> > the code is there but not the property, it's OK, but
> > the bug won't be fixed quite yet.
>
> If there's only one possible node that qcom,qmp points to, you can
> just get the node by its compatible (of_find_compatible_node()). Then
> you don't need a DT update to make things work. Of course, this
> doesn't work too well if there are 10 possible compatibles without a
> common fallback compatible.
>

In one of the latest platforms there's two QMP instances, so we decided
to make the reference explicit to prepare for the introduction of that.

So I intend to pick this patch through the qcom tree.

And we don't need to synchronize it with the net-changes; the two
changes can go independently and only when they are both in place will
the change take effect and the issue resolved.

Regards,
Bjorn

2022-02-04 09:10:12

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

On Thu, Feb 3, 2022 at 5:27 AM Alex Elder <[email protected]> wrote:
>
> On 2/2/22 11:06 PM, Jakub Kicinski wrote:
> > On Tue, 1 Feb 2022 08:07:23 -0600 Alex Elder wrote:
> >> At least three platforms require the "qcom,qmp" property to be
> >> specified, so the IPA driver can request register retention across
> >> power collapse. Update DTS files accordingly.
> >>
> >> Signed-off-by: Alex Elder <[email protected]>
> >> ---
> >>
> >> Dave, Jakub, please let Bjorn take this through the Qualcomm tree.
> >
> > I don't know much about DT but the patch defining the property is
> > targeting net - will it not cause validation errors? Or Bjorn knows
> > to wait for the fixes to propagate? Or it doesn't matter? :)
>
> It might matter sometimes, but in this case it does not.
>
> If the DT property is present but never referenced by the
> code, it doesn't matter.
>
> The code in this patch looks up the DT property, and its
> behavior is affected by whether the property is there
> or not. If it's not there, it's treated as an error
> that can be safely ignored.
>
> In the case this fix is actually needed, we'll need
> both the code present and DT property defined. If
> the code is there but not the property, it's OK, but
> the bug won't be fixed quite yet.

If there's only one possible node that qcom,qmp points to, you can
just get the node by its compatible (of_find_compatible_node()). Then
you don't need a DT update to make things work. Of course, this
doesn't work too well if there are 10 possible compatibles without a
common fallback compatible.

Rob

2022-02-04 22:16:11

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

On Tue, 1 Feb 2022 08:07:23 -0600, Alex Elder wrote:
> At least three platforms require the "qcom,qmp" property to be
> specified, so the IPA driver can request register retention across
> power collapse. Update DTS files accordingly.
>
>

Applied, thanks!

[1/1] arm64: dts: qcom: add IPA qcom,qmp property
commit: 73419e4d2fd1b838fcb1df6a978d67b3ae1c5c01

Best regards,
--
Bjorn Andersson <[email protected]>

2022-02-07 20:05:55

by Alex Elder

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: add IPA qcom,qmp property

On 2/2/22 11:06 PM, Jakub Kicinski wrote:
> On Tue, 1 Feb 2022 08:07:23 -0600 Alex Elder wrote:
>> At least three platforms require the "qcom,qmp" property to be
>> specified, so the IPA driver can request register retention across
>> power collapse. Update DTS files accordingly.
>>
>> Signed-off-by: Alex Elder <[email protected]>
>> ---
>>
>> Dave, Jakub, please let Bjorn take this through the Qualcomm tree.
>
> I don't know much about DT but the patch defining the property is
> targeting net - will it not cause validation errors? Or Bjorn knows
> to wait for the fixes to propagate? Or it doesn't matter? :)

It might matter sometimes, but in this case it does not.

If the DT property is present but never referenced by the
code, it doesn't matter.

The code in this patch looks up the DT property, and its
behavior is affected by whether the property is there
or not. If it's not there, it's treated as an error
that can be safely ignored.

In the case this fix is actually needed, we'll need
both the code present and DT property defined. If
the code is there but not the property, it's OK, but
the bug won't be fixed quite yet.

-Alex