summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWan Zongshun <Vincent.Wan@amd.com>2016-04-01 09:06:05 -0400
committerJoerg Roedel <jroedel@suse.de>2016-04-07 13:29:42 +0200
commit9a4d3bf56c87be9ad8916e2013af04787d6bac9b (patch)
tree34412addd968a5ad920469f9a9cb09ae029044d7
parentb097d11a0fa3f97be88774d09ee9ed1d8532a7b0 (diff)
downloadop-kernel-dev-9a4d3bf56c87be9ad8916e2013af04787d6bac9b.zip
op-kernel-dev-9a4d3bf56c87be9ad8916e2013af04787d6bac9b.tar.gz
iommu/amd: Set AMD iommu callbacks for amba bus
AMD Uart DMA belongs to ACPI HID type device, and its driver is basing on AMBA Bus, need also IOMMU support. This patch is just to set the AMD iommu callbacks for amba bus. Signed-off-by: Wan Zongshun <Vincent.Wan@amd.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
-rw-r--r--drivers/iommu/amd_iommu.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 713e7ea..c430c10 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -20,6 +20,7 @@
#include <linux/ratelimit.h>
#include <linux/pci.h>
#include <linux/acpi.h>
+#include <linux/amba/bus.h>
#include <linux/pci-ats.h>
#include <linux/bitmap.h>
#include <linux/slab.h>
@@ -2969,7 +2970,17 @@ static struct dma_map_ops amd_iommu_dma_ops = {
int __init amd_iommu_init_api(void)
{
- return bus_set_iommu(&pci_bus_type, &amd_iommu_ops);
+ int err = 0;
+
+ err = bus_set_iommu(&pci_bus_type, &amd_iommu_ops);
+ if (err)
+ return err;
+#ifdef CONFIG_ARM_AMBA
+ err = bus_set_iommu(&amba_bustype, &amd_iommu_ops);
+ if (err)
+ return err;
+#endif
+ return 0;
}
int __init amd_iommu_init_dma_ops(void)
OpenPOWER on IntegriCloud