From: Shameer Kolothum <skolothumtho@nvidia.com>
To: <iommu@lists.linux.dev>, <linux-kernel@vger.kernel.org>
Cc: <joro@8bytes.org>, <will@kernel.org>, <robin.murphy@arm.com>,
<baolu.lu@linux.intel.com>, <jgg@ziepe.ca>,
<kevin.tian@intel.com>, <skhawaja@google.com>,
<nicolinc@nvidia.com>, <nathanc@nvidia.com>, <mochs@nvidia.com>,
<kjaju@nvidia.com>, <skolothumtho@nvidia.com>
Subject: [PATCH v2 0/2] iommu: Report effective PCIe ATS support status
Date: Tue, 17 Mar 2026 11:16:01 +0000 [thread overview]
Message-ID: <20260317111603.101456-1-skolothumtho@nvidia.com> (raw)
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
next reply other threads:[~2026-03-17 11:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 11:16 Shameer Kolothum [this message]
2026-03-17 11:16 ` [PATCH v2 1/2] iommu: Add device ATS supported capability Shameer Kolothum
2026-03-17 11:16 ` [PATCH v2 2/2] iommufd: Report ATS not supported status via IOMMU_GET_HW_INFO Shameer Kolothum
2026-03-17 13:05 ` [PATCH v2 0/2] iommu: Report effective PCIe ATS support status Jörg Rödel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260317111603.101456-1-skolothumtho@nvidia.com \
--to=skolothumtho@nvidia.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kjaju@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mochs@nvidia.com \
--cc=nathanc@nvidia.com \
--cc=nicolinc@nvidia.com \
--cc=robin.murphy@arm.com \
--cc=skhawaja@google.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®