aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/Kconfig3
-rw-r--r--arch/sh/include/asm/pci.h19
2 files changed, 4 insertions, 18 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 05cef5061293..8d90564c2bcf 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -183,6 +183,9 @@ config DMA_COHERENT
183config DMA_NONCOHERENT 183config DMA_NONCOHERENT
184 def_bool !DMA_COHERENT 184 def_bool !DMA_COHERENT
185 185
186config NEED_DMA_MAP_STATE
187 def_bool DMA_NONCOHERENT
188
186source "init/Kconfig" 189source "init/Kconfig"
187 190
188source "kernel/Kconfig.freezer" 191source "kernel/Kconfig.freezer"
diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h
index 1042f7f0a48b..991c2a424b24 100644
--- a/arch/sh/include/asm/pci.h
+++ b/arch/sh/include/asm/pci.h
@@ -83,24 +83,7 @@ static inline void pcibios_penalize_isa_irq(int irq, int active)
83 */ 83 */
84#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys) 84#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)
85 85
86/* pci_unmap_{single,page} being a nop depends upon the 86#include <linux/pci-dma.h>
87 * configuration.
88 */
89#ifdef CONFIG_DMA_NONCOHERENT
90#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) dma_addr_t ADDR_NAME;
91#define DECLARE_PCI_UNMAP_LEN(LEN_NAME) __u32 LEN_NAME;
92#define pci_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME)
93#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL))
94#define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME)
95#define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL))
96#else
97#define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
98#define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
99#define pci_unmap_addr(PTR, ADDR_NAME) (0)
100#define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) do { } while (0)
101#define pci_unmap_len(PTR, LEN_NAME) (0)
102#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
103#endif
104 87
105#ifdef CONFIG_PCI 88#ifdef CONFIG_PCI
106/* 89/*