mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] iommu/amd: Allow non-ATS devices in IOMMUv2 domains
@ 2015-07-30 10:05 Joerg Roedel
  2015-07-30 10:08 ` Oded Gabbay
  2015-07-30 10:11 ` Oded Gabbay
  0 siblings, 2 replies; 4+ messages in thread
From: Joerg Roedel @ 2015-07-30 10:05 UTC (permalink / raw)
  To: iommu; +Cc: linux-kernel, Oded Gabbay, Joerg Roedel

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-30 11:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-30 10:05 [PATCH] iommu/amd: Allow non-ATS devices in IOMMUv2 domains Joerg Roedel
2015-07-30 10:08 ` Oded Gabbay
2015-07-30 11:24   ` Joerg Roedel
2015-07-30 10:11 ` Oded Gabbay

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome