Re: [PATCH v6 02/12] iommu: Add pasid_bits field in struct dev_iommu

From: Jason Gunthorpe
Date: Wed May 11 2022 - 08:00:26 EST


On Wed, May 11, 2022 at 09:00:50AM +0100, Jean-Philippe Brucker wrote:

> > /**
> > * struct iommu_device - IOMMU core representation of one IOMMU hardware
> > * instance
> > * @list: Used by the iommu-core to keep a list of registered iommus
> > * @ops: iommu-ops for talking to this iommu
> > * @dev: struct device for sysfs handling
> > */
> > struct iommu_device {
> > struct list_head list;
> > const struct iommu_ops *ops;
> > struct fwnode_handle *fwnode;
> > struct device *dev;
> > };
> >
> > I haven't checked ARM code yet, but it works for x86 as far as I can
> > see.
>
> Arm also supports non-PCI PASID by reading a firmware property:
>
> device_property_read_u32(dev, "pasid-num-bits", &master->ssid_bits);
>
> should be the only difference

That is not "ARM" that is generic DT/ACPI for platform devices and
should be handled by the core code in the same place it does PCI
discovery.

Jason