summaryrefslogtreecommitdiffstats
path: root/include/asm-alpha/dma.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-08-25 09:12:35 +0000
commitc7fc24dc4420057f103afe8fc64524ebc25c5d37 (patch)
tree3682407a599b8f9f03fc096298134cafba1c9b2f /include/asm-alpha/dma.h
parent1d793fade8b063fde3cf275bf1a5c2d381292cd9 (diff)
o Merge with Linux 2.1.116.
o New Newport console code. o New G364 console code.
Diffstat (limited to 'include/asm-alpha/dma.h')
-rw-r--r--include/asm-alpha/dma.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/include/asm-alpha/dma.h b/include/asm-alpha/dma.h
index d8077298d..686921599 100644
--- a/include/asm-alpha/dma.h
+++ b/include/asm-alpha/dma.h
@@ -19,8 +19,7 @@
#define _ASM_DMA_H
#include <linux/config.h>
-
-#include <asm/io.h> /* need byte IO */
+#include <asm/io.h>
#define dma_outb outb
#define dma_inb inb
@@ -75,7 +74,6 @@
#define MAX_DMA_CHANNELS 8
-#ifdef CONFIG_ALPHA_XL
/* The maximum address that we can perform a DMA transfer to on Alpha XL,
due to a hardware SIO (PCI<->ISA bus bridge) chip limitation, is 64MB.
See <asm/apecs.h> for more info.
@@ -86,12 +84,18 @@
We MUST coordinate the maximum with <asm/apecs.h> for consistency.
For now, this limit is set to 48Mb...
*/
-#define MAX_DMA_ADDRESS (0xfffffc0003000000UL)
-#else /* CONFIG_ALPHA_XL */
-/* The maximum address that we can perform a DMA transfer to on normal
- Alpha platforms */
-#define MAX_DMA_ADDRESS (~0UL)
-#endif /* CONFIG_ALPHA_XL */
+#define ALPHA_XL_MAX_DMA_ADDRESS (0xfffffc0003000000UL)
+#define ALPHA_MAX_DMA_ADDRESS (~0UL)
+
+#ifdef CONFIG_ALPHA_GENERIC
+# define MAX_DMA_ADDRESS (alpha_mv.max_dma_address)
+#else
+# ifdef CONFIG_ALPHA_XL
+# define MAX_DMA_ADDRESS ALPHA_XL_MAX_DMA_ADDRESS
+# else
+# define MAX_DMA_ADDRESS ALPHA_MAX_DMA_ADDRESS
+# endif
+#endif
/* 8237 DMA controllers */
#define IO_DMA1_BASE 0x00 /* 8 bit slave DMA, channels 0..3 */