]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
iommu/amd: Set AMD iommu callbacks for platform bus driver
authorWan Zongshun <Vincent.Wan@amd.com>
Tue, 10 May 2016 13:21:01 +0000 (09:21 -0400)
committerJoerg Roedel <jroedel@suse.de>
Wed, 15 Jun 2016 10:00:10 +0000 (12:00 +0200)
AMD has more drivers will use ACPI to platform bus driver later,
all those devices need iommu support, for example: eMMC driver.

For latest AMD eMMC controller, it will utilize sdhci-acpi.c driver,
which will rely on platform bus to match device and driver, where we
will set 'dev' of struct platform_device as map_sg parameter passing
to iommu driver for DMA request, so the iommu-ops are needed on the
platform bus.

Signed-off-by: Wan Zongshun <Vincent.Wan@amd.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/amd_iommu.c

index 634f636393d5e423b2a6d3bf01659c1643b865c8..921111e65c8cb0110b934af427a2a848d7336cbe 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/pci.h>
 #include <linux/acpi.h>
 #include <linux/amba/bus.h>
+#include <linux/platform_device.h>
 #include <linux/pci-ats.h>
 #include <linux/bitmap.h>
 #include <linux/slab.h>
@@ -2958,6 +2959,9 @@ int __init amd_iommu_init_api(void)
        if (err)
                return err;
 #endif
+       err = bus_set_iommu(&platform_bus_type, &amd_iommu_ops);
+       if (err)
+               return err;
        return 0;
 }