[PATCH v7 21/31] irqchip/gic-v5: Add GICv5 IRS/SPI support
Catalin Marinas
catalin.marinas at arm.com
Thu Jul 3 09:07:03 PDT 2025
On Thu, Jul 03, 2025 at 12:25:11PM +0200, Lorenzo Pieralisi wrote:
> The GICv5 Interrupt Routing Service (IRS) component implements
> interrupt management and routing in the GICv5 architecture.
>
> A GICv5 system comprises one or more IRSes, that together
> handle the interrupt routing and state for the system.
>
> An IRS supports Shared Peripheral Interrupts (SPIs), that are
> interrupt sources directly connected to the IRS; they do not
> rely on memory for storage. The number of supported SPIs is
> fixed for a given implementation and can be probed through IRS
> IDR registers.
>
> SPI interrupt state and routing are managed through GICv5
> instructions.
>
> Each core (PE in GICv5 terms) in a GICv5 system is identified with
> an Interrupt AFFinity ID (IAFFID).
>
> An IRS manages a set of cores that are connected to it.
>
> Firmware provides a topology description that the driver uses
> to detect to which IRS a CPU (ie an IAFFID) is associated with.
>
> Use probeable information and firmware description to initialize
> the IRSes and implement GICv5 IRS SPIs support through an
> SPI-specific IRQ domain.
>
> The GICv5 IRS driver:
>
> - Probes IRSes in the system to detect SPI ranges
> - Associates an IRS with a set of cores connected to it
> - Adds an IRQchip structure for SPI handling
>
> SPIs priority is set to a value corresponding to the lowest
> permissible priority in the system (taking into account the
> implemented priority bits of the IRS and CPU interface).
>
> Since all IRQs are set to the same priority value, the value
> itself does not matter as long as it is a valid one.
>
> Co-developed-by: Sascha Bischoff <sascha.bischoff at arm.com>
> Signed-off-by: Sascha Bischoff <sascha.bischoff at arm.com>
> Co-developed-by: Timothy Hayes <timothy.hayes at arm.com>
> Signed-off-by: Timothy Hayes <timothy.hayes at arm.com>
> Signed-off-by: Lorenzo Pieralisi <lpieralisi at kernel.org>
> Reviewed-by: Marc Zyngier <maz at kernel.org>
> Cc: Will Deacon <will at kernel.org>
> Cc: Thomas Gleixner <tglx at linutronix.de>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Marc Zyngier <maz at kernel.org>
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list