iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
authorSricharan R <sricharan@codeaurora.org>
Fri, 6 Jan 2017 13:28:15 +0000 (18:58 +0530)
committerWill Deacon <will.deacon@arm.com>
Thu, 19 Jan 2017 15:56:20 +0000 (15:56 +0000)
Currently the driver sets all the device transactions privileges
to UNPRIVILEGED, but there are cases where the iommu masters wants
to isolate privileged supervisor and unprivileged user.
So don't override the privileged setting to unprivileged, instead
set it to default as incoming and let it be controlled by the pagetable
settings.

Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu.c

index a60cded8a6eddf445dcb1e2b0177999c207c8a74..73a0a250db25de23576d8e31341369d86b6ee05a 100644 (file)
@@ -1214,7 +1214,7 @@ static int arm_smmu_domain_add_master(struct arm_smmu_domain *smmu_domain,
                        continue;
 
                s2cr[idx].type = type;
-               s2cr[idx].privcfg = S2CR_PRIVCFG_UNPRIV;
+               s2cr[idx].privcfg = S2CR_PRIVCFG_DEFAULT;
                s2cr[idx].cbndx = cbndx;
                arm_smmu_write_s2cr(smmu, idx);
        }