2023-01-23 13:19:50

by Manivannan Sadhasivam

[permalink] [raw]
Subject: [PATCH 0/3] Fix SMMU on SDX55 and SDX65

Hi,

Both SDX55 and SDX65 SoCs are using the Qcom version of the ARM SMMU-500
IP. Even though the SoC specfic compatibles were being used in devicetree,
the compatibles were not added to the arm-smmu-qcom driver. So they end up
using the generic ARM SMMU-500 driver instead.

Spotting this discrepancy, the recent arm,smmu bindings change moved these
SoCs under the non-qcom implementation of the SMMU.

This series fixes the binding by moving the compatibles under qcom impl.
and also adding the "qcom,smmu-500" fallback compatible to the devicetree
so that the qcom implementation can be used without adding SoC specific
entries to the driver.

Thanks,
Mani

Manivannan Sadhasivam (3):
dt-bindings: arm-smmu: Fix binding for SDX55 and SDX65
ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU
node
ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU
node

Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 10 ++--------
arch/arm/boot/dts/qcom-sdx55.dtsi | 2 +-
arch/arm/boot/dts/qcom-sdx65.dtsi | 2 +-
3 files changed, 4 insertions(+), 10 deletions(-)

--
2.25.1



2023-01-23 13:20:03

by Manivannan Sadhasivam

[permalink] [raw]
Subject: [PATCH 1/3] dt-bindings: arm-smmu: Fix binding for SDX55 and SDX65

Both SDX55 and SDX66 SoCs are using the Qualcomm version of the SMMU-500
IP. But the binding lists them under the non-qcom implementation which is
not correct.

So fix the binding by moving these two SoCs under "qcom,smmu-500"
implementation.

Fixes: 6c84bbd103d8 ("dt-bindings: arm-smmu: Add generic qcom,smmu-500 bindings")
Signed-off-by: Manivannan Sadhasivam <[email protected]>
---
Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
index b28c5c2b0ff2..25fd10d39b3c 100644
--- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
+++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
@@ -42,6 +42,8 @@ properties:
- qcom,sc8280xp-smmu-500
- qcom,sdm670-smmu-500
- qcom,sdm845-smmu-500
+ - qcom,sdx55-smmu-500
+ - qcom,sdx65-smmu-500
- qcom,sm6115-smmu-500
- qcom,sm6350-smmu-500
- qcom,sm6375-smmu-500
@@ -52,14 +54,6 @@ properties:
- const: qcom,smmu-500
- const: arm,mmu-500

- - description: Qcom SoCs implementing "arm,mmu-500" (non-qcom implementation)
- deprecated: true
- items:
- - enum:
- - qcom,sdx55-smmu-500
- - qcom,sdx65-smmu-500
- - const: arm,mmu-500
-
- description: Qcom SoCs implementing "arm,mmu-500" (legacy binding)
deprecated: true
items:
--
2.25.1


2023-01-23 13:20:05

by Manivannan Sadhasivam

[permalink] [raw]
Subject: [PATCH 2/3] ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node

SDX55 uses the Qcom version of the SMMU-500 IP. So use "qcom,smmu-500"
compatible as the fallback to the SoC specific compatible.

Cc: <[email protected]> # 5.12
Fixes: a2bdfdfba2af ("ARM: dts: qcom: sdx55: Enable ARM SMMU")
Signed-off-by: Manivannan Sadhasivam <[email protected]>
---
arch/arm/boot/dts/qcom-sdx55.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom-sdx55.dtsi
index f1c0dab40992..93d71aff3fab 100644
--- a/arch/arm/boot/dts/qcom-sdx55.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx55.dtsi
@@ -578,7 +578,7 @@ pil-reloc@94c {
};

