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

From: Jacob Pan
Date: Fri Jun 23 2017 - 16:20:19 EST


On Fri, 23 Jun 2017 12:59:00 -0600
Alex Williamson <alex.williamson@xxxxxxxxxx> wrote:

> 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,
>
For non-pci device, there is still a pci BDF allocated for it (shown in
ACPI) such that it can have its own IOMMU context, right? e.g. HPET

> Alex

[Jacob Pan]