Messages in this thread | | | From | Marc Zyngier <> | Subject | [PATCH v2 00/12] irqchip/gic-v3: Add support for GICv3.1 extended PPI/SPI ranges | Date | Tue, 6 Aug 2019 11:01:09 +0100 |
| |
Apparently, having ~1000 wired interrupts is not enough, and some people need more. Fear not! The GIC Achitecture Department hereby grants you another 1024 SPIs, together with 64 PPIs, provided that you implement GICv3.1 (see [1] for the details)
This series implements the required support, which requires a bit of infrastructure rework in order to make the thing less horrible...
This has been tested on a FastModel. If there is no additional issue being reported, I plan to put this into -next toward the end of this week and let it simmer there for a bit.
[1] https://developer.arm.com/docs/ihi0069/latest (version E)
* From v1: - Tighten ESPI range matching - Added a warning to detect inconsistent distributor/cpu interface configurations - Added quirks to handle HIP06/07 erratum 161010803 which unexpectedly advertise ESPI support
Marc Zyngier (12): irqchip/gic: Rework gic_configure_irq to take the full ICFGR base irqchip/gic-v3: Add INTID range and convertion primitives dt-bindings: interrupt-controller: arm,gic-v3: Describe ESPI range support irqchip/gic-v3: Add ESPI range support irqchip/gic: Prepare for more than 16 PPIs irqchip/gic-v3: Dynamically allocate PPI NMI refcounts irqchip/gic-v3: Dynamically allocate PPI partition descriptors dt-bindings: interrupt-controller: arm,gic-v3: Describe EPPI range support irqchip/gic-v3: Add EPPI range support irqchip/gic-v3: Warn about inconsistent implementations of extended ranges irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803
Documentation/arm64/silicon-errata.rst | 2 + .../interrupt-controller/arm,gic-v3.yaml | 6 +- drivers/irqchip/irq-gic-common.c | 35 +- drivers/irqchip/irq-gic-common.h | 2 +- drivers/irqchip/irq-gic-v3.c | 380 ++++++++++++++---- drivers/irqchip/irq-gic.c | 12 +- drivers/irqchip/irq-hip04.c | 9 +- include/linux/irqchip/arm-gic-v3.h | 30 +- 8 files changed, 372 insertions(+), 104 deletions(-)
-- 2.20.1
| |