diff options
author | Michael Hennerich <michael.hennerich@analog.com> | 2009-02-04 09:49:45 +0100 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2009-02-04 09:49:45 +0100 |
commit | c8e674125e03c5f36ccfd61d83b933e6956074b0 (patch) | |
tree | 65d77a6bc0da07db03c4e8e990162d1607cb99a3 | |
parent | Blackfin arch: Fix udelay implementation (diff) | |
download | linux-c8e674125e03c5f36ccfd61d83b933e6956074b0.tar.xz linux-c8e674125e03c5f36ccfd61d83b933e6956074b0.zip |
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 <michael.hennerich@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
-rw-r--r-- | arch/blackfin/include/asm/delay.h | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h index 47f98c5067b5..c31f91cc1d5d 100644 --- a/arch/blackfin/include/asm/delay.h +++ b/arch/blackfin/include/asm/delay.h @@ -13,29 +13,7 @@ static inline void __delay(unsigned long loops) { - if (ANOMALY_05000312) { - /* 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__ ( +__asm__ __volatile__ ( "LSETUP(1f, 1f) LC0 = %0;" "1: NOP;" : |