apps_smmu: iommu@15000000 {
- compatible = "qcom,sdx55-smmu-500", "arm,mmu-500";
+ compatible = "qcom,sdx55-smmu-500", "qcom,smmu-500", "arm,mmu-500";
reg = <0x15000000 0x20000>;
#iommu-cells = <2>;
#global-interrupts = <1>;
--
2.25.1


2023-01-23 13:20:12

by Manivannan Sadhasivam

[permalink] [raw]
Subject: [PATCH 3/3] ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node

SDX65 uses the Qcom version of the SMMU-500 IP. So use "qcom,smmu-500"
compatible as the fallback to the SoC specific compatible.

Cc: <[email protected]> # 5.19
Fixes: 98187f7b74bf ("ARM: dts: qcom: sdx65: Enable ARM SMMU")
Signed-off-by: Manivannan Sadhasivam <[email protected]>
---
arch/arm/boot/dts/qcom-sdx65.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
index b073e0c63df4..408c4b87d44b 100644
--- a/arch/arm/boot/dts/qcom-sdx65.dtsi
+++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
@@ -455,7 +455,7 @@ pil-reloc@94c {
};

apps_smmu: iommu@15000000 {
- compatible = "qcom,sdx65-smmu-500", "arm,mmu-500";
+ compatible = "qcom,sdx65-smmu-500", "qcom,smmu-500", "arm,mmu-500";
reg = <0x15000000 0x40000>;
#iommu-cells = <2>;
#global-interrupts = <1>;
--
2.25.1


2023-01-23 13:21:17

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/3] ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node



On 23.01.2023 14:19, Manivannan Sadhasivam wrote:
> SDX55 uses the Qcom version of the SMMU-500 IP. So use "qcom,smmu-500"
> compatible as the fallback to the SoC specific compatible.
>
> Cc: <[email protected]> # 5.12
> Fixes: a2bdfdfba2af ("ARM: dts: qcom: sdx55: Enable ARM SMMU")
> Signed-off-by: Manivannan Sadhasivam <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm/boot/dts/qcom-sdx55.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/qcom-sdx55.dtsi b/arch/arm/boot/dts/qcom-sdx55.dtsi
> index f1c0dab40992..93d71aff3fab 100644
> --- a/arch/arm/boot/dts/qcom-sdx55.dtsi
> +++ b/arch/arm/boot/dts/qcom-sdx55.dtsi
> @@ -578,7 +578,7 @@ pil-reloc@94c {
> };
>
> apps_smmu: iommu@15000000 {
> - compatible = "qcom,sdx55-smmu-500", "arm,mmu-500";
> + compatible = "qcom,sdx55-smmu-500", "qcom,smmu-500", "arm,mmu-500";
> reg = <0x15000000 0x20000>;
> #iommu-cells = <2>;
> #global-interrupts = <1>;

2023-01-23 13:21:35

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 3/3] ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node



On 23.01.2023 14:19, Manivannan Sadhasivam wrote:
> SDX65 uses the Qcom version of the SMMU-500 IP. So use "qcom,smmu-500"
> compatible as the fallback to the SoC specific compatible.
>
> Cc: <[email protected]> # 5.19
> Fixes: 98187f7b74bf ("ARM: dts: qcom: sdx65: Enable ARM SMMU")
> Signed-off-by: Manivannan Sadhasivam <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm/boot/dts/qcom-sdx65.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/qcom-sdx65.dtsi b/arch/arm/boot/dts/qcom-sdx65.dtsi
> index b073e0c63df4..408c4b87d44b 100644
> --- a/arch/arm/boot/dts/qcom-sdx65.dtsi
> +++ b/arch/arm/boot/dts/qcom-sdx65.dtsi
> @@ -455,7 +455,7 @@ pil-reloc@94c {
> };
>
> apps_smmu: iommu@15000000 {
> - compatible = "qcom,sdx65-smmu-500", "arm,mmu-500";
> + compatible = "qcom,sdx65-smmu-500", "qcom,smmu-500", "arm,mmu-500";
> reg = <0x15000000 0x40000>;
> #iommu-cells = <2>;
> #global-interrupts = <1>;

2023-01-23 15:49:30

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/3] dt-bindings: arm-smmu: Fix binding for SDX55 and SDX65

On 23/01/2023 14:19, Manivannan Sadhasivam wrote:
> Both SDX55 and SDX66 SoCs are using the Qualcomm version of the SMMU-500
> IP. But the binding lists them under the non-qcom implementation which is
> not correct.
>
> So fix the binding by moving these two SoCs under "qcom,smmu-500"
> implementation.
>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2023-01-24 12:10:31

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH 0/3] Fix SMMU on SDX55 and SDX65

On Mon, 23 Jan 2023 18:49:28 +0530, Manivannan Sadhasivam wrote:
> Both SDX55 and SDX65 SoCs are using the Qcom version of the ARM SMMU-500
> IP. Even though the SoC specfic compatibles were being used in devicetree,
> the compatibles were not added to the arm-smmu-qcom driver. So they end up
> using the generic ARM SMMU-500 driver instead.
>
> Spotting this discrepancy, the recent arm,smmu bindings change moved these
> SoCs under the non-qcom implementation of the SMMU.
>
> [...]

Applied bindings change to will (for-joerg/arm-smmu/bindings), thanks!

[1/3] dt-bindings: arm-smmu: Fix binding for SDX55 and SDX65
https://git.kernel.org/will/c/eb9181a3ae60

Cheers,
--
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev

2023-02-09 04:31:36

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 0/3] Fix SMMU on SDX55 and SDX65

On Mon, 23 Jan 2023 18:49:28 +0530, Manivannan Sadhasivam wrote:
> Both SDX55 and SDX65 SoCs are using the Qcom version of the ARM SMMU-500
> IP. Even though the SoC specfic compatibles were being used in devicetree,
> the compatibles were not added to the arm-smmu-qcom driver. So they end up
> using the generic ARM SMMU-500 driver instead.
>
> Spotting this discrepancy, the recent arm,smmu bindings change moved these
> SoCs under the non-qcom implementation of the SMMU.
>
> [...]

Applied, thanks!

[2/3] ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node
commit: af4ab377543853b690cc85b4c46cf976ab560dc2
[3/3] ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node
commit: 157178a7912e00a0aa0371dc9041952c1a21d112

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