Skip to content

Commit c8e6741

Browse files
mhennerichBryan Wu
authored andcommitted
Blackfin arch: Remove outdated code
The removed version with the loop registers saved on the stack was originally intended to workaround the missing toolchain support for LoopReg Clobbers. Since our toolchain now supports these there is no point in keeping this workaround. And since we don't touch LoopRegs anymore we're no longer subject for ANOMALY_05000312. Signed-off-by: Michael Hennerich <[email protected]> Signed-off-by: Bryan Wu <[email protected]>
1 parent 4e653e0 commit c8e6741

File tree

1 file changed

+1
-23
lines changed

1 file changed

+1
-23
lines changed

arch/blackfin/include/asm/delay.h

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,7 @@
1313

1414
static inline void __delay(unsigned long loops)
1515
{
16-
if (ANOMALY_05000312) {
17-
/* Interrupted loads to loop registers -> bad */
18-
unsigned long tmp;
19-
__asm__ __volatile__(
20-
"[--SP] = LC0;"
21-
"[--SP] = LT0;"
22-
"[--SP] = LB0;"
23-
"LSETUP (1f,1f) LC0 = %1;"
24-
"1: NOP;"
25-
/* We take advantage of the fact that LC0 is 0 at
26-
* the end of the loop. Otherwise we'd need some
27-
* NOPs after the CLI here.
28-
*/
29-
"CLI %0;"
30-
"LB0 = [SP++];"
31-
"LT0 = [SP++];"
32-
"LC0 = [SP++];"
33-
"STI %0;"
34-
: "=d" (tmp)
35-
: "a" (loops)
36-
);
37-
} else
38-
__asm__ __volatile__ (
16+
__asm__ __volatile__ (
3917
"LSETUP(1f, 1f) LC0 = %0;"
4018
"1: NOP;"
4119
:

0 commit comments

Comments
 (0)