• Niklas Cassel's avatar
    riscv: dts: k210: fix broken IRQs on hart1 · 74583f1b
    Niklas Cassel authored
    Commit 67d96729 ("riscv: Update Canaan Kendryte K210 device tree")
    incorrectly removed two entries from the PLIC interrupt-controller node's
    interrupts-extended property.
    
    The PLIC driver cannot know the mapping between hart contexts and hart ids,
    so this information has to be provided by device tree, as specified by the
    PLIC device tree binding.
    
    The PLIC driver uses the interrupts-extended property, and initializes the
    hart context registers in the exact same order as provided by the
    interrupts-extended property.
    
    In other words, if we don't specify the S-mode interrupts, the PLIC driver
    will simply initialize the hart0 S-mode hart context with the hart1 M-mode
    configuration. It is therefore essential to specify the S-mode IRQs even
    though the system itself will only ever be running in M-mode.
    
    Re-add the S-mode interrupts, so that we get working IRQs on hart1 again.
    
    Cc: <stable@vger.kernel.org>
    Fixes: 67d96729 ("riscv: Update Canaan Kendryte K210 device tree")
    Signed-off-by: default avatarNiklas Cassel <niklas.cassel@wdc.com>
    Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    74583f1b
k210.dtsi 11.5 KB