diff options
Diffstat (limited to 'arch/arm/mach-ixp4xx')
-rw-r--r-- | arch/arm/mach-ixp4xx/common-pci.c | 23 | ||||
-rw-r--r-- | arch/arm/mach-ixp4xx/include/mach/memory.h | 12 |
2 files changed, 2 insertions, 33 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(); |
diff --git a/arch/arm/mach-ixp4xx/include/mach/memory.h b/arch/arm/mach-ixp4xx/include/mach/memory.h index 6d388c9d0e20..34e79404671a 100644 --- a/arch/arm/mach-ixp4xx/include/mach/memory.h +++ b/arch/arm/mach-ixp4xx/include/mach/memory.h | |||
@@ -14,16 +14,8 @@ | |||
14 | */ | 14 | */ |
15 | #define PLAT_PHYS_OFFSET UL(0x00000000) | 15 | #define PLAT_PHYS_OFFSET UL(0x00000000) |
16 | 16 | ||
17 | #if !defined(__ASSEMBLY__) && defined(CONFIG_PCI) | 17 | #ifdef CONFIG_PCI |
18 | 18 | #define ARM_DMA_ZONE_SIZE SZ_64M | |
19 | void ixp4xx_adjust_zones(unsigned long *size, unsigned long *holes); | ||
20 | |||
21 | #define arch_adjust_zones(size, holes) \ | ||
22 | ixp4xx_adjust_zones(size, holes) | ||
23 | |||
24 | #define ISA_DMA_THRESHOLD (SZ_64M - 1) | ||
25 | #define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_64M) | ||
26 | |||
27 | #endif | 19 | #endif |
28 | 20 | ||
29 | #endif | 21 | #endif |