devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v2 0/5] Rework realtek-rtl IRQ driver
@ 2021-12-26 19:59 Sander Vanheule
  2021-12-26 19:59 ` [RFC PATCH v2 1/5] irqchip/realtek-rtl: map control data to virq Sander Vanheule
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Sander Vanheule @ 2021-12-26 19:59 UTC (permalink / raw)
  To: Thomas Gleixner, Marc Zyngier, Rob Herring, devicetree
  Cc: Birger Koblitz, Bert Vermeulen, John Crispin, linux-kernel,
	Sander Vanheule

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-12-29 20:03 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-26 19:59 [RFC PATCH v2 0/5] Rework realtek-rtl IRQ driver Sander Vanheule
2021-12-26 19:59 ` [RFC PATCH v2 1/5] irqchip/realtek-rtl: map control data to virq Sander Vanheule
2021-12-26 19:59 ` [RFC PATCH v2 2/5] irqchip/realtek-rtl: fix off-by-one in routing Sander Vanheule
2021-12-27 10:16   ` Marc Zyngier
2021-12-28 10:13     ` Sander Vanheule
2021-12-28 10:59       ` Marc Zyngier
2021-12-28 16:21         ` Sander Vanheule
2021-12-26 19:59 ` [RFC PATCH v2 3/5] irqchip/realtek-rtl: use per-parent irq handling Sander Vanheule
2021-12-27 10:38   ` Marc Zyngier
2021-12-26 19:59 ` [RFC PATCH v2 4/5] dt-bindings: interrupt-controller: realtek,rtl-intc: map output lines Sander Vanheule
2021-12-27 11:17   ` Marc Zyngier
2021-12-28 16:21     ` Sander Vanheule
2021-12-28 16:53       ` Birger Koblitz
2021-12-29 19:32         ` Sander Vanheule
2021-12-26 19:59 ` [RFC PATCH v2 5/5] irqchip/realtek-rtl: add explicit output routing Sander Vanheule
2021-12-27  9:06 ` [RFC PATCH v2 0/5] Rework realtek-rtl IRQ driver Birger Koblitz
2021-12-27 10:39   ` Sander Vanheule
2021-12-28  8:09     ` Birger Koblitz
2021-12-29 20:03       ` Sander Vanheule

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).