diff options
author | Glauber Costa <gcosta@redhat.com> | 2008-04-08 12:20:43 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-04-19 13:19:57 -0400 |
commit | 459121c9ec1e6c5d701f6520f4170719ac008951 (patch) | |
tree | 5b0fd3dbc761647e8da7a2be103c797cce0a8621 /arch/x86/kernel | |
parent | 19e395afb44746ce7422a9eabcf883d5eec2bb80 (diff) |
x86: introduce pci-dma.c
This patch introduces pci-dma.c, a common file for pci dma
between i386 and x86_64. As a start, dma_set_mask() is the same
between architectures, and is placed there.
Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/x86/kernel/pci-dma.c | 14 | ||||
-rw-r--r-- | arch/x86/kernel/pci-dma_32.c | 12 | ||||
-rw-r--r-- | arch/x86/kernel/pci-dma_64.c | 9 |
4 files changed, 15 insertions, 22 deletions
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile index edd5c54ffde9..1799f76a6a95 100644 --- a/arch/x86/kernel/Makefile +++ b/arch/x86/kernel/Makefile | |||
@@ -23,7 +23,7 @@ obj-$(CONFIG_X86_32) += sys_i386_32.o i386_ksyms_32.o | |||
23 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o | 23 | obj-$(CONFIG_X86_64) += sys_x86_64.o x8664_ksyms_64.o |
24 | obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o setup64.o | 24 | obj-$(CONFIG_X86_64) += syscall_64.o vsyscall_64.o setup64.o |
25 | obj-y += pci-dma_$(BITS).o bootflag.o e820_$(BITS).o | 25 | obj-y += pci-dma_$(BITS).o bootflag.o e820_$(BITS).o |
26 | obj-y += quirks.o i8237.o topology.o kdebugfs.o | 26 | obj-y += pci-dma.o quirks.o i8237.o topology.o kdebugfs.o |
27 | obj-y += alternative.o i8253.o | 27 | obj-y += alternative.o i8253.o |
28 | obj-$(CONFIG_X86_64) += pci-nommu_64.o bugs_64.o | 28 | obj-$(CONFIG_X86_64) += pci-nommu_64.o bugs_64.o |
29 | obj-$(CONFIG_X86_32) += pci-base_32.o | 29 | obj-$(CONFIG_X86_32) += pci-base_32.o |
diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c new file mode 100644 index 000000000000..f1c24d8e7942 --- /dev/null +++ b/arch/x86/kernel/pci-dma.c | |||
@@ -0,0 +1,14 @@ | |||
1 | #include <linux/dma-mapping.h> | ||
2 | |||
3 | int dma_set_mask(struct device *dev, u64 mask) | ||
4 | { | ||
5 | if (!dev->dma_mask || !dma_supported(dev, mask)) | ||
6 | return -EIO; | ||
7 | |||
8 | *dev->dma_mask = mask; | ||
9 | |||
10 | return 0; | ||
11 | } | ||
12 | EXPORT_SYMBOL(dma_set_mask); | ||
13 | |||
14 | |||
diff --git a/arch/x86/kernel/pci-dma_32.c b/arch/x86/kernel/pci-dma_32.c index be6b1f6aa1a7..9e8297657c32 100644 --- a/arch/x86/kernel/pci-dma_32.c +++ b/arch/x86/kernel/pci-dma_32.c | |||
@@ -182,18 +182,6 @@ dma_supported(struct device *dev, u64 mask) | |||
182 | } | 182 | } |
183 | EXPORT_SYMBOL(dma_supported); | 183 | EXPORT_SYMBOL(dma_supported); |
184 | 184 | ||
185 | int | ||
186 | dma_set_mask(struct device *dev, u64 mask) | ||
187 | { | ||
188 | if (!dev->dma_mask || !dma_supported(dev, mask)) | ||
189 | return -EIO; | ||
190 | |||
191 | *dev->dma_mask = mask; | ||
192 | |||
193 | return 0; | ||
194 | } | ||
195 | EXPORT_SYMBOL(dma_set_mask); | ||
196 | |||
197 | 185 | ||
198 | static __devinit void via_no_dac(struct pci_dev *dev) | 186 | static __devinit void via_no_dac(struct pci_dev *dev) |
199 | { | 187 | { |
diff --git a/arch/x86/kernel/pci-dma_64.c b/arch/x86/kernel/pci-dma_64.c index f97a08d0a8f9..e697b865c1a3 100644 --- a/arch/x86/kernel/pci-dma_64.c +++ b/arch/x86/kernel/pci-dma_64.c | |||
@@ -213,15 +213,6 @@ int dma_supported(struct device *dev, u64 mask) | |||
213 | } | 213 | } |
214 | EXPORT_SYMBOL(dma_supported); | 214 | EXPORT_SYMBOL(dma_supported); |
215 | 215 | ||
216 | int dma_set_mask(struct device *dev, u64 mask) | ||
217 | { | ||
218 | if (!dev->dma_mask || !dma_supported(dev, mask)) | ||
219 | return -EIO; | ||
220 | *dev->dma_mask = mask; | ||
221 | return 0; | ||
222 | } | ||
223 | EXPORT_SYMBOL(dma_set_mask); | ||
224 | |||
225 | /* | 216 | /* |
226 | * See <Documentation/x86_64/boot-options.txt> for the iommu kernel parameter | 217 | * See <Documentation/x86_64/boot-options.txt> for the iommu kernel parameter |
227 | * documentation. | 218 | * documentation. |