Messages in this thread | | | From | Oded Gabbay <> | Date | Thu, 30 Jul 2015 13:08:46 +0300 | Subject | Re: [PATCH] iommu/amd: Allow non-ATS devices in IOMMUv2 domains |
| |
Joerg, Why amdkfd's devices are considered a non-IOMMUv2 capable devices ? After all, they contain the IOMMUv2 H/W and use it constantly for HSA.
ODed
On Thu, Jul 30, 2015 at 1:05 PM, Joerg Roedel <joro@8bytes.org> wrote: > From: Joerg Roedel <jroedel@suse.de> > > With the grouping of multi-function devices a non-ATS > capable device might also end up in the same domain as an > IOMMUv2 capable device. > So handle this situation gracefully and don't consider it a > bug anymore. > > Signed-off-by: Joerg Roedel <jroedel@suse.de> > --- > drivers/iommu/amd_iommu.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c > index fa9508b..658ee39 100644 > --- a/drivers/iommu/amd_iommu.c > +++ b/drivers/iommu/amd_iommu.c > @@ -3318,7 +3318,12 @@ static int __flush_pasid(struct protection_domain *domain, int pasid, > struct amd_iommu *iommu; > int qdep; > > - BUG_ON(!dev_data->ats.enabled); > + /* > + There might be non-IOMMUv2 capable devices in an IOMMUv2 > + * domain. > + */ > + if (!dev_data->ats.enabled) > + continue; > > qdep = dev_data->ats.qdep; > iommu = amd_iommu_rlookup_table[dev_data->devid]; > -- > 1.9.1 >
| |