* [PATCH v5 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264
[not found] <20260709095613.831769-1-amhetre@nvidia.com>
@ 2026-07-09 9:56 ` Ashish Mhetre
2026-07-10 4:25 ` Nicolin Chen
0 siblings, 1 reply; 3+ messages in thread
From: Ashish Mhetre @ 2026-07-09 9:56 UTC (permalink / raw)
To: Catalin Marinas, Will Deacon, Jonathan Corbet, Shuah Khan,
Robin Murphy, Joerg Roedel (AMD)
Cc: linux-tegra, Ashish Mhetre, linux-arm-kernel, linux-doc,
linux-kernel, iommu
Nvidia Tegra264 SMMU is affected by an erratum where a TLB entry can
survive an invalidation that races with concurrent traffic targeting
the same entry. The hardware-recommended software workaround is to
issue every CFGI/TLBI command (each followed by CMD_SYNC) twice, and
that infrastructure is already in place behind
arm_smmu_erratum_repeat_tlbi_cfgi_key.
Neither IDR nor IIDR flags this Tegra264-specific bug, so hardware
detection is not possible. Tegra264 is device-tree-only (no ACPI/IORT
support) and already has a dedicated "nvidia,tegra264-smmu" compatible,
so DT-probe is the only viable detection path.
Enable the workaround on instances matching the existing
"nvidia,tegra264-smmu" compatible by calling static_branch_enable() on
arm_smmu_erratum_repeat_tlbi_cfgi_key. Document the erratum in
Documentation/arch/arm64/silicon-errata.rst.
Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
---
Documentation/arch/arm64/silicon-errata.rst | 2 ++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/arch/arm64/silicon-errata.rst b/Documentation/arch/arm64/silicon-errata.rst
index 014aa1c215a1..076b3947d259 100644
--- a/Documentation/arch/arm64/silicon-errata.rst
+++ b/Documentation/arch/arm64/silicon-errata.rst
@@ -312,6 +312,8 @@ stable kernels.
| | | T241-MPAM-4, | |
| | | T241-MPAM-6 | |
+----------------+-----------------+-----------------+-----------------------------+
+| NVIDIA | T264 SMMU | T264-SMMU-3 | N/A |
++----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
+----------------+-----------------+-----------------+-----------------------------+
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 15b9d0170520..edb7a5d38cf9 100644
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
@@ -5331,8 +5331,10 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev,
if (of_dma_is_coherent(dev->of_node))
smmu->features |= ARM_SMMU_FEAT_COHERENCY;
- if (of_device_is_compatible(dev->of_node, "nvidia,tegra264-smmu"))
+ if (of_device_is_compatible(dev->of_node, "nvidia,tegra264-smmu")) {
tegra_cmdqv_dt_probe(dev->of_node, smmu);
+ static_branch_enable(&arm_smmu_erratum_repeat_tlbi_cfgi_key);
+ }
return ret;
}
--
2.50.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v5 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264
2026-07-09 9:56 ` [PATCH v5 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264 Ashish Mhetre
@ 2026-07-10 4:25 ` Nicolin Chen
2026-07-10 6:36 ` Ashish Mhetre
0 siblings, 1 reply; 3+ messages in thread
From: Nicolin Chen @ 2026-07-10 4:25 UTC (permalink / raw)
To: Ashish Mhetre
Cc: Catalin Marinas, Will Deacon, Jonathan Corbet, Shuah Khan,
Robin Murphy, Joerg Roedel (AMD), linux-tegra, linux-arm-kernel,
linux-doc, linux-kernel, iommu
On Thu, Jul 09, 2026 at 09:56:09AM +0000, Ashish Mhetre wrote:
> Nvidia Tegra264 SMMU is affected by an erratum where a TLB entry can
> survive an invalidation that races with concurrent traffic targeting
> the same entry. The hardware-recommended software workaround is to
> issue every CFGI/TLBI command (each followed by CMD_SYNC) twice, and
> that infrastructure is already in place behind
> arm_smmu_erratum_repeat_tlbi_cfgi_key.
>
> Neither IDR nor IIDR flags this Tegra264-specific bug, so hardware
> detection is not possible. Tegra264 is device-tree-only (no ACPI/IORT
> support) and already has a dedicated "nvidia,tegra264-smmu" compatible,
> so DT-probe is the only viable detection path.
>
> Enable the workaround on instances matching the existing
> "nvidia,tegra264-smmu" compatible by calling static_branch_enable() on
> arm_smmu_erratum_repeat_tlbi_cfgi_key. Document the erratum in
> Documentation/arch/arm64/silicon-errata.rst.
>
> Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Sashiko pointed out a concern at PATCH-3 regarding the static key:
https://sashiko.dev/#/patchset/20260709095613.831769-1-amhetre%40nvidia.com
It's a false positive. But perhaps we could fold in an inline note;
it'd belong to the missing description that I commented in PATCH-2.
Nicolin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v5 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264
2026-07-10 4:25 ` Nicolin Chen
@ 2026-07-10 6:36 ` Ashish Mhetre
0 siblings, 0 replies; 3+ messages in thread
From: Ashish Mhetre @ 2026-07-10 6:36 UTC (permalink / raw)
To: Nicolin Chen
Cc: Catalin Marinas, Will Deacon, Jonathan Corbet, Shuah Khan,
Robin Murphy, Joerg Roedel (AMD), linux-tegra, linux-arm-kernel,
linux-doc, linux-kernel, iommu
On 7/10/2026 9:55 AM, Nicolin Chen wrote:
> On Thu, Jul 09, 2026 at 09:56:09AM +0000, Ashish Mhetre wrote:
>> Nvidia Tegra264 SMMU is affected by an erratum where a TLB entry can
>> survive an invalidation that races with concurrent traffic targeting
>> the same entry. The hardware-recommended software workaround is to
>> issue every CFGI/TLBI command (each followed by CMD_SYNC) twice, and
>> that infrastructure is already in place behind
>> arm_smmu_erratum_repeat_tlbi_cfgi_key.
>>
>> Neither IDR nor IIDR flags this Tegra264-specific bug, so hardware
>> detection is not possible. Tegra264 is device-tree-only (no ACPI/IORT
>> support) and already has a dedicated "nvidia,tegra264-smmu" compatible,
>> so DT-probe is the only viable detection path.
>>
>> Enable the workaround on instances matching the existing
>> "nvidia,tegra264-smmu" compatible by calling static_branch_enable() on
>> arm_smmu_erratum_repeat_tlbi_cfgi_key. Document the erratum in
>> Documentation/arch/arm64/silicon-errata.rst.
>>
>> Signed-off-by: Ashish Mhetre <amhetre@nvidia.com>
> Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
>
> Sashiko pointed out a concern at PATCH-3 regarding the static key:
> https://sashiko.dev/#/patchset/20260709095613.831769-1-amhetre%40nvidia.com
>
> It's a false positive. But perhaps we could fold in an inline note;
> it'd belong to the missing description that I commented in PATCH-2.
>
> Nicolin
Ack, I will address this in v6.
Thanks,
Ashish Mhetre
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-10 6:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260709095613.831769-1-amhetre@nvidia.com>
2026-07-09 9:56 ` [PATCH v5 3/3] iommu/arm-smmu-v3: Enable CFGI/TLBI-repeat workaround on Tegra264 Ashish Mhetre
2026-07-10 4:25 ` Nicolin Chen
2026-07-10 6:36 ` Ashish Mhetre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox