[PATCH v2 0/2] iommu: Report effective PCIe ATS support status

Shameer Kolothum posted 2 patches 2 weeks, 6 days ago
include/linux/iommu.h                       | 2 ++
include/uapi/linux/iommufd.h                | 4 ++++
drivers/iommu/amd/iommu.c                   | 6 ++++++
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +++
drivers/iommu/intel/iommu.c                 | 2 ++
drivers/iommu/iommufd/device.c              | 4 ++++
6 files changed, 21 insertions(+)
[PATCH v2 0/2] iommu: Report effective PCIe ATS support status
Posted by Shameer Kolothum 2 weeks, 6 days ago
Hi,

Changes from v1:
 https://lore.kernel.org/all/20260303150348.233997-1-skolothumtho@nvidia.com/
 - Addressed feedback and picked up R-by tags. Thanks!
 - Inverted flag to IOMMU_CAP_PCI_ATS_SUPPORTED for IOMMU drivers(patch #1).
 - Updated comments and commit messages to clarify the semantics.

---

PCIe ATS may be disabled by platform firmware, root complex limitations,
or host kernel policy, even when a device advertises the ATS capability
in its PCI config space.

Userspace currently cannot determine whether ATS is effectively supported
for a device. This may lead to incorrect assumptions when ATS appears
present in PCI config space but is disabled by the platform, e.g., in use
cases such as VFIO device pass-through.

This series introduces a new IOMMU capability, IOMMU_CAP_PCI_ATS_SUPPORTED,
to allow drivers to report the effective ATS decision for a device. It also
extends iommufd to expose this information via IOMMU_GET_HW_INFO.

For UAPI compatibility, the iommufd interface exposes this as a negative
capability, IOMMU_HW_CAP_PCI_ATS_NOT_SUPPORTED. On older kernels the flag
will be absent, and userspace will retain the existing behaviour (i.e.
assume ATS is usable if advertised via PCIe CAP).

Please see the related QEMU discussion for SMMUv3 accelerator use case
here[0].

Please take a look and let me know.

Thanks,
Shameer

[0] https://lore.kernel.org/qemu-devel/CH3PR12MB7548515EDA96BD03F64DCAA2AB62A@CH3PR12MB7548.namprd12.prod.outlook.com/

Shameer Kolothum (2):
  iommu: Add device ATS supported capability
  iommufd: Report ATS not supported status via IOMMU_GET_HW_INFO

 include/linux/iommu.h                       | 2 ++
 include/uapi/linux/iommufd.h                | 4 ++++
 drivers/iommu/amd/iommu.c                   | 6 ++++++
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +++
 drivers/iommu/intel/iommu.c                 | 2 ++
 drivers/iommu/iommufd/device.c              | 4 ++++
 6 files changed, 21 insertions(+)

-- 
2.43.0
Re: [PATCH v2 0/2] iommu: Report effective PCIe ATS support status
Posted by Jörg Rödel 2 weeks, 6 days ago
On Tue, Mar 17, 2026 at 11:16:01AM +0000, Shameer Kolothum wrote:
> Shameer Kolothum (2):
>   iommu: Add device ATS supported capability
>   iommufd: Report ATS not supported status via IOMMU_GET_HW_INFO
> 
>  include/linux/iommu.h                       | 2 ++
>  include/uapi/linux/iommufd.h                | 4 ++++
>  drivers/iommu/amd/iommu.c                   | 6 ++++++
>  drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +++
>  drivers/iommu/intel/iommu.c                 | 2 ++
>  drivers/iommu/iommufd/device.c              | 4 ++++
>  6 files changed, 21 insertions(+)

Applied, thanks.