diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-08-03 21:12:51 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-03 21:12:51 -0700 |
| commit | 4cffd9684d63cfa85c262617213d45f7d8b02c41 (patch) | |
| tree | 53641bb46469f8012bbd4badcd392a6b8902ced7 | |
| parent | 62fc2827aea9ec94ef79c99af88ac97613dee93d (diff) | |
| parent | 805f58d1f5abaa4a58b405b7cf228a83fcb04c02 (diff) | |
Merge "Revert "arm64: dma-mapping: Attach IOMMUs as groups""
| -rw-r--r-- | arch/arm64/mm/dma-mapping.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c index 7cf7e4f94f36..416b2afc6555 100644 --- a/arch/arm64/mm/dma-mapping.c +++ b/arch/arm64/mm/dma-mapping.c @@ -2115,19 +2115,12 @@ int arm_iommu_attach_device(struct device *dev, { int err; int s1_bypass = 0, is_fast = 0; - struct iommu_group *group; iommu_domain_get_attr(mapping->domain, DOMAIN_ATTR_FAST, &is_fast); if (is_fast) return fast_smmu_attach_device(dev, mapping); - group = iommu_group_get(dev); - if (!group) { - dev_err(dev, "Couldn't get group\n"); - return -ENODEV; - } - - err = iommu_attach_group(mapping->domain, group); + err = iommu_attach_device(mapping->domain, dev); if (err) return err; @@ -2155,7 +2148,6 @@ void arm_iommu_detach_device(struct device *dev) { struct dma_iommu_mapping *mapping; int is_fast; - struct iommu_group *group; mapping = to_dma_iommu_mapping(dev); if (!mapping) { @@ -2169,13 +2161,7 @@ void arm_iommu_detach_device(struct device *dev) return; } - group = iommu_group_get(dev); - if (!group) { - dev_err(dev, "Couldn't get group\n"); - return; - } - - iommu_detach_group(mapping->domain, group); + iommu_detach_device(mapping->domain, dev); kref_put(&mapping->kref, release_iommu_mapping); dev->archdata.mapping = NULL; set_dma_ops(dev, NULL); |
