[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260205093356.4328-1-daizhiyuan@phytium.com.cn>
Date: Thu, 5 Feb 2026 17:33:56 +0800
From: Zhiyuan Dai <daizhiyuan@...tium.com.cn>
To: will@...nel.org,
joro@...tes.org
Cc: robin.murphy@....com,
linux-arm-kernel@...ts.infradead.org,
iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Zhiyuan Dai <daizhiyuan@...tium.com.cn>
Subject: [PATCH] iommu/arm-smmu-v3: Restrict MMU-700 errata 2268618 and 2812531 to affected
According to SDEN-1786925, Arm errata 2268618 and 2812531 are present in
r0p0, r0p1, and r1p0, and fixed in r1p1.
Introduce this patch to avoid performance degradation caused by
restricting features on unaffected revisions.
Signed-off-by: Zhiyuan Dai <daizhiyuan@...tium.com.cn>
---
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
index d16d35c78c06..7eadb27eb9be 100644
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
@@ -4272,11 +4272,13 @@ static void arm_smmu_device_iidr_probe(struct arm_smmu_device *smmu)
smmu->features &= ~ARM_SMMU_FEAT_NESTING;
break;
case IIDR_PRODUCTID_ARM_MMU_700:
- /* Arm erratum 2812531 */
- smmu->features &= ~ARM_SMMU_FEAT_BTM;
- smmu->options |= ARM_SMMU_OPT_CMDQ_FORCE_SYNC;
- /* Arm errata 2268618, 2812531 */
- smmu->features &= ~ARM_SMMU_FEAT_NESTING;
+ if (variant <= 1 && revision < 0) {
+ /* Arm erratum 2812531 */
+ smmu->features &= ~ARM_SMMU_FEAT_BTM;
+ smmu->options |= ARM_SMMU_OPT_CMDQ_FORCE_SYNC;
+ /* Arm errata 2268618, 2812531 */
+ smmu->features &= ~ARM_SMMU_FEAT_NESTING;
+ }
break;
}
break;
--
2.51.0
Powered by blists - more mailing lists