Skip to content

Commit 0bfbfc5

Browse files
rmurphy-armwilldeacon
authored andcommitted
iommu/arm-smmu-v3: Document nesting-related errata
Both MMU-600 and MMU-700 have similar errata around TLB invalidation while both stages of translation are active, which will need some consideration once nesting support is implemented. For now, though, it's very easy to make our implicit lack of nesting support explicit for those cases, so they're less likely to be missed in future. Signed-off-by: Robin Murphy <[email protected]> Reviewed-by: Nicolin Chen <[email protected]> Link: https://lore.kernel.org/r/696da78d32bb4491f898f11b0bb4d850a8aa7c6a.1683731256.git.robin.murphy@arm.com Signed-off-by: Will Deacon <[email protected]>
1 parent 1d9777b commit 0bfbfc5

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

Documentation/arm64/silicon-errata.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,9 @@ stable kernels.
140140
+----------------+-----------------+-----------------+-----------------------------+
141141
| ARM | MMU-500 | #841119,826419 | N/A |
142142
+----------------+-----------------+-----------------+-----------------------------+
143-
| ARM | MMU-600 | #1076982 | N/A |
143+
| ARM | MMU-600 | #1076982,1209401| N/A |
144144
+----------------+-----------------+-----------------+-----------------------------+
145-
| ARM | MMU-700 | #2812531 | N/A |
145+
| ARM | MMU-700 | #2268618,2812531| N/A |
146146
+----------------+-----------------+-----------------+-----------------------------+
147147
+----------------+-----------------+-----------------+-----------------------------+
148148
| Broadcom | Brahma-B53 | N/A | ARM64_ERRATUM_845719 |

drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3457,11 +3457,16 @@ static void arm_smmu_device_iidr_probe(struct arm_smmu_device *smmu)
34573457
/* Arm erratum 1076982 */
34583458
if (variant == 0 && revision <= 2)
34593459
smmu->features &= ~ARM_SMMU_FEAT_SEV;
3460+
/* Arm erratum 1209401 */
3461+
if (variant < 2)
3462+
smmu->features &= ~ARM_SMMU_FEAT_NESTING;
34603463
break;
34613464
case IIDR_PRODUCTID_ARM_MMU_700:
34623465
/* Arm erratum 2812531 */
34633466
smmu->features &= ~ARM_SMMU_FEAT_BTM;
34643467
smmu->options |= ARM_SMMU_OPT_CMDQ_FORCE_SYNC;
3468+
/* Arm errata 2268618, 2812531 */
3469+
smmu->features &= ~ARM_SMMU_FEAT_NESTING;
34653470
break;
34663471
}
34673472
break;

0 commit comments

Comments
 (0)