[ARM] fix constant values of MAX_DMA_ADDRESS
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sat, 29 Nov 2008 10:56:33 +0000 (10:56 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 29 Nov 2008 18:42:34 +0000 (18:42 +0000)
Since 8d5796d2ec6b5a4e7a52861144e63af438d6f8f7, we have allowed
PAGE_OFFSET to be configurable, so a constant virtual address
for MAX_DMA_ADDRESS is buggy.  It should be defined in terms of
PAGE_OFFSET rather than a constant virtual address.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-h720x/include/mach/memory.h
arch/arm/mach-s3c2410/include/mach/memory.h
arch/arm/mach-shark/include/mach/memory.h

index 8cfb665..c9bdb21 100644 (file)
@@ -16,6 +16,6 @@
  * If you set this, you must also set ISA_DMA_THRESHOLD and setup a DMA
  * zone if this does not cover all possible RAM.
  */
-#define MAX_DMA_ADDRESS                0xd0000000
+#define MAX_DMA_ADDRESS                (PAGE_OFFSET + SZ_256M)
 
 #endif
index 2246966..6f1e587 100644 (file)
 
 #define PHYS_OFFSET    UL(0x30000000)
 
-/*
- * This is the maximum DMA address(physical address) that can be DMAd to.
- *  Err, no, this is a virtual address.  And you must set ISA_DMA_THRESHOLD
- *  and setup a DMA zone if this restricts the amount of RAM which is
- *  capable of DMA.
- */
-#define MAX_DMA_ADDRESS                0x40000000
-
 #endif
index b497a58..c5ab038 100644 (file)
@@ -33,7 +33,7 @@ static inline void __arch_adjust_zones(int node, unsigned long *zone_size, unsig
        __arch_adjust_zones(node, size, holes)
 
 #define ISA_DMA_THRESHOLD      (PHYS_OFFSET + SZ_4M - 1)
-#define MAX_DMA_ADDRESS                0xC0400000
+#define MAX_DMA_ADDRESS                (PAGE_OFFSET + SZ_4M)
 
 #endif