Merge tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm...
[firefly-linux-kernel-4.4.55.git] / arch / powerpc / sysdev / dart_iommu.c
index 90bcdfeedf4829fd9b8658e340f1694f97d68102..b7348637eae00afcd4702c8cc287333b2ffebfb5 100644 (file)
@@ -313,20 +313,11 @@ static void iommu_table_dart_setup(void)
        set_bit(iommu_table_dart.it_size - 1, iommu_table_dart.it_map);
 }
 
-static void dma_dev_setup_dart(struct device *dev)
-{
-       /* We only have one iommu table on the mac for now, which makes
-        * things simple. Setup all PCI devices to point to this table
-        */
-       if (get_dma_ops(dev) == &dma_direct_ops)
-               set_dma_offset(dev, DART_U4_BYPASS_BASE);
-       else
-               set_iommu_table_base(dev, &iommu_table_dart);
-}
-
 static void pci_dma_dev_setup_dart(struct pci_dev *dev)
 {
-       dma_dev_setup_dart(&dev->dev);
+       if (dart_is_u4)
+               set_dma_offset(&dev->dev, DART_U4_BYPASS_BASE);
+       set_iommu_table_base(&dev->dev, &iommu_table_dart);
 }
 
 static void pci_dma_bus_setup_dart(struct pci_bus *bus)
@@ -370,7 +361,6 @@ static int dart_dma_set_mask(struct device *dev, u64 dma_mask)
                dev_info(dev, "Using 32-bit DMA via iommu\n");
                set_dma_ops(dev, &dma_iommu_ops);
        }
-       dma_dev_setup_dart(dev);
 
        *dev->dma_mask = dma_mask;
        return 0;