|
@@ -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)
|