* [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