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