[PATCH 0/6] irqchip/al-fic: shared parent IRQ, FIC v2/v3 and affinity

Eliav Farber posted 6 patches 5 hours ago
Only 5 patches received!
.../interrupt-controller/amazon,al-fic.yaml   |   5 +-
drivers/irqchip/irq-al-fic.c                  | 176 +++++++++++++++---
2 files changed, 150 insertions(+), 31 deletions(-)
[PATCH 0/6] irqchip/al-fic: shared parent IRQ, FIC v2/v3 and affinity
Posted by Eliav Farber 5 hours ago
This series extends the Amazon Annapurna Labs Fabric Interrupt Controller
(FIC) driver to support newer hardware revisions and configurations found
on later Annapurna Labs SoCs, plus a couple of smaller fixes.

FIC v2 and later add two interrupt groups alongside the existing legacy
group - an "error" group and a "fatal" group - each described by its own
device tree node and matched by a distinct compatible string. On some
platforms several FIC instances also share a single parent GIC SPI, which
the driver did not previously support.

The series is organised as follows:

  1. Use the full node name in log messages and raise the successful-init
     message to pr_info, so each FIC instance is identifiable at boot.
  2. Request the parent interrupt as shared (IRQF_SHARED) instead of a
     chained handler, so multiple FIC instances can share one GIC SPI.
  3. Extend the binding with the amazon,al-fic-error and amazon,al-fic-fatal
     compatibles for the new groups.
  4. Add FIC v2 support: version detection, the error/fatal groups, and a
     mask_cache workaround for a v2 erratum where the error and fatal mask
     registers always read back as 0.
  5. Add FIC v3 support. v3 shares v2's group layout but fixes the mask
     read-back erratum, so the v2 workaround is deliberately not applied.
  6. Add an irq_set_affinity callback so drivers that call
     irq_set_affinity() (which fails with -EINVAL when the irqchip has no
     such callback) can probe when routed through a FIC instance.

Eliav Farber (6):
  irqchip/al-fic: use full node name and raise init log level
  irqchip/al-fic: switch to shared parent interrupt
  dt-bindings: interrupt-controller: amazon,al-fic: add error/fatal
    groups
  irqchip/al-fic: add support for FIC v2
  irqchip/al-fic: add support for FIC v3
  irqchip/al-fic: add irq_set_affinity callback

 .../interrupt-controller/amazon,al-fic.yaml   |   5 +-
 drivers/irqchip/irq-al-fic.c                  | 176 +++++++++++++++---
 2 files changed, 150 insertions(+), 31 deletions(-)


base-commit: 6828157ab3e96cd1c957b78d995c5e508a2eb2c2
-- 
2.47.3