diff mbox series

[1/1] arm64: dts: marvell: keep SMMU disabled by default for Armada 7040 and 8040

Message ID 20201105112602.164739-1-tn@semihalf.com
State Accepted
Commit f43cadef2df260101497a6aace05e24201f00202
Headers show
Series [1/1] arm64: dts: marvell: keep SMMU disabled by default for Armada 7040 and 8040 | expand

Commit Message

Tomasz Nowicki Nov. 5, 2020, 11:26 a.m. UTC
FW has to configure devices' StreamIDs so that SMMU is able to lookup
context and do proper translation later on. For Armada 7040 & 8040 and
publicly available FW, most of the devices are configured properly,
but some like ap_sdhci0, PCIe, NIC still remain unassigned which
results in SMMU faults about unmatched StreamID (assuming
ARM_SMMU_DISABLE_BYPASS_BY_DEFAUL=y).

Since there is dependency on custom FW let SMMU be disabled by default.
People who still willing to use SMMU need to enable manually and
use ARM_SMMU_DISABLE_BYPASS_BY_DEFAUL=n (or via kernel command line)
with extra caution.

Fixes: 83a3545d9c37 ("arm64: dts: marvell: add SMMU support")
Cc: <stable@vger.kernel.org> # 5.9+
Signed-off-by: Tomasz Nowicki <tn@semihalf.com>
---
 arch/arm64/boot/dts/marvell/armada-7040.dtsi | 4 ----
 arch/arm64/boot/dts/marvell/armada-8040.dtsi | 4 ----
 2 files changed, 8 deletions(-)

Comments

Gregory CLEMENT Nov. 30, 2020, 2:36 p.m. UTC | #1
Hi,

> FW has to configure devices' StreamIDs so that SMMU is able to lookup

> context and do proper translation later on. For Armada 7040 & 8040 and

> publicly available FW, most of the devices are configured properly,

> but some like ap_sdhci0, PCIe, NIC still remain unassigned which

> results in SMMU faults about unmatched StreamID (assuming

> ARM_SMMU_DISABLE_BYPASS_BY_DEFAUL=y).

>

> Since there is dependency on custom FW let SMMU be disabled by default.

> People who still willing to use SMMU need to enable manually and

> use ARM_SMMU_DISABLE_BYPASS_BY_DEFAUL=n (or via kernel command line)

> with extra caution.

>

> Fixes: 83a3545d9c37 ("arm64: dts: marvell: add SMMU support")

> Cc: <stable@vger.kernel.org> # 5.9+

> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>



Applied on mvebu/dt64

Thanks,

Gregory

> ---

>  arch/arm64/boot/dts/marvell/armada-7040.dtsi | 4 ----

>  arch/arm64/boot/dts/marvell/armada-8040.dtsi | 4 ----

>  2 files changed, 8 deletions(-)

>

> diff --git a/arch/arm64/boot/dts/marvell/armada-7040.dtsi b/arch/arm64/boot/dts/marvell/armada-7040.dtsi

> index 7a3198cd7a07..2f440711d21d 100644

> --- a/arch/arm64/boot/dts/marvell/armada-7040.dtsi

> +++ b/arch/arm64/boot/dts/marvell/armada-7040.dtsi

> @@ -15,10 +15,6 @@ / {

>  		     "marvell,armada-ap806";

>  };

>  

> -&smmu {

> -	status = "okay";

> -};

> -

>  &cp0_pcie0 {

>  	iommu-map =

>  		<0x0   &smmu 0x480 0x20>,

> diff --git a/arch/arm64/boot/dts/marvell/armada-8040.dtsi b/arch/arm64/boot/dts/marvell/armada-8040.dtsi

> index 79e8ce59baa8..22c2d6ebf381 100644

> --- a/arch/arm64/boot/dts/marvell/armada-8040.dtsi

> +++ b/arch/arm64/boot/dts/marvell/armada-8040.dtsi

> @@ -15,10 +15,6 @@ / {

>  		     "marvell,armada-ap806";

>  };

>  

> -&smmu {

> -	status = "okay";

> -};

> -

>  &cp0_pcie0 {

>  	iommu-map =

>  		<0x0   &smmu 0x480 0x20>,

> -- 

> 2.25.1

>


-- 
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/marvell/armada-7040.dtsi b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
index 7a3198cd7a07..2f440711d21d 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-7040.dtsi
@@ -15,10 +15,6 @@  / {
 		     "marvell,armada-ap806";
 };
 
-&smmu {
-	status = "okay";
-};
-
 &cp0_pcie0 {
 	iommu-map =
 		<0x0   &smmu 0x480 0x20>,
diff --git a/arch/arm64/boot/dts/marvell/armada-8040.dtsi b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
index 79e8ce59baa8..22c2d6ebf381 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-8040.dtsi
@@ -15,10 +15,6 @@  / {
 		     "marvell,armada-ap806";
 };
 
-&smmu {
-	status = "okay";
-};
-
 &cp0_pcie0 {
 	iommu-map =
 		<0x0   &smmu 0x480 0x20>,