Skip to content
Snippets Groups Projects
Commit c8e67412 authored by Michael Hennerich's avatar Michael Hennerich Committed by Bryan Wu
Browse files

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: default avatarMichael Hennerich <michael.hennerich@analog.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent 4e653e04
Branches
Tags
No related merge requests found
...@@ -13,29 +13,7 @@ ...@@ -13,29 +13,7 @@
static inline void __delay(unsigned long loops) static inline void __delay(unsigned long loops)
{ {
if (ANOMALY_05000312) { __asm__ __volatile__ (
/* Interrupted loads to loop registers -> bad */
unsigned long tmp;
__asm__ __volatile__(
"[--SP] = LC0;"
"[--SP] = LT0;"
"[--SP] = LB0;"
"LSETUP (1f,1f) LC0 = %1;"
"1: NOP;"
/* We take advantage of the fact that LC0 is 0 at
* the end of the loop. Otherwise we'd need some
* NOPs after the CLI here.
*/
"CLI %0;"
"LB0 = [SP++];"
"LT0 = [SP++];"
"LC0 = [SP++];"
"STI %0;"
: "=d" (tmp)
: "a" (loops)
);
} else
__asm__ __volatile__ (
"LSETUP(1f, 1f) LC0 = %0;" "LSETUP(1f, 1f) LC0 = %0;"
"1: NOP;" "1: NOP;"
: :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment