Re: [PATCHv6 3/3] iommu: arm-smmu-impl: Add sdm845 implementation hook

From: Sai Prakash Ranjan
Date: Wed Sep 18 2019 - 23:13:20 EST


On 2019-09-19 06:27, Stephen Boyd wrote:
Quoting Sai Prakash Ranjan (2019-09-17 02:45:04)
diff --git a/drivers/iommu/arm-smmu-impl.c b/drivers/iommu/arm-smmu-impl.c
index 3f88cd078dd5..d62da270f430 100644
--- a/drivers/iommu/arm-smmu-impl.c
+++ b/drivers/iommu/arm-smmu-impl.c
@@ -9,7 +9,6 @@

#include "arm-smmu.h"

-
static int arm_smmu_gr0_ns(int offset)
{
switch(offset) {

Why is this hunk still around?

I remember correcting this in previous version but somehow slipped in this version. Will correct it.


diff --git a/drivers/iommu/arm-smmu-qcom.c b/drivers/iommu/arm-smmu-qcom.c
new file mode 100644
index 000000000000..24c071c1d8b0
--- /dev/null
+++ b/drivers/iommu/arm-smmu-qcom.c
@@ -0,0 +1,51 @@
[...]
+struct arm_smmu_device *qcom_smmu_impl_init(struct arm_smmu_device *smmu)
+{
+ struct qcom_smmu *qsmmu;
+
+ qsmmu = devm_kzalloc(smmu->dev, sizeof(*qsmmu), GFP_KERNEL);
+ if (!qsmmu)
+ return ERR_PTR(-ENOMEM);
+
+ qsmmu->smmu = *smmu;
+
+ qsmmu->smmu.impl = &qcom_smmu_impl;
+ devm_kfree(smmu->dev, smmu);

This copy is interesting but OK I guess cavium does it.


This is from nvidia impl since Robin pointed me at its implementation.

+
+ return &qsmmu->smmu;
+}

Thanks,
Sai

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation