irqchip/gic-v5: Allocate ITS parent LPIs as a range
authorSascha Bischoff <Sascha.Bischoff@arm.com>
Wed, 6 May 2026 09:37:43 +0000 (09:37 +0000)
committerThomas Gleixner <tglx@kernel.org>
Mon, 11 May 2026 12:56:04 +0000 (14:56 +0200)
commita7c7e42654b6a8676610ee09d22901432c4851af
treeeee00f13305bb74ae3ad32a4e1e2e940384ab777
parenteb6f6d523813ead9dc2799194a2839d42c049734
irqchip/gic-v5: Allocate ITS parent LPIs as a range

The ITS MSI domain no longer manages LPI allocation directly. LPIs are
allocated and freed by the parent LPI domain, which can now handle a
full range of interrupts and unwind partial allocations internally.

Make the ITS domain request and release the parent IRQs as a single
range instead of iterating over each interrupt. The ITS allocation
path then only needs to reserve EventIDs, allocate the parent range,
and fill in the ITS irq_data for each MSI. Since no operation in the
per-MSI loop can fail, the partial parent-free unwind becomes
unnecessary.

On teardown, reset the ITS irq_data for the range and then release the
parent range in one call, leaving LPI teardown to the LPI domain.

Fixes: 0f0101325876 ("irqchip/gic-v5: Add GICv5 LPI/IPI support")
Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260506093634.382062-4-sascha.bischoff@arm.com
drivers/irqchip/irq-gic-v5-its.c