• Matt Redfearn's avatar
    MIPS: Generic: Support GIC in EIC mode · 7bf8b16d
    Matt Redfearn authored
    The GIC supports running in External Interrupt Controller (EIC) mode,
    and will signal this via cpu_has_veic if enabled in hardware. Currently
    the generic kernel will panic if cpu_has_veic is set - but the GIC can
    legitimately set this flag if either configured to boot in EIC mode, or
    if the GIC driver enables this mode. Make the kernel not panic in this
    case, and instead just check if the GIC is present. If so, use it's CPU
    local interrupt routing functions. If an EIC is present, but it is not
    the GIC, then the kernel does not know how to get the VIRQ for the CPU
    local interrupts and should panic. Support for alternative EICs being
    present is needed here for the generic kernel to support them.
    Suggested-by: default avatarPaul Burton <paul.burton@mips.com>
    Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/18191/Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
    7bf8b16d
irq.c 1.47 KB