diff options
| -rw-r--r-- | arch/blackfin/mach-common/cache.S | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S index 0521b1588204..85f8c79b3c37 100644 --- a/arch/blackfin/mach-common/cache.S +++ b/arch/blackfin/mach-common/cache.S | |||
| @@ -34,81 +34,6 @@ | |||
| 34 | #include <asm/cache.h> | 34 | #include <asm/cache.h> |
| 35 | 35 | ||
| 36 | .text | 36 | .text |
| 37 | .align 2 | ||
| 38 | ENTRY(_cache_invalidate) | ||
| 39 | |||
| 40 | /* | ||
| 41 | * Icache or DcacheA or DcacheB Invalidation | ||
| 42 | * or any combination thereof | ||
| 43 | * R0 has bits | ||
| 44 | * CPLB_ENABLE_ICACHE_P,CPLB_ENABLE_DCACHE_P,CPLB_ENABLE_DCACHE2_P | ||
| 45 | * set as required | ||
| 46 | */ | ||
| 47 | [--SP] = R7; | ||
| 48 | |||
| 49 | R7 = R0; | ||
| 50 | CC = BITTST(R7,CPLB_ENABLE_ICACHE_P); | ||
| 51 | IF !CC JUMP .Lno_icache; | ||
| 52 | [--SP] = RETS; | ||
| 53 | CALL _icache_invalidate; | ||
| 54 | RETS = [SP++]; | ||
| 55 | .Lno_icache: | ||
| 56 | CC = BITTST(R7,CPLB_ENABLE_DCACHE_P); | ||
| 57 | IF !CC JUMP .Lno_dcache_a; | ||
| 58 | R0 = 0; /* specifies bank A */ | ||
| 59 | [--SP] = RETS; | ||
| 60 | CALL _dcache_invalidate; | ||
| 61 | RETS = [SP++]; | ||
| 62 | .Lno_dcache_a: | ||
| 63 | CC = BITTST(R7,CPLB_ENABLE_DCACHE2_P); | ||
| 64 | IF !CC JUMP .Lno_dcache_b; | ||
| 65 | R0 = 0; | ||
| 66 | BITSET(R0, 23); /* specifies bank B */ | ||
| 67 | [--SP] = RETS; | ||
| 68 | CALL _dcache_invalidate; | ||
| 69 | RETS = [SP++]; | ||
| 70 | .Lno_dcache_b: | ||
| 71 | R7 = [SP++]; | ||
| 72 | RTS; | ||
| 73 | ENDPROC(_cache_invalidate) | ||
| 74 | |||
| 75 | /* Invalidate the Entire Instruction cache by | ||
| 76 | * disabling IMC bit | ||
| 77 | */ | ||
| 78 | ENTRY(_icache_invalidate) | ||
| 79 | ENTRY(_invalidate_entire_icache) | ||
| 80 | [--SP] = ( R7:5); | ||
| 81 | |||
| 82 | P0.L = LO(IMEM_CONTROL); | ||
| 83 | P0.H = HI(IMEM_CONTROL); | ||
| 84 | R7 = [P0]; | ||
| 85 | |||
| 86 | /* Clear the IMC bit , All valid bits in the instruction | ||
| 87 | * cache are set to the invalid state | ||
| 88 | */ | ||
| 89 | BITCLR(R7,IMC_P); | ||
| 90 | CLI R6; | ||
| 91 | SSYNC; /* SSYNC required before invalidating cache. */ | ||
| 92 | .align 8; | ||
| 93 | [P0] = R7; | ||
| 94 | SSYNC; | ||
| 95 | STI R6; | ||
| 96 | |||
| 97 | /* Configures the instruction cache agian */ | ||
| 98 | R6 = (IMC | ENICPLB); | ||
| 99 | R7 = R7 | R6; | ||
| 100 | |||
| 101 | CLI R6; | ||
| 102 | SSYNC; /* SSYNC required before writing to IMEM_CONTROL. */ | ||
| 103 | .align 8; | ||
| 104 | [P0] = R7; | ||
| 105 | SSYNC; | ||
| 106 | STI R6; | ||
| 107 | |||
| 108 | ( R7:5) = [SP++]; | ||
| 109 | RTS; | ||
| 110 | ENDPROC(_invalidate_entire_icache) | ||
| 111 | ENDPROC(_icache_invalidate) | ||
| 112 | 37 | ||
| 113 | /* | 38 | /* |
| 114 | * blackfin_cache_flush_range(start, end) | 39 | * blackfin_cache_flush_range(start, end) |
| @@ -190,46 +115,6 @@ ENTRY(_blackfin_dcache_invalidate_range) | |||
| 190 | RTS; | 115 | RTS; |
| 191 | ENDPROC(_blackfin_dcache_invalidate_range) | 116 | ENDPROC(_blackfin_dcache_invalidate_range) |
| 192 | 117 | ||
| 193 | /* Invalidate the Entire Data cache by | ||
| 194 | * clearing DMC[1:0] bits | ||
| 195 | */ | ||
| 196 | ENTRY(_invalidate_entire_dcache) | ||
| 197 | ENTRY(_dcache_invalidate) | ||
| 198 | [--SP] = ( R7:6); | ||
| 199 | |||
| 200 | P0.L = LO(DMEM_CONTROL); | ||
| 201 | P0.H = HI(DMEM_CONTROL); | ||
| 202 | R7 = [P0]; | ||
| 203 | |||
| 204 | /* Clear the DMC[1:0] bits, All valid bits in the data | ||
| 205 | * cache are set to the invalid state | ||
| 206 | */ | ||
| 207 | BITCLR(R7,DMC0_P); | ||
| 208 | BITCLR(R7,DMC1_P); | ||
| 209 | CLI R6; | ||
| 210 | SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */ | ||
| 211 | .align 8; | ||
| 212 | [P0] = R7; | ||
| 213 | SSYNC; | ||
| 214 | STI R6; | ||
| 215 | |||
| 216 | /* Configures the data cache again */ | ||
| 217 | |||
| 218 | R6 = DMEM_CNTR; | ||
| 219 | R7 = R7 | R6; | ||
| 220 | |||
| 221 | CLI R6; | ||
| 222 | SSYNC; /* SSYNC required before writing to DMEM_CONTROL. */ | ||
| 223 | .align 8; | ||
| 224 | [P0] = R7; | ||
| 225 | SSYNC; | ||
| 226 | STI R6; | ||
| 227 | |||
| 228 | ( R7:6) = [SP++]; | ||
| 229 | RTS; | ||
| 230 | ENDPROC(_dcache_invalidate) | ||
| 231 | ENDPROC(_invalidate_entire_dcache) | ||
| 232 | |||
| 233 | ENTRY(_blackfin_dcache_flush_range) | 118 | ENTRY(_blackfin_dcache_flush_range) |
| 234 | R2 = -L1_CACHE_BYTES; | 119 | R2 = -L1_CACHE_BYTES; |
| 235 | R2 = R0 & R2; | 120 | R2 = R0 & R2; |
