Expose the SMR and S2CR structs in the header file, to allow platform
specific implementations to populate/initialize the smrs and s2cr
arrays.

Tested-by: John Stultz <john.stu...@linaro.org>
Tested-by: Vinod Koul <vk...@kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.anders...@linaro.org>
---

Changes since v1:
- Picked up tested-by

 drivers/iommu/arm-smmu.c | 14 --------------
 drivers/iommu/arm-smmu.h | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 5d5fe6741ed4..08a650fe02e3 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -68,24 +68,10 @@ module_param(disable_bypass, bool, S_IRUGO);
 MODULE_PARM_DESC(disable_bypass,
        "Disable bypass streams such that incoming transactions from devices 
that are not attached to an iommu domain will report an abort back to the 
device and will not be allowed to pass through the SMMU.");
 
-struct arm_smmu_s2cr {
-       struct iommu_group              *group;
-       int                             count;
-       enum arm_smmu_s2cr_type         type;
-       enum arm_smmu_s2cr_privcfg      privcfg;
-       u8                              cbndx;
-};
-
 #define s2cr_init_val (struct arm_smmu_s2cr){                          \
        .type = disable_bypass ? S2CR_TYPE_FAULT : S2CR_TYPE_BYPASS,    \
 }
 
-struct arm_smmu_smr {
-       u16                             mask;
-       u16                             id;
-       bool                            valid;
-};
-
 struct arm_smmu_cb {
        u64                             ttbr[2];
        u32                             tcr[2];
diff --git a/drivers/iommu/arm-smmu.h b/drivers/iommu/arm-smmu.h
index a71d193073e4..bcd160d01c53 100644
--- a/drivers/iommu/arm-smmu.h
+++ b/drivers/iommu/arm-smmu.h
@@ -251,6 +251,21 @@ enum arm_smmu_implementation {
        QCOM_SMMUV2,
 };
 
+struct arm_smmu_s2cr {
+       struct iommu_group              *group;
+       int                             count;
+       enum arm_smmu_s2cr_type         type;
+       enum arm_smmu_s2cr_privcfg      privcfg;
+       u8                              cbndx;
+};
+
+struct arm_smmu_smr {
+       u16                             mask;
+       u16                             id;
+       bool                            valid;
+       bool                            pinned;
+};
+
 struct arm_smmu_device {
        struct device                   *dev;
 
-- 
2.26.2

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to