iommu/arm-smmu: Update impl quirks comment
authorRobin Murphy <robin.murphy@arm.com>
Wed, 24 Jun 2020 10:24:51 +0000 (11:24 +0100)
committerWill Deacon <will@kernel.org>
Wed, 8 Jul 2020 20:37:50 +0000 (21:37 +0100)
The comment about implementation and integration quirks being
mutually-exclusive is out of date, and in fact the code is already
structured for the case it anticipates, so document that properly.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/1e742177e084621f3454fbaf768325a6c215656a.1592994291.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm-smmu-impl.c

index c75b9d9..1fb4bb9 100644 (file)
@@ -153,10 +153,9 @@ struct arm_smmu_device *arm_smmu_impl_init(struct arm_smmu_device *smmu)
        const struct device_node *np = smmu->dev->of_node;
 
        /*
-        * We will inevitably have to combine model-specific implementation
-        * quirks with platform-specific integration quirks, but everything
-        * we currently support happens to work out as straightforward
-        * mutually-exclusive assignments.
+        * Set the impl for model-specific implementation quirks first,
+        * such that platform integration quirks can pick it up and
+        * inherit from it if necessary.
         */
        switch (smmu->model) {
        case ARM_MMU500:
@@ -168,6 +167,7 @@ struct arm_smmu_device *arm_smmu_impl_init(struct arm_smmu_device *smmu)
                break;
        }
 
+       /* This is implicitly MMU-400 */
        if (of_property_read_bool(np, "calxeda,smmu-secure-config-access"))
                smmu->impl = &calxeda_impl;