2020-11-23 07:17:19

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH] arm64: dts: qcom: sdm845: Limit ipa iommu streams

The Android and Windows firmware does not accept the use of 3 as a mask
to cover the IPA streams. But with 0x721 being related to WiFi and 0x723
being unsed the mapping can be reduced to just cover 0x720 and 0x722,
which is accepted.

Fixes: e9e89c45bfeb ("arm64: dts: sdm845: add IPA iommus property")
Signed-off-by: Bjorn Andersson <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm845.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 0da27b065761..a6147bd54cdf 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2136,7 +2136,8 @@ ufs_mem_phy_lanes: lanes@1d87400 {
ipa: ipa@1e40000 {
compatible = "qcom,sdm845-ipa";

- iommus = <&apps_smmu 0x720 0x3>;
+ iommus = <&apps_smmu 0x720 0x0>,
+ <&apps_smmu 0x722 0x0>;
reg = <0 0x1e40000 0 0x7000>,
<0 0x1e47000 0 0x2000>,
<0 0x1e04000 0 0x2c000>;
--
2.29.2


2020-11-24 19:20:32

by Alex Elder

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sdm845: Limit ipa iommu streams

On 11/22/20 11:23 PM, Bjorn Andersson wrote:
> The Android and Windows firmware does not accept the use of 3 as a mask
> to cover the IPA streams. But with 0x721 being related to WiFi and 0x723
> being unsed the mapping can be reduced to just cover 0x720 and 0x722,
> which is accepted.

Do you want to update sc7180.dtsi too?

I tried your change on my SDM845 machine and observed no
problem. I tried the comparable change in "sc7180.dtsi"
(using 440 and 442) and that seemed to work as before also.

If you think that's sufficient, you can add:

Tested-by: Alex Elder <[email protected]>

Otherwise:

Acked-by: Alex Elder <[email protected]>


> Fixes: e9e89c45bfeb ("arm64: dts: sdm845: add IPA iommus property")
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index 0da27b065761..a6147bd54cdf 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -2136,7 +2136,8 @@ ufs_mem_phy_lanes: lanes@1d87400 {
> ipa: ipa@1e40000 {
> compatible = "qcom,sdm845-ipa";
>
> - iommus = <&apps_smmu 0x720 0x3>;
> + iommus = <&apps_smmu 0x720 0x0>,
> + <&apps_smmu 0x722 0x0>;
> reg = <0 0x1e40000 0 0x7000>,
> <0 0x1e47000 0 0x2000>,
> <0 0x1e04000 0 0x2c000>;
>

2020-11-24 23:54:09

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH] arm64: dts: qcom: sdm845: Limit ipa iommu streams

On Tue 24 Nov 13:18 CST 2020, Alex Elder wrote:

> On 11/22/20 11:23 PM, Bjorn Andersson wrote:
> > The Android and Windows firmware does not accept the use of 3 as a mask
> > to cover the IPA streams. But with 0x721 being related to WiFi and 0x723
> > being unsed the mapping can be reduced to just cover 0x720 and 0x722,
> > which is accepted.
>
> Do you want to update sc7180.dtsi too?
>

We probably want that too, but currently we don't have any sc7180
devices that shows this problem...

> I tried your change on my SDM845 machine and observed no
> problem. I tried the comparable change in "sc7180.dtsi"
> (using 440 and 442) and that seemed to work as before also.
>
> If you think that's sufficient, you can add:
>
> Tested-by: Alex Elder <[email protected]>
>
> Otherwise:
>
> Acked-by: Alex Elder <[email protected]>
>

Thank you,
Bjorn

>
> > Fixes: e9e89c45bfeb ("arm64: dts: sdm845: add IPA iommus property")
> > Signed-off-by: Bjorn Andersson <[email protected]>
> > ---
> > arch/arm64/boot/dts/qcom/sdm845.dtsi | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > index 0da27b065761..a6147bd54cdf 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > @@ -2136,7 +2136,8 @@ ufs_mem_phy_lanes: lanes@1d87400 {
> > ipa: ipa@1e40000 {
> > compatible = "qcom,sdm845-ipa";
> > - iommus = <&apps_smmu 0x720 0x3>;
> > + iommus = <&apps_smmu 0x720 0x0>,
> > + <&apps_smmu 0x722 0x0>;
> > reg = <0 0x1e40000 0 0x7000>,
> > <0 0x1e47000 0 0x2000>,
> > <0 0x1e04000 0 0x2c000>;
> >
>