[PATCH v5 3/3] arm64: Hook up IOMMU dma_ops
From: joro@8bytes.org (Joerg Roedel)
Date: 2015-08-07 08:55:17
Also in:
linux-iommu
From: joro@8bytes.org (Joerg Roedel)
Date: 2015-08-07 08:55:17
Also in:
linux-iommu
On Fri, Jul 31, 2015 at 06:18:29PM +0100, Robin Murphy wrote:
+void arch_teardown_dma_ops(struct device *dev)
+{
+ struct iommu_domain *domain = iommu_get_domain_for_dev(dev);
+
+ if (domain) {
+ iommu_detach_device(domain, dev);
+ if (domain->type & __IOMMU_DOMAIN_ARM64_IOVA)
+ iommu_put_dma_cookie(domain);
+ if (domain->type & __IOMMU_DOMAIN_ARM64)
+ iommu_domain_free(domain);
+ dev->archdata.dma_ops = NULL;
+ }
+}When is this called? In case a device gets removed the IOMMU core and driver should take care of destroying the domain, at least when its a default-domain. This is part of the iommu-group handling. Joerg