Re: [PATCH 4/4] dmaengine/idxd: Re-enable kernel workqueue under DMA API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jason,

On Thu, 2 Mar 2023 08:57:48 -0400, Jason Gunthorpe <jgg@xxxxxxxxxx> wrote:

> On Thu, Mar 02, 2023 at 09:47:00AM +0000, Tian, Kevin wrote:
> > > From: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
> > > Sent: Thursday, March 2, 2023 9:00 AM
> > > 
> > >  static int idxd_enable_system_pasid(struct idxd_device *idxd)
> > >  {
> > > -	return -EOPNOTSUPP;
> > > +	struct pci_dev *pdev = idxd->pdev;
> > > +	struct device *dev = &pdev->dev;
> > > +	struct iommu_domain *domain;
> > > +	union gencfg_reg gencfg;
> > > +	ioasid_t pasid;
> > > +	int ret;
> > > +
> > > +	domain = iommu_get_domain_for_dev(dev);
> > > +	if (!domain || domain->type == IOMMU_DOMAIN_BLOCKED)
> > > +		return -EPERM;  
> > 
> > what about UNMANAGED?  
> 
> Why are we checking this anyhow?
> 
> Get the domain the DMA API is using and feed it to
> iommu_attach_device_pasid(). If the driver can't mirror the DMA API's
> domain onto the PASID then it will just fail the attach. A domain
> cannot even be NULL on x86.
makes sense,

Thanks,

Jacob



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux