Re: [RFC 2/9] iommu/vt-d: add bind_pasid_table function

From: Alex Williamson
Date: Fri Jun 23 2017 - 14:59:08 EST


On Fri, 23 Jun 2017 11:19:52 -0700
Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> wrote:

> On Thu, 22 Jun 2017 16:52:15 -0600
> Alex Williamson <alex.williamson@xxxxxxxxxx> wrote:
>
> > On Wed, 14 Jun 2017 15:22:56 -0700
> > Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> wrote:
> > > +static int intel_iommu_unbind_pasid_table(struct iommu_domain
> > > *domain,
> > > + struct device *dev)
> > > +{
> > > + struct intel_iommu *iommu;
> > > + struct dmar_domain *dmar_domain = to_dmar_domain(domain);
> > > + u8 bus, devfn;
> > > +
> > > + iommu = device_to_iommu(dev, &bus, &devfn);
> > > + if (!iommu)
> > > + return -ENODEV;
> > > + /*
> > > + * REVISIT: we might want to clear the PASID table pointer
> > > + * as part of context clear operation. Currently, it leaves
> > > + * stale data but should be ignored by hardware since
> > > PASIDE
> > > + * is clear.
> > > + */
> > > + /* ATS will be reenabled when remapping is restored */
> > > + pci_disable_ats(to_pci_dev(dev));
> >
> > dev_is_pci()?
> >
> good to check, even thought intel iommu supports PCI only.

That's not true, intel-iommu supports non-PCI devices defined in ACPI
as well. Thanks,

Alex