]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: idle: Workaround wait + FDC problems
authorJames Hogan <james.hogan@imgtec.com>
Thu, 29 Jan 2015 11:14:11 +0000 (11:14 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 31 Mar 2015 10:04:12 +0000 (12:04 +0200)
commit7311e27c1a232ff2fe92a1842725f91a7b279c58
tree5fb6d68eb0294355c03ee52b02fdd2549f819740
parent8efe0accf9884e84bc6d07cdc2ec99018aaa5cef
MIPS: idle: Workaround wait + FDC problems

On certain cores (namely proAptiv and P5600) incoming data via a Fast
Debug Channel (FDC) while the core is blocked on a wait instruction will
cause the wait not to wake up even when another interrupt is received.
This makes an idle target stop as soon as you send FDC data to it, until
the debug probe interrupts it and restarts the wait instruction.

This is worked around by avoiding using r4k_wait on these cores if
CONFIG_MIPS_EJTAG_FDC_TTY is enabled (which would imply the user intends
to use the FDC).

[ralf@linux-mips.org: Fix conflict.]

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/9144/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/idle.c