Messages in this thread Patch in this message | | | From | Wan Zongshun <> | Subject | [PATCH] iommu/amd: set AMD iommu-callbacks for the amba bus | Date | Tue, 29 Dec 2015 11:54:53 -0500 |
| |
From: Wan Zongshun <Vincent.Wan@amd.com>
Since uart dma is using AMD iommu, and it bases on amba bus. So we need set callbacks for amba bus type firstly.
Signed-off-by: Wan Zongshun <Vincent.Wan@amd.com> --- drivers/iommu/amd_iommu.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index 8b2be1e..9097b11 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -35,6 +35,7 @@ #include <linux/msi.h> #include <linux/dma-contiguous.h> #include <linux/irqdomain.h> +#include <linux/amba/bus.h> #include <asm/irq_remapping.h> #include <asm/io_apic.h> #include <asm/apic.h> @@ -2758,7 +2759,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) -- 1.9.1
| |