MIPS: Idle: Break r4k_wait into two functions and fix it.
authorRalf Baechle <ralf@linux-mips.org>
Tue, 21 May 2013 15:33:32 +0000 (17:33 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 21 May 2013 23:34:28 +0000 (01:34 +0200)
commit087d990b371c59edbfc119600e2d2eda18366292
tree43869914c4a0680a7b560576f7169c80354138f3
parentf94d9a8ef9aebab5317d11fb1633ba14ad240983
MIPS: Idle: Break r4k_wait into two functions and fix it.

local_irq_enable() may expand into very different code, so it rather should
stay in C.  Also this keeps the assembler code size constant which keeps
the rollback code simple.  So it's best to split r4k_wait into two parts,
one C and one assembler.

Finally add the local_irq_enable() to r4k_wait to ensure the WAIT
instruction in __r4k_wait() will work properly.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/idle.h
arch/mips/kernel/genex.S
arch/mips/kernel/idle.c