[PATCH v5 0/4] Per-parent domains for realtek-rtl IRQ driver

From: Sander Vanheule
Date: Mon Feb 14 2022 - 15:57:14 EST


The original implementation for this interrupt controller/router used
an interrupt-map parser to determine which parent interrupts were
present. However, this controller is not transparent, so a list of
parent interrupts seems more appropriate, while also getting rid of the
assumed routing to parent interrupts.

Additionally, N real cascaded interrupts are implemented, instead of
handling all input interrupts with one cascaded interrupt. Otherwise it
is possible that the priority of the parent interrupts is not respected.

Changes since v4:
Link: https://lore.kernel.org/all/cover.1644165421.git.sander@xxxxxxxxxxxxx/

- Add Rob's Reviewed-by
- Use irq_domain_add_linear instead of irq_domain_add_simple
- Drop 'inline' specifiers from static functions
- Drop WARN in intc_select() to only warn once for old bindings

Changes since v3:
Link: https://lore.kernel.org/all/cover.1641739718.git.sander@xxxxxxxxxxxxx/

- Patches with fixes were merged, so these are no longer included.
- Update the devicetree changes to more clearly indicate the controller
is not transparent.

Changes since v2 (RFC):
Link: https://lore.kernel.org/all/cover.1640548009.git.sander@xxxxxxxxxxxxx/

- Define new, two-part compatibles for devicetree bindings. The existing format
is kept for the old one-part compatible, but deprecated. New compatibles will
require a different way of specifying parent interrupts and interrupt routing.
- Add change to handle all pending SoC interrupts in one go.

Changes since v1 (RFC):
Link: https://lore.kernel.org/all/cover.1640261161.git.sander@xxxxxxxxxxxxx/

- Split some of the changes to limit the patch scope to one issue.
- Dropped some small (spurious or unneeded) changes
- Instead of dropping/replacing interrupt-map, the last patches now provide an
implementation that amends the current situtation.

Sander Vanheule (4):
irqchip/realtek-rtl: use irq_domain_add_linear
dt-bindings: interrupt-controller: realtek,rtl-intc: require parents
irqchip/realtek-rtl: use parent interrupts
irqchip/realtek-rtl: use per-parent domains

.../realtek,rtl-intc.yaml | 82 +++++--
drivers/irqchip/irq-realtek-rtl.c | 231 ++++++++++++------
2 files changed, 221 insertions(+), 92 deletions(-)

--
2.35.1