• James Hogan's avatar
    MIPS: idle: Workaround wait + FDC problems · e38df288
    James Hogan authored
    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: default avatarJames 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: default avatarRalf Baechle <ralf@linux-mips.org>
    e38df288
idle.c 5.62 KB