m68knommu: Move __flush_cache_all definition for m54xx in m54xxacr.h
authorPhilippe De Muyter <phdm@macqel.be>
Wed, 27 Oct 2010 12:57:48 +0000 (14:57 +0200)
committerGreg Ungerer <gerg@uclinux.org>
Wed, 5 Jan 2011 05:19:17 +0000 (15:19 +1000)
__flush_cache_all for m54xx is intrinsically related to the bit
definitions in m54xxacr.h.  Move it there from cacheflush_no.h,
for easier maintenance.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/include/asm/cacheflush_no.h
arch/m68k/include/asm/m54xxacr.h

index 7085bd51668b96d101c44b2506cf730812a23eaa..8fda331f8a835da28ad16d911a00343662edd1e5 100644 (file)
@@ -5,6 +5,9 @@
  * (C) Copyright 2000-2004, Greg Ungerer <gerg@snapgear.com>
  */
 #include <linux/mm.h>
+#if defined(CONFIG_M5407) || defined(CONFIG_M548x)
+#include <asm/m54xxacr.h>
+#endif
 
 #define flush_cache_all()                      __flush_cache_all()
 #define flush_cache_mm(mm)                     do { } while (0)
 #define copy_from_user_page(vma, page, vaddr, dst, src, len) \
        memcpy(dst, src, len)
 
+#ifndef __flush_cache_all
 static inline void __flush_cache_all(void)
 {
-#if defined(CONFIG_M5407) || defined(CONFIG_M548x)
-       /*
-        *      Use cpushl to push and invalidate all cache lines.
-        *      Gas doesn't seem to know how to generate the ColdFire
-        *      cpushl instruction... Oh well, bit stuff it for now.
-        */
-       __asm__ __volatile__ (
-               "nop\n\t"
-               "clrl   %%d0\n\t"
-               "1:\n\t"
-               "movel  %%d0,%%a0\n\t"
-               "2:\n\t"
-               ".word  0xf468\n\t"
-               "addl   #0x10,%%a0\n\t"
-               "cmpl   #0x00000800,%%a0\n\t"
-               "blt    2b\n\t"
-               "addql  #1,%%d0\n\t"
-               "cmpil  #4,%%d0\n\t"
-               "bne    1b\n\t"
-               "movel  #0xb6088500,%%d0\n\t"
-               "movec  %%d0,%%CACR\n\t"
-               : : : "d0", "a0" );
-#endif /* CONFIG_M5407 */
 #if defined(CONFIG_M523x) || defined(CONFIG_M527x)
        __asm__ __volatile__ (
                "movel  #0x81400100, %%d0\n\t"
@@ -88,5 +69,6 @@ static inline void __flush_cache_all(void)
                : : : "d0" );
 #endif /* CONFIG_M532x */
 }
+#endif /* __flush_cache_all */
 
 #endif /* _M68KNOMMU_CACHEFLUSH_H */
index 424d4a677e4369ead14114ba262afccde16b3571..da713d22dd0f6c9b869f3fd22cd84708769641b3 100644 (file)
 #define ACR_CM         0x00000060      /* Cache mode mask */
 #define ACR_WPROTECT   0x00000004      /* Write protect */
 
+#ifndef __ASSEMBLY__
+
+static inline void __m54xx_flush_cache_all(void)
+{
+       /*
+        *      Use cpushl to push and invalidate all cache lines.
+        *      Gas doesn't seem to know how to generate the ColdFire
+        *      cpushl instruction... Oh well, bit stuff it for now.
+        */
+       __asm__ __volatile__ (
+               "nop\n\t"
+               "clrl   %%d0\n\t"
+               "1:\n\t"
+               "movel  %%d0,%%a0\n\t"
+               "2:\n\t"
+               ".word  0xf468\n\t"
+               "addl   #0x10,%%a0\n\t"
+               "cmpl   #0x00000800,%%a0\n\t"
+               "blt    2b\n\t"
+               "addql  #1,%%d0\n\t"
+               "cmpil  #4,%%d0\n\t"
+               "bne    1b\n\t"
+               "movel  #0xb6088500,%%d0\n\t"
+               "movec  %%d0,%%CACR\n\t"
+               : : : "d0", "a0" );
+}
+
+#define __flush_cache_all() __m54xx_flush_cache_all()
+
+#endif /* __ASSEMBLY__ */
+
 #endif /* m54xxacr_h */