[PATCH v2 0/3] irqchip/gic-v5: Tidy up LPI allocation

Sascha Bischoff Sascha.Bischoff at arm.com
Wed May 6 02:36:42 PDT 2026


LPIs are owned by the LPI domain, but the ITS MSI and IPI domains
currently allocate and free them directly. This exposes the parent's
allocation policy to child domains and requires the children to release
resources that belong to the parent.

Move LPI allocation and teardown into the LPI domain and remove the
exported wrappers that allowed external callers to manage LPIs
directly. Then update the LPI, IPI and ITS MSI domains to use range
allocation and teardown instead of enforcing one-by-one operation.

Thanks,
Sascha

---
Changes since v1:
* Re-wrote commit messages for patches 1 & 2 to be in keeping with the
  expected style.
* Cleaned up loops in patch 2 to use unsigned int and minimise usage
  of `virq + i` (using `virq++` instead). Thanks, Thomas.
* Added Reviewed-by tags.
* Added a Fixes tag to patch 2 as it does fix an existing bug.

v1: https://lore.kernel.org/all/20260430153352.3654325-1-sascha.bischoff@arm.com/

Sascha Bischoff (3):
  irqchip/gic-v5: Move LPI allocation into the LPI domain
  irqchip/gic-v5: Support range allocation for LPIs
  irqchip/gic-v5: Allocate ITS parent LPIs as a range

 drivers/irqchip/irq-gic-v5-its.c   | 34 +++--------
 drivers/irqchip/irq-gic-v5.c       | 98 ++++++++++++++++--------------
 include/linux/irqchip/arm-gic-v5.h |  3 -
 3 files changed, 60 insertions(+), 75 deletions(-)

-- 
2.34.1



More information about the linux-arm-kernel mailing list