From: Joerg Roedel Date: Thu, 7 Jul 2016 13:31:13 +0000 (+0200) Subject: iommu/amd: Use dev_data->domain in get_domain() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=d26592a93ddb7a73cbd82b08e2e0d2985d68d750;p=deliverable%2Flinux.git iommu/amd: Use dev_data->domain in get_domain() Using the cached value is much more efficient than calling into the IOMMU core code. Signed-off-by: Joerg Roedel --- diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index acad37c3f0a1..155a3e6f1373 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -2215,16 +2215,11 @@ static void queue_add(struct dma_ops_domain *dma_dom, static struct protection_domain *get_domain(struct device *dev) { struct protection_domain *domain; - struct iommu_domain *io_domain; if (!check_device(dev)) return ERR_PTR(-EINVAL); - io_domain = iommu_get_domain_for_dev(dev); - if (!io_domain) - return NULL; - - domain = to_pdomain(io_domain); + domain = get_dev_data(dev)->domain; if (!dma_ops_domain(domain)) return ERR_PTR(-EBUSY);