diff options
-rw-r--r-- | arch/sparc/include/asm/dma-mapping.h | 14 | ||||
-rw-r--r-- | arch/sparc/kernel/iommu.c | 10 | ||||
-rw-r--r-- | arch/sparc/kernel/ioport.c | 11 |
3 files changed, 13 insertions, 22 deletions
diff --git a/arch/sparc/include/asm/dma-mapping.h b/arch/sparc/include/asm/dma-mapping.h index 5a8c308e2b5c..4b4a0c0b0ccd 100644 --- a/arch/sparc/include/asm/dma-mapping.h +++ b/arch/sparc/include/asm/dma-mapping.h | |||
@@ -8,7 +8,6 @@ | |||
8 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) | 8 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) |
9 | 9 | ||
10 | extern int dma_supported(struct device *dev, u64 mask); | 10 | extern int dma_supported(struct device *dev, u64 mask); |
11 | extern int dma_set_mask(struct device *dev, u64 dma_mask); | ||
12 | 11 | ||
13 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) | 12 | #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f) |
14 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) | 13 | #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h) |
@@ -62,4 +61,17 @@ static inline int dma_get_cache_alignment(void) | |||
62 | return (1 << INTERNODE_CACHE_SHIFT); | 61 | return (1 << INTERNODE_CACHE_SHIFT); |
63 | } | 62 | } |
64 | 63 | ||
64 | static inline int dma_set_mask(struct device *dev, u64 mask) | ||
65 | { | ||
66 | #ifdef CONFIG_PCI | ||
67 | if (dev->bus == &pci_bus_type) { | ||
68 | if (!dev->dma_mask || !dma_supported(dev, mask)) | ||
69 | return -EINVAL; | ||
70 | *dev->dma_mask = mask; | ||
71 | return 0; | ||
72 | } | ||
73 | #endif | ||
74 | return -EINVAL; | ||
75 | } | ||
76 | |||
65 | #endif | 77 | #endif |
diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 5fad94950e76..8414549c1834 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c | |||
@@ -862,13 +862,3 @@ int dma_supported(struct device *dev, u64 device_mask) | |||
862 | return 0; | 862 | return 0; |
863 | } | 863 | } |
864 | EXPORT_SYMBOL(dma_supported); | 864 | EXPORT_SYMBOL(dma_supported); |
865 | |||
866 | int dma_set_mask(struct device *dev, u64 dma_mask) | ||
867 | { | ||
868 | #ifdef CONFIG_PCI | ||
869 | if (dev->bus == &pci_bus_type) | ||
870 | return pci_set_dma_mask(to_pci_dev(dev), dma_mask); | ||
871 | #endif | ||
872 | return -EINVAL; | ||
873 | } | ||
874 | EXPORT_SYMBOL(dma_set_mask); | ||
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index 3c8c44f6a41c..84e5386714cd 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c | |||
@@ -676,17 +676,6 @@ int dma_supported(struct device *dev, u64 mask) | |||
676 | } | 676 | } |
677 | EXPORT_SYMBOL(dma_supported); | 677 | EXPORT_SYMBOL(dma_supported); |
678 | 678 | ||
679 | int dma_set_mask(struct device *dev, u64 dma_mask) | ||
680 | { | ||
681 | #ifdef CONFIG_PCI | ||
682 | if (dev->bus == &pci_bus_type) | ||
683 | return pci_set_dma_mask(to_pci_dev(dev), dma_mask); | ||
684 | #endif | ||
685 | return -EOPNOTSUPP; | ||
686 | } | ||
687 | EXPORT_SYMBOL(dma_set_mask); | ||
688 | |||
689 | |||
690 | #ifdef CONFIG_PROC_FS | 679 | #ifdef CONFIG_PROC_FS |
691 | 680 | ||
692 | static int sparc_io_proc_show(struct seq_file *m, void *v) | 681 | static int sparc_io_proc_show(struct seq_file *m, void *v) |