• Anup Patel's avatar
    RISC-V: Treat IPIs as normal Linux IRQs · 832f15f4
    Anup Patel authored
    Currently, the RISC-V kernel provides arch specific hooks (i.e.
    struct riscv_ipi_ops) to register IPI handling methods. The stats
    gathering of IPIs is also arch specific in the RISC-V kernel.
    
    Other architectures (such as ARM, ARM64, and MIPS) have moved away
    from custom arch specific IPI handling methods. Currently, these
    architectures have Linux irqchip drivers providing a range of Linux
    IRQ numbers to be used as IPIs and IPI triggering is done using
    generic IPI APIs. This approach allows architectures to treat IPIs
    as normal Linux IRQs and IPI stats gathering is done by the generic
    Linux IRQ subsystem.
    
    We extend the RISC-V IPI handling as-per above approach so that arch
    specific IPI handling methods (struct riscv_ipi_ops) can be removed
    and the IPI handling is done through the Linux IRQ subsystem.
    Signed-off-by: default avatarAnup Patel <apatel@ventanamicro.com>
    Acked-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Link: https://lore.kernel.org/r/20230328035223.1480939-4-apatel@ventanamicro.com
    832f15f4
sbi.c 16.8 KB