On 5/3/21 3:57 PM, Jason Gunthorpe wrote:
On Mon, May 03, 2021 at 02:54:26PM -0700, John Hubbard wrote:
I guess my main concern here is that there are these pci*() functions
that somehow want to pass around struct device.
Well, this is the main issue - helpers being used inside IOMMU code
should not be called pci* functions. This is some generic device p2p
interface that happens to only support PCI to PCI transfers today.
Yes, maybe renaming a few levels of functions would help at least clarify
what the code can do. Once the code reaches layers that truly are
PCI-specific, that's where it should transition to using pci_dev args,
and that's also where it should return -ENOTSUPP back up the calling
stack.
thanks,
--
John Hubbard
NVIDIA