diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index ebca72dec632..56bf0c97237d 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -1715,6 +1715,7 @@ static void arm_smmu_write_context_bank(struct arm_smmu_device *smmu, int idx, reg |= FIELD_PREP(SCTLR_WACFG, SCTLR_WACFG_WA) | FIELD_PREP(SCTLR_RACFG, SCTLR_RACFG_RA) | + FIELD_PREP(SCTLR_SHCFG, SCTLR_SHCFG_OSH) | SCTLR_MTCFG | FIELD_PREP(SCTLR_MEM_ATTR, SCTLR_MEM_ATTR_OISH_WB_CACHE); } else { diff --git a/drivers/iommu/arm-smmu.h b/drivers/iommu/arm-smmu.h index 4f8127b2ee45..14a550ed6aa3 100644 --- a/drivers/iommu/arm-smmu.h +++ b/drivers/iommu/arm-smmu.h @@ -153,6 +153,7 @@ enum arm_smmu_cbar_type { #define SCTLR_RACFG GENMASK(25, 24) #define SCTLR_RACFG_RA 0x2 #define SCTLR_SHCFG GENMASK(23, 22) +#define SCTLR_SHCFG_OSH 0x1 #define SCTLR_SHCFG_NSH 0x3 #define SCTLR_MTCFG BIT(20) #define SCTLR_MEM_ATTR GENMASK(19, 16)