Re: [PATCH v2 6/7] iommu/arm-smmu-v3: Introduce master->ats_broken flag
From: Nicolin Chen <hidden>
Date: 2026-03-18 20:01:01
Also in:
linux-acpi, linux-iommu, linux-pci, lkml
From: Nicolin Chen <hidden>
Date: 2026-03-18 20:01:01
Also in:
linux-acpi, linux-iommu, linux-pci, lkml
On Wed, Mar 18, 2026 at 07:39:53AM +0000, Tian, Kevin wrote:
quoted
From: Nicolin Chen <redacted> Sent: Wednesday, March 18, 2026 3:16 AM@@ -3060,6 +3079,14 @@ static bool arm_smmu_ats_supported(structarm_smmu_master *master) if (!(fwspec->flags & IOMMU_FWSPEC_PCI_RC_ATS)) return false; + /* + * Reject any new ATS request because ATC invalidation was timed out. + * The PCI device should go through a recovery (reset) and notify the + * SMMUv3 driver via a reset_device_done callback. + */ + if (READ_ONCE(master->ats_broken)) + return false; +"Reject any new ATS request" means any new request to enable ATS on this device, instead of rejecting any new ATS translation request, correct? next patch does the actual work to block ATS...
Yes. We won't call pci_enable_ats() due to !arm_smmu_ats_supported. So, there shouldn't be any new ATS request any more. I will change it to: /* * Do not enable ATS if master->ats_broken is set. The PCI device should * go through a recovery (reset) that shall notify the SMMUv3 driver via * a reset_device_done callback. */ Thanks Nicolin