From: Jason Gunthorpe <jgg@ziepe.ca>
To: Shameer Kolothum <skolothumtho@nvidia.com>
Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org,
joro@8bytes.org, will@kernel.org, robin.murphy@arm.com,
baolu.lu@linux.intel.com, kevin.tian@intel.com,
nicolinc@nvidia.com, nathanc@nvidia.com, mochs@nvidia.com,
kjaju@nvidia.com
Subject: Re: [PATCH 1/2] iommu: Add device ATS not supported capability
Date: Fri, 13 Mar 2026 13:47:17 -0300 [thread overview]
Message-ID: <20260313164717.GE1704121@ziepe.ca> (raw)
In-Reply-To: <20260303150348.233997-2-skolothumtho@nvidia.com>
On Tue, Mar 03, 2026 at 03:03:47PM +0000, Shameer Kolothum wrote:
> PCIe ATS may be disabled by platform firmware, root complex limitations,
> or kernel policy even when a device advertises the ATS capability in its
> PCI configuration space.
>
> Add a new IOMMU_CAP_PCI_ATS_NOT_SUPPORTED capability to allow IOMMU
> drivers to report the effective ATS decision for a device.
>
> When this capability is returned true for a device, ATS is not
> supported and not used for that device, regardless of the presence
> of the PCI ATS capability.
>
> A subsequent patch will extend iommufd to expose the effective ATS
> status to userspace.
>
> Suggested-by: Jason Gunthorpe <jgg@nvidia.com>
> Signed-off-by: Shameer Kolothum <skolothumtho@nvidia.com>
> ---
> include/linux/iommu.h | 2 ++
> drivers/iommu/amd/iommu.c | 6 ++++++
> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c | 3 +++
> drivers/iommu/intel/iommu.c | 2 ++
> 4 files changed, 13 insertions(+)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index 54b8b48c762e..f40ecdc5d761 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -271,6 +271,8 @@ enum iommu_cap {
> */
> IOMMU_CAP_DEFERRED_FLUSH,
> IOMMU_CAP_DIRTY_TRACKING, /* IOMMU supports dirty tracking */
> + /* ATS is not supported and not used on this device */
> + IOMMU_CAP_PCI_ATS_NOT_SUPPORTED,
I think this one we should invert so it has saner semantics in-kernel
and for the drivers.
IOMMU_CAP_PCI_ATS_SUPPORTED
And then if not implemented it follows the usual cap protocol meaning
the iommu driver does nto support ATS.
It can be inverted by iommufd for the uapi.
Looks OK otherwise
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
next prev parent reply other threads:[~2026-03-13 16:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 15:03 [PATCH 0/2] iommu: Report effective PCIe ATS support status Shameer Kolothum
2026-03-03 15:03 ` [PATCH 1/2] iommu: Add device ATS not supported capability Shameer Kolothum
2026-03-03 22:42 ` Samiullah Khawaja
2026-03-03 23:28 ` Jason Gunthorpe
2026-03-04 0:14 ` Samiullah Khawaja
2026-03-04 8:31 ` Shameer Kolothum Thodi
2026-03-13 16:47 ` Jason Gunthorpe [this message]
2026-03-13 16:48 ` Jason Gunthorpe
2026-03-13 16:55 ` Shameer Kolothum Thodi
2026-03-03 15:03 ` [PATCH 2/2] iommufd: Report ATS not supported status via IOMMU_GET_HW_INFO Shameer Kolothum
2026-03-04 0:17 ` Samiullah Khawaja
2026-03-13 16:50 ` Jason Gunthorpe
2026-03-13 16:57 ` Shameer Kolothum Thodi
2026-03-16 8:10 ` Tian, Kevin
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=20260313164717.GE1704121@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--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=skolothumtho@nvidia.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