Re: [PATCH 2/6] arm64: dts: qcom: sm8250: add apps_smmu node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 5/25/20 5:42 AM, Sai Prakash Ranjan wrote:
Hi Jonathan,

On 2020-05-24 08:08, Jonathan Marek wrote:
Add the apps_smmu node for sm8250. Note that adding the iommus field for
UFS is required because initializing the iommu removes the bypass mapping
that created by the bootloader.


This statement doesn't seem right, you can just say since the bypass is disabled by default now, we need to add this property to enable translation and avoid global faults.


If I use this patch [1] then the UFS iommu property isn't needed. In downstream, the identity (bypass?) stream mapping is inherited from the bootloader, and UFS is used without any iommu property. Setting ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=n doesn't make it work on its own (without the UFS iommu property), so there's more to it than just "bypass is disabled by default now".

https://patchwork.kernel.org/patch/11310757/

Signed-off-by: Jonathan Marek <jonathan@xxxxxxxx>
---
 arch/arm64/boot/dts/qcom/sm8250.dtsi | 107 +++++++++++++++++++++++++++
 1 file changed, 107 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi
b/arch/arm64/boot/dts/qcom/sm8250.dtsi
index 2f99c350c287..43c5e48c15e2 100644
--- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
@@ -323,6 +323,8 @@ ufs_mem_hc: ufshc@1d84000 {

             power-domains = <&gcc UFS_PHY_GDSC>;

+            iommus = <&apps_smmu 0x0e0 0>, <&apps_smmu 0x4e0 0>;
+
             clock-names =
                 "core_clk",
                 "bus_aggr_clk",
@@ -428,6 +430,111 @@ tlmm: pinctrl@f100000 {
             wakeup-parent = <&pdc>;
         };

+        apps_smmu: iommu@15000000 {
+            compatible = "qcom,sdm845-smmu-500", "arm,mmu-500";

This should be qcom,sm8250-smmu-500 and also you need to update the arm-smmu
binding with this compatible in a separate patch.

-Sai




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux