MIPS: Outline udelay and fix a few issues.
Outlining fixes the issue were on certain CPUs such as the R10000 family
the delay loop would need an extra cycle if it overlaps a cacheline
boundary.
The rewrite also fixes build errors with GCC 4.4 which was changed in
way incompatible with the kernel's inline assembly.
Relying on pure C for computation of the delay value removes the need for
explicit. The price we pay is a slight slowdown of the computation - to
be fixed on another day.
Signed-off-by:
Ralf Baechle <ralf@linux-mips.org>
Showing
- arch/mips/include/asm/cpu-info.h 2 additions, 2 deletionsarch/mips/include/asm/cpu-info.h
- arch/mips/include/asm/delay.h 5 additions, 87 deletionsarch/mips/include/asm/delay.h
- arch/mips/kernel/proc.c 1 addition, 1 deletionarch/mips/kernel/proc.c
- arch/mips/lib/Makefile 2 additions, 2 deletionsarch/mips/lib/Makefile
- arch/mips/lib/delay.c 56 additions, 0 deletionsarch/mips/lib/delay.c
Loading
Please register or sign in to comment