[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1640548009.git.sander@svanheule.net>
Date: Sun, 26 Dec 2021 20:59:23 +0100
From: Sander Vanheule <sander@...nheule.net>
To: Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <maz@...nel.org>,
Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org
Cc: Birger Koblitz <mail@...ger-koblitz.de>,
Bert Vermeulen <bert@...t.com>,
John Crispin <john@...ozen.org>, linux-kernel@...r.kernel.org,
Sander Vanheule <sander@...nheule.net>
Subject: [RFC PATCH v2 0/5] Rework realtek-rtl IRQ driver
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 (patch 1)
- routing has an off-by-one error. Routing values (1..6) correspond to
MIPS CAUSEF(2..7) (patch 2)
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. (patch 3)
- Get rid of assumed routing to parent interrupts of the original
implementation (patch 4, 5)
Changes since v1:
Link: https://lore.kernel.org/all/cover.1640261161.git.sander@svanheule.net/
Still an RFC. Mainly since I don't like the open coding in the last
patch, but also since I still have a question about the chained IRQ
handlers.
- 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 (5):
irqchip/realtek-rtl: map control data to virq
irqchip/realtek-rtl: fix off-by-one in routing
irqchip/realtek-rtl: use per-parent irq handling
dt-bindings: interrupt-controller: realtek,rtl-intc: map output lines
irqchip/realtek-rtl: add explicit output routing
.../realtek,rtl-intc.yaml | 38 ++-
drivers/irqchip/irq-realtek-rtl.c | 232 ++++++++++++++----
2 files changed, 218 insertions(+), 52 deletions(-)
--
2.33.1
Powered by blists - more mailing lists