• Alexey Brodkin's avatar
    arc: Mask individual IRQ lines during core INTC init · a8ec3ee8
    Alexey Brodkin authored
    ARC cores on reset have all interrupt lines of built-in INTC enabled.
    Which means once we globally enable interrupts (very early on boot)
    faulty hardware blocks may trigger an interrupt that Linux kernel
    cannot handle yet as corresponding handler is not yet installed.
    
    In that case system falls in "interrupt storm" and basically never
    does anything useful except entering and exiting generic IRQ handling
    code.
    
    One real example of that kind of problematic hardware is DW GMAC which
    also has interrupts enabled on reset and if Ethernet PHY informs GMAC
    about link state, GMAC immediately reports that upstream to ARC core
    and here we are.
    
    Now with that change we mask all individual IRQ lines making entire
    system more fool-proof.
    
    [This patch was motivated by Adaptrum platform support]
    Signed-off-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
    Cc: Eugeniy Paltsev <paltsev@synopsys.com>
    Tested-by: default avatarAlexandru Gagniuc <alex.g@adaptrum.com>
    Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
    a8ec3ee8
intc-compact.c 4.77 KB