From: Bjorn Helgaas <helgaas@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: "Baolu Lu" <baolu.lu@linux.intel.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Joerg Roedel" <jroedel@suse.de>,
"Matt Fagnani" <matt.fagnani@bell.net>,
"Christian König" <christian.koenig@amd.com>,
"Kevin Tian" <kevin.tian@intel.com>,
"Vasant Hegde" <vasant.hegde@amd.com>,
"Tony Zhu" <tony.zhu@intel.com>,
linux-pci@vger.kernel.org, iommu@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/1] PCI: Add translated request only flag for pci_enable_pasid()
Date: Tue, 31 Jan 2023 17:50:52 -0600 [thread overview]
Message-ID: <20230131235052.GA1811430@bhelgaas> (raw)
In-Reply-To: <Y9gQxCmzqq6WXZK4@nvidia.com>
On Mon, Jan 30, 2023 at 02:47:32PM -0400, Jason Gunthorpe wrote:
> On Mon, Jan 30, 2023 at 12:38:10PM -0600, Bjorn Helgaas wrote:
>
> > Sorry, I'm still confused. PCI_PASID_XLATED_REQ_ONLY is a
> > device-specific property, and you want to opt-in AMD graphics devices.
> > Where's the AMD graphics-specific change? The current patch does
> > this:
> >
> > pdev_pri_ats_enable
> > pci_enable_pasid(pdev, 0, PCI_PASID_XLATED_REQ_ONLY)
> >
> > which looks like it does it for *all* devices below an AMD IOMMU,
> > without any device or driver input.
>
> AMD GPU has a private interface to AMD IOMMU to support PASID support
> that only it uses.
What is it that makes this a private interface? It seems like we will
end up enabling PASID on any device below an AMD v2 IOMMU.
I do see the DRM amdgpu_amdkfd_device_init() path that ends up at
domain_enable_v2(). Maybe that's it?
But amd_iommu_domain_alloc() also leads to domain_enable_v2(), and
that's pretty generic, so it looks like we set PD_IOMMUV2_MASK
whenever the IOMMU supports it.
And it seems like we call pci_enable_pasid() for all endpoints below
a v2 IOMMU. Of course, if the endpoint doesn't have a PASID cap,
pci_enable_pasid() fails (and pdev_pri_ats_enable() probably splats
useless warnings when we try to disable PRI and PASID which haven't
been enabled).
I guess I'm trying to convince myself that no harm in enabling PASID
for any device below an AMD v2 IOMMU. But I don't think a device is
*required* to use translated addresses with PASID, and if it uses
untranslated addresses with PASID, don't we need ACS to avoid
misrouting?
Bjorn
next prev parent reply other threads:[~2023-01-31 23:51 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-14 7:34 [PATCH v3 1/1] PCI: Add translated request only flag for pci_enable_pasid() Lu Baolu
2023-01-16 15:42 ` Jason Gunthorpe
2023-01-27 11:30 ` Linux kernel regression tracking (Thorsten Leemhuis)
2023-01-27 17:30 ` Bjorn Helgaas
2023-01-28 7:52 ` Tian, Kevin
2023-01-29 8:42 ` Baolu Lu
2023-01-30 18:38 ` Bjorn Helgaas
2023-01-30 18:47 ` Jason Gunthorpe
2023-01-31 23:50 ` Bjorn Helgaas [this message]
2023-02-01 2:28 ` Jason Gunthorpe
2023-01-31 12:25 ` Baolu Lu
2023-02-01 16:58 ` Bjorn Helgaas
2023-02-02 3:08 ` Baolu Lu
2023-02-02 20:12 ` Bjorn Helgaas
2023-02-02 20:45 ` Jason Gunthorpe
2023-02-03 18:20 ` Bjorn Helgaas
2023-02-03 18:52 ` Jason Gunthorpe
2023-02-06 4:28 ` Tian, Kevin
2023-01-31 12:56 ` Baolu Lu
2023-02-01 0:14 ` Bjorn Helgaas
2023-02-01 2:36 ` Jason Gunthorpe
2023-02-01 14:09 ` Jonathan Cameron
2023-02-01 5:18 ` Vasant Hegde
2023-02-01 5:51 ` Baolu Lu
2023-02-01 5:59 ` Baolu Lu
2023-02-01 6:31 ` Baolu Lu
2023-02-01 14:22 ` Jason Gunthorpe
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=20230131235052.GA1811430@bhelgaas \
--to=helgaas@kernel.org \
--cc=baolu.lu@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=christian.koenig@amd.com \
--cc=iommu@lists.linux.dev \
--cc=jgg@nvidia.com \
--cc=jroedel@suse.de \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=matt.fagnani@bell.net \
--cc=tony.zhu@intel.com \
--cc=vasant.hegde@amd.com \
/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;
as well as URLs for NNTP newsgroup(s).