summaryrefslogtreecommitdiffstats
path: root/include/asm-arm/arch-ixp23xx/memory.h
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2006-04-04 23:10:34 +0200
committerKumar Gala <galak@kernel.crashing.org>2006-04-04 23:10:34 +0200
commit12df7556705aae97f24a397377e17898700d7192 (patch)
tree5adc6b1c2aa940263ee2e88fc6645918533da539 /include/asm-arm/arch-ixp23xx/memory.h
parentpowerpc/ppc: export strncasecmp (diff)
parentLinux v2.6.17-rc1 (diff)
downloadlinux-12df7556705aae97f24a397377e17898700d7192.tar.xz
linux-12df7556705aae97f24a397377e17898700d7192.zip
Merge branch 'master'
Diffstat (limited to 'include/asm-arm/arch-ixp23xx/memory.h')
-rw-r--r--include/asm-arm/arch-ixp23xx/memory.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/asm-arm/arch-ixp23xx/memory.h b/include/asm-arm/arch-ixp23xx/memory.h
index bebcf0aa0d72..6e19f46d54d1 100644
--- a/include/asm-arm/arch-ixp23xx/memory.h
+++ b/include/asm-arm/arch-ixp23xx/memory.h
@@ -28,6 +28,7 @@
* to an address that the kernel can use.
*/
#ifndef __ASSEMBLY__
+#include <asm/mach-types.h>
#define __virt_to_bus(v) \
({ unsigned int ret; \
@@ -40,6 +41,22 @@
data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \
__phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); })
+/*
+ * Coherency support. Only supported on A2 CPUs or on A1
+ * systems that have the cache coherency workaround.
+ */
+static inline int __ixp23xx_arch_is_coherent(void)
+{
+ extern unsigned int processor_id;
+
+ if (((processor_id & 15) >= 2) || machine_is_roadrunner())
+ return 1;
+
+ return 0;
+}
+
+#define arch_is_coherent() __ixp23xx_arch_is_coherent()
+
#endif