diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-05-11 10:39:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-05-12 03:36:53 -0400 |
commit | be20902ba67de70b38c995903321f4152dee57b7 (patch) | |
tree | 86f27d4d90b7408d421ce246527431e58a836bf3 /arch/arm/mach-ixp4xx/common-pci.c | |
parent | 2fb3ec5c9503ba8874e24170de2b40e8f1a58370 (diff) |
ARM: use ARM_DMA_ZONE_SIZE to adjust the zone sizes
Rather than each platform providing its own function to adjust the
zone sizes, use the new ARM_DMA_ZONE_SIZE definition to perform this
adjustment. This ensures that the actual DMA zone size and the
ISA_DMA_THRESHOLD/MAX_DMA_ADDRESS definitions are consistent with
each other, and moves this complexity out of the platform code.
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ixp4xx/common-pci.c')
-rw-r--r-- | arch/arm/mach-ixp4xx/common-pci.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/arch/arm/mach-ixp4xx/common-pci.c b/arch/arm/mach-ixp4xx/common-pci.c index a54b3db80366..e9a589395723 100644 --- a/arch/arm/mach-ixp4xx/common-pci.c +++ b/arch/arm/mach-ixp4xx/common-pci.c | |||
@@ -342,29 +342,6 @@ int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) | |||
342 | return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); | 342 | return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M); |
343 | } | 343 | } |
344 | 344 | ||
345 | /* | ||
346 | * Only first 64MB of memory can be accessed via PCI. | ||
347 | * We use GFP_DMA to allocate safe buffers to do map/unmap. | ||
348 | * This is really ugly and we need a better way of specifying | ||
349 | * DMA-capable regions of memory. | ||
350 | */ | ||
351 | void __init ixp4xx_adjust_zones(unsigned long *zone_size, | ||
352 | unsigned long *zhole_size) | ||
353 | { | ||
354 | unsigned int sz = SZ_64M >> PAGE_SHIFT; | ||
355 | |||
356 | /* | ||
357 | * Only adjust if > 64M on current system | ||
358 | */ | ||
359 | if (zone_size[0] <= sz) | ||
360 | return; | ||
361 | |||
362 | zone_size[1] = zone_size[0] - sz; | ||
363 | zone_size[0] = sz; | ||
364 | zhole_size[1] = zhole_size[0]; | ||
365 | zhole_size[0] = 0; | ||
366 | } | ||
367 | |||
368 | void __init ixp4xx_pci_preinit(void) | 345 | void __init ixp4xx_pci_preinit(void) |
369 | { | 346 | { |
370 | unsigned long cpuid = read_cpuid_id(); | 347 | unsigned long cpuid = read_cpuid_id(); |