Messages in this thread | | | From | Sander Vanheule <> | Subject | [PATCH v3 0/6] Rework realtek-rtl IRQ driver | Date | Sun, 9 Jan 2022 15:54:31 +0100 |
| |
After seeing some use, and with more devices tested, the current implementation for the Realtek SoC interrupt controller was found to contain a few flaws.
The driver requires the following fixes: - irq_domain_ops::map should map the virq, not the hwirq - routing has an off-by-one error. Routing values (1..6) correspond to MIPS CAUSEF(2..7)
The following improvements should also be made: - Use N real cascaded interrupts with an interrupt-specific mask of child irq lines. Otherwise a high-priority interrupt may cause a low-priority interrupt to be handled first. - Get rid of assumed routing to parent interrupts of the original implementation.
Changes since v2 (RFC): Link: https://lore.kernel.org/all/cover.1640548009.git.sander@svanheule.net/
- 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@svanheule.net/
- 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 (6): irqchip/realtek-rtl: map control data to virq irqchip/realtek-rtl: fix off-by-one in routing irqchip/realtek-rtl: clear all pending interrupts 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 | 78 ++++-- drivers/irqchip/irq-realtek-rtl.c | 235 ++++++++++++------ 2 files changed, 222 insertions(+), 91 deletions(-)
-- 2.33.1
| |