Messages in this thread | | | Date | Thu, 4 May 2023 14:39:05 -0700 | From | Jacob Pan <> | Subject | Re: [PATCH v5 4/7] iommu/vt-d: Factoring out PASID set up helper function |
| |
Hi Baolu,
On Wed, 3 May 2023 14:37:16 +0800, Baolu Lu <baolu.lu@linux.intel.com> wrote:
> On 4/28/23 5:47 PM, Tian, Kevin wrote: > >> From: Jacob Pan <jacob.jun.pan@linux.intel.com> > >> Sent: Friday, April 28, 2023 1:50 AM > >> > >> > >> +static int dmar_domain_attach_device_pasid(struct dmar_domain *domain, > >> + struct intel_iommu *iommu, > >> + struct device *dev, > >> ioasid_t pasid) +{ > >> + int ret; > >> + > >> + /* PASID table is mandatory for a PCI device in scalable > >> mode. */ > >> + if (!sm_supported(iommu) && dev_is_real_dma_subdevice(dev)) > >> + return -EOPNOTSUPP; > > > > "&&" should be "||" > > > > Also should return success instead if this is a RID case. Perhaps, > > if (!sm_supported(iommu) || dev_is_real_dma_subdevice(dev)) > return pasid == RID2PASID ? 0 : -EOPNOTSUPP; > Yeah, I think this is better. will do.
I was hoping not to treat RIDPASID special here. The caller of this function does the check if that is RIDPASID but code is duplicated.
Thanks,
Jacob
| |