kernel: refresh patches for kernel 3.18
[openwrt/openwrt.git] / target / linux / brcm47xx / patches-3.18 / 159-cpu_fixes.patch
index 574cf0a7b6aa35a24016b445ae0a043762755f00..dd430f52dd7b8ab213ef3c08dba583bbba68281f 100644 (file)
  static inline void protected_writeback_dcache_line(unsigned long addr)
  {
 +      BCM4710_DUMMY_RREG();
-       protected_cache_op(Hit_Writeback_Inv_D, addr);
- }
-@@ -462,8 +481,51 @@ static inline void invalidate_tcache_pag
+ #ifdef CONFIG_EVA
+       protected_cachee_op(Hit_Writeback_Inv_D, addr);
+ #else
+@@ -466,8 +485,51 @@ static inline void invalidate_tcache_pag
                : "r" (base),                                           \
                  "i" (op));
  
  static inline void extra##blast_##pfx##cache##lsize(void)             \
  {                                                                     \
        unsigned long start = INDEX_BASE;                               \
-@@ -475,6 +537,7 @@ static inline void extra##blast_##pfx##c
+@@ -479,6 +541,7 @@ static inline void extra##blast_##pfx##c
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        for (ws = 0; ws < ws_end; ws += ws_inc)                         \
                for (addr = start; addr < end; addr += lsize * 32)      \
                        cache##lsize##_unroll32(addr|ws, indexop);      \
-@@ -489,6 +552,7 @@ static inline void extra##blast_##pfx##c
+@@ -493,6 +556,7 @@ static inline void extra##blast_##pfx##c
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        do {                                                            \
                cache##lsize##_unroll32(start, hitop);                  \
                start += lsize * 32;                                    \
-@@ -507,6 +571,8 @@ static inline void extra##blast_##pfx##c
+@@ -511,6 +575,8 @@ static inline void extra##blast_##pfx##c
                               current_cpu_data.desc.waybit;            \
        unsigned long ws, addr;                                         \
                                                                        \
        __##pfx##flush_prologue                                         \
                                                                        \
        for (ws = 0; ws < ws_end; ws += ws_inc)                         \
-@@ -516,26 +582,26 @@ static inline void extra##blast_##pfx##c
+@@ -520,26 +586,26 @@ static inline void extra##blast_##pfx##c
        __##pfx##flush_epilogue                                         \
  }
  
  
  #define __BUILD_BLAST_USER_CACHE(pfx, desc, indexop, hitop, lsize) \
  static inline void blast_##pfx##cache##lsize##_user_page(unsigned long page) \
-@@ -564,17 +630,19 @@ __BUILD_BLAST_USER_CACHE(d, dcache, Inde
+@@ -568,17 +634,19 @@ __BUILD_BLAST_USER_CACHE(d, dcache, Inde
  __BUILD_BLAST_USER_CACHE(i, icache, Index_Invalidate_I, Hit_Invalidate_I, 64)
  
  /* build blast_xxx_range, protected_blast_xxx_range */
                prot##cache_op(hitop, addr);                            \
                if (addr == aend)                                       \
                        break;                                          \
-@@ -586,8 +654,8 @@ static inline void prot##extra##blast_##
+@@ -590,8 +658,8 @@ static inline void prot##extra##blast_##
  
  #ifndef CONFIG_EVA
  
  
  #else
  
-@@ -624,14 +692,14 @@ __BUILD_PROT_BLAST_CACHE_RANGE(d, dcache
+@@ -628,14 +696,14 @@ __BUILD_PROT_BLAST_CACHE_RANGE(d, dcache
  __BUILD_PROT_BLAST_CACHE_RANGE(i, icache, Hit_Invalidate_I)
  
  #endif