powerpc/dma: stop overriding dma_get_required_mask
authorChristoph Hellwig <hch@lst.de>
Wed, 13 Feb 2019 07:01:15 +0000 (08:01 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 Feb 2019 11:41:03 +0000 (22:41 +1100)
The ppc_md and pci_controller_ops methods are unused now and can be
removed.  The dma_nommu implementation is generic to the generic one
except for using max_pfn instead of calling into the memblock API,
and all other dma_map_ops instances implement a method of their own.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/device.h
arch/powerpc/include/asm/dma-mapping.h
arch/powerpc/include/asm/machdep.h
arch/powerpc/include/asm/pci-bridge.h
arch/powerpc/kernel/dma.c
kernel/dma/mapping.c

index 1aa53318b4bcfe474e3bdee1f2119737b20347df..3814e1c2d4bca2c791c5ac340d45f8cbf83b52cc 100644 (file)
@@ -59,6 +59,4 @@ struct pdev_archdata {
        u64 dma_mask;
 };
 
-#define ARCH_HAS_DMA_GET_REQUIRED_MASK
-
 #endif /* _ASM_POWERPC_DEVICE_H */
index 1d80174db8a4def778893a49922d4720dc6bf563..dc7f7bcdf65d15ae4efd2accb067d1831eb4baed 100644 (file)
@@ -112,7 +112,5 @@ static inline void set_dma_offset(struct device *dev, dma_addr_t off)
 
 #define HAVE_ARCH_DMA_SET_MASK 1
 
-extern u64 __dma_get_required_mask(struct device *dev);
-
 #endif /* __KERNEL__ */
 #endif /* _ASM_DMA_MAPPING_H */
index 8311869005fa8d4769020c7aebdddf1335da415d..7b70dcbce1b94bf6fbc24d3709311750152784fa 100644 (file)
@@ -47,9 +47,7 @@ struct machdep_calls {
 #endif
 #endif /* CONFIG_PPC64 */
 
-       /* Platform set_dma_mask and dma_get_required_mask overrides */
        int             (*dma_set_mask)(struct device *dev, u64 dma_mask);
-       u64             (*dma_get_required_mask)(struct device *dev);
 
        int             (*probe)(void);
        void            (*setup_arch)(void); /* Optional, may be NULL */
index d7492dca65999fc5cf4699f3b3d722a322647880..236a7460b6ec159f477c162795baabeac092b485 100644 (file)
@@ -46,7 +46,6 @@ struct pci_controller_ops {
 #endif
 
        int             (*dma_set_mask)(struct pci_dev *pdev, u64 dma_mask);
-       u64             (*dma_get_required_mask)(struct pci_dev *pdev);
 
        void            (*shutdown)(struct pci_controller *hose);
 };
index e5db4d3f8beac47b87370a81b921419533fd48d4..0d52107b90f01f425a60a50d4ca2ca0ca57f4eac 100644 (file)
@@ -318,35 +318,6 @@ int dma_set_mask(struct device *dev, u64 dma_mask)
 }
 EXPORT_SYMBOL(dma_set_mask);
 
-u64 __dma_get_required_mask(struct device *dev)
-{
-       const struct dma_map_ops *dma_ops = get_dma_ops(dev);
-
-       if (unlikely(dma_ops == NULL))
-               return 0;
-
-       if (dma_ops->get_required_mask)
-               return dma_ops->get_required_mask(dev);
-
-       return DMA_BIT_MASK(8 * sizeof(dma_addr_t));
-}
-
-u64 dma_get_required_mask(struct device *dev)
-{
-       if (ppc_md.dma_get_required_mask)
-               return ppc_md.dma_get_required_mask(dev);
-
-       if (dev_is_pci(dev)) {
-               struct pci_dev *pdev = to_pci_dev(dev);
-               struct pci_controller *phb = pci_bus_to_host(pdev->bus);
-               if (phb->controller_ops.dma_get_required_mask)
-                       return phb->controller_ops.dma_get_required_mask(pdev);
-       }
-
-       return __dma_get_required_mask(dev);
-}
-EXPORT_SYMBOL_GPL(dma_get_required_mask);
-
 static int __init dma_init(void)
 {
 #ifdef CONFIG_IBMVIO
index a11006b6d8e87d5f64db77e777da08355a32ad8d..40c0af744692cf9bd0cf7b78fc470d92a6a5db7c 100644 (file)
@@ -207,7 +207,6 @@ int dma_mmap_attrs(struct device *dev, struct vm_area_struct *vma,
 }
 EXPORT_SYMBOL(dma_mmap_attrs);
 
-#ifndef ARCH_HAS_DMA_GET_REQUIRED_MASK
 static u64 dma_default_get_required_mask(struct device *dev)
 {
        u32 low_totalram = ((max_pfn - 1) << PAGE_SHIFT);
@@ -238,7 +237,6 @@ u64 dma_get_required_mask(struct device *dev)
        return dma_default_get_required_mask(dev);
 }
 EXPORT_SYMBOL_GPL(dma_get_required_mask);
-#endif
 
 #ifndef arch_dma_alloc_attrs
 #define arch_dma_alloc_attrs(dev)      (true)