diff options
author | Robin Getz <robin.getz@analog.com> | 2007-06-20 23:34:16 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-06-20 23:34:16 -0400 |
commit | 4bf3f3cbb6add01d3e6a18c73f594b73113b14f2 (patch) | |
tree | a80839f98a64052f4d004a5207da2731fe556908 /arch/blackfin/mach-common/cache.S | |
parent | 0864a4e201b1ea442f4c8b887418a29f67e24d30 (diff) |
Blackfin arch: update ANOMALY handling
update lists for 533, 537, and add SSYNC workaround into assembly files.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/mach-common/cache.S')
-rw-r--r-- | arch/blackfin/mach-common/cache.S | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/blackfin/mach-common/cache.S b/arch/blackfin/mach-common/cache.S index 8bd2af1935bd..7063795eb7c0 100644 --- a/arch/blackfin/mach-common/cache.S +++ b/arch/blackfin/mach-common/cache.S | |||
@@ -123,14 +123,14 @@ ENTRY(_blackfin_icache_flush_range) | |||
123 | R2 = R0 & R2; | 123 | R2 = R0 & R2; |
124 | P0 = R2; | 124 | P0 = R2; |
125 | P1 = R1; | 125 | P1 = R1; |
126 | CSYNC; | 126 | CSYNC(R3); |
127 | IFLUSH [P0]; | 127 | IFLUSH [P0]; |
128 | 1: | 128 | 1: |
129 | IFLUSH [P0++]; | 129 | IFLUSH [P0++]; |
130 | CC = P0 < P1 (iu); | 130 | CC = P0 < P1 (iu); |
131 | IF CC JUMP 1b (bp); | 131 | IF CC JUMP 1b (bp); |
132 | IFLUSH [P0]; | 132 | IFLUSH [P0]; |
133 | SSYNC; | 133 | SSYNC(R3); |
134 | RTS; | 134 | RTS; |
135 | ENDPROC(_blackfin_icache_flush_range) | 135 | ENDPROC(_blackfin_icache_flush_range) |
136 | 136 | ||
@@ -148,7 +148,7 @@ ENTRY(_blackfin_icache_dcache_flush_range) | |||
148 | R2 = R0 & R2; | 148 | R2 = R0 & R2; |
149 | P0 = R2; | 149 | P0 = R2; |
150 | P1 = R1; | 150 | P1 = R1; |
151 | CSYNC; | 151 | CSYNC(R3); |
152 | IFLUSH [P0]; | 152 | IFLUSH [P0]; |
153 | 1: | 153 | 1: |
154 | FLUSH [P0]; | 154 | FLUSH [P0]; |
@@ -157,7 +157,7 @@ ENTRY(_blackfin_icache_dcache_flush_range) | |||
157 | IF CC JUMP 1b (bp); | 157 | IF CC JUMP 1b (bp); |
158 | IFLUSH [P0]; | 158 | IFLUSH [P0]; |
159 | FLUSH [P0]; | 159 | FLUSH [P0]; |
160 | SSYNC; | 160 | SSYNC(R3); |
161 | RTS; | 161 | RTS; |
162 | ENDPROC(_blackfin_icache_dcache_flush_range) | 162 | ENDPROC(_blackfin_icache_dcache_flush_range) |
163 | 163 | ||
@@ -174,7 +174,7 @@ ENTRY(_blackfin_dcache_invalidate_range) | |||
174 | R2 = R0 & R2; | 174 | R2 = R0 & R2; |
175 | P0 = R2; | 175 | P0 = R2; |
176 | P1 = R1; | 176 | P1 = R1; |
177 | CSYNC; | 177 | CSYNC(R3); |
178 | FLUSHINV[P0]; | 178 | FLUSHINV[P0]; |
179 | 1: | 179 | 1: |
180 | FLUSHINV[P0++]; | 180 | FLUSHINV[P0++]; |
@@ -186,7 +186,7 @@ ENTRY(_blackfin_dcache_invalidate_range) | |||
186 | * so do one more. | 186 | * so do one more. |
187 | */ | 187 | */ |
188 | FLUSHINV[P0]; | 188 | FLUSHINV[P0]; |
189 | SSYNC; | 189 | SSYNC(R3); |
190 | RTS; | 190 | RTS; |
191 | ENDPROC(_blackfin_dcache_invalidate_range) | 191 | ENDPROC(_blackfin_dcache_invalidate_range) |
192 | 192 | ||
@@ -235,7 +235,7 @@ ENTRY(_blackfin_dcache_flush_range) | |||
235 | R2 = R0 & R2; | 235 | R2 = R0 & R2; |
236 | P0 = R2; | 236 | P0 = R2; |
237 | P1 = R1; | 237 | P1 = R1; |
238 | CSYNC; | 238 | CSYNC(R3); |
239 | FLUSH[P0]; | 239 | FLUSH[P0]; |
240 | 1: | 240 | 1: |
241 | FLUSH[P0++]; | 241 | FLUSH[P0++]; |
@@ -247,17 +247,17 @@ ENTRY(_blackfin_dcache_flush_range) | |||
247 | * one more. | 247 | * one more. |
248 | */ | 248 | */ |
249 | FLUSH[P0]; | 249 | FLUSH[P0]; |
250 | SSYNC; | 250 | SSYNC(R3); |
251 | RTS; | 251 | RTS; |
252 | ENDPROC(_blackfin_dcache_flush_range) | 252 | ENDPROC(_blackfin_dcache_flush_range) |
253 | 253 | ||
254 | ENTRY(_blackfin_dflush_page) | 254 | ENTRY(_blackfin_dflush_page) |
255 | P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT); | 255 | P1 = 1 << (PAGE_SHIFT - L1_CACHE_SHIFT); |
256 | P0 = R0; | 256 | P0 = R0; |
257 | CSYNC; | 257 | CSYNC(R3); |
258 | FLUSH[P0]; | 258 | FLUSH[P0]; |
259 | LSETUP (.Lfl1, .Lfl1) LC0 = P1; | 259 | LSETUP (.Lfl1, .Lfl1) LC0 = P1; |
260 | .Lfl1: FLUSH [P0++]; | 260 | .Lfl1: FLUSH [P0++]; |
261 | SSYNC; | 261 | SSYNC(R3); |
262 | RTS; | 262 | RTS; |
263 | ENDPROC(_blackfin_dflush_page) | 263 | ENDPROC(_blackfin_dflush_page) |