Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/3] irqchip/econet-en751221: Deliver odd interrupts without VEIC
@ 2026-11-15 19:26 Akshat Singh via B4 Relay
  2026-11-15 19:26 ` [PATCH 1/3] dt-bindings: interrupt-controller: econet,en751221-intc: Allow up to 6 parent interrupts Akshat Singh via B4 Relay
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Akshat Singh via B4 Relay @ 2026-11-15 19:26 UTC (permalink / raw)
  To: Caleb James DeLisle, Thomas Gleixner, Radu Rendec, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Thomas Bogendoerfer
  Cc: linux-mips, linux-kernel, devicetree, Akshat Singh

the en751221 intc puts the number of the pending irq plus one, in binary,
on IP2-IP7. with VEIC the cpu takes that as the vector, but without it the
driver only chains IP2, so odd irqs (qdma 21, xhci 17, first pcie port 23)
only get handled when an even one runs the handler, usually the next timer
tick.

on a nokia g-140w-c the 34kc doesn't report VEIC (no veic in
/proc/cpuinfo), and ping to the box kept cycling through 1-11ms. chaining
the handler to IP2-IP6 brings it under 1ms. VEIC mode is untouched.

tested on the g-140w-c with openwrt's 6.18 kernel, where the non-VEIC path
is the same as in mainline. on 7.4-rc2 it's build tested (W=1, no new
warnings), and dt_binding_check, CHECK_DTBS and checkpatch --strict are
clean. Caleb offered to test it on his boards:
https://github.com/openwrt/openwrt/pull/26744

Caleb: arch/mips/econet/init.c says the en751221 is a 34kc with VEIC, but
this one doesn't report it. is that something the bootloader or a soc
register turns on? if VEIC can be enabled here that's probably the better
fix for this board, but the non-VEIC path should still deliver everything.

the binding patch has to go in first, the dts change fails CHECK_DTBS
without it.

Signed-off-by: Akshat Singh <automobilehacks@gmail.com>
---
Akshat Singh (3):
      dt-bindings: interrupt-controller: econet,en751221-intc: Allow up to 6 parent interrupts
      irqchip/econet-en751221: Chain the handler to all parent interrupts
      mips: dts: Connect the EcoNet EN751221 intc to IP2-IP6

 .../interrupt-controller/econet,en751221-intc.yaml |  9 ++++--
 arch/mips/boot/dts/econet/en751221.dtsi            |  7 ++++-
 drivers/irqchip/irq-econet-en751221.c              | 33 ++++++++++++++++++++--
 3 files changed, 43 insertions(+), 6 deletions(-)
---
base-commit: fa2933aac170dd19c6a7f0d7b81a8f537e40915c
change-id: 20261115-en751221-intc-all-lines-2a35252b0b9c

Best regards,
--  
Akshat Singh <automobilehacks@gmail.com>



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

end of thread, other threads:[~2026-11-15 19:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-15 19:26 [PATCH 0/3] irqchip/econet-en751221: Deliver odd interrupts without VEIC Akshat Singh via B4 Relay
2026-11-15 19:26 ` [PATCH 1/3] dt-bindings: interrupt-controller: econet,en751221-intc: Allow up to 6 parent interrupts Akshat Singh via B4 Relay
2026-11-15 19:26 ` [PATCH 2/3] irqchip/econet-en751221: Chain the handler to all " Akshat Singh via B4 Relay
2026-11-15 19:41   ` sashiko-bot
2026-11-15 19:26 ` [PATCH 3/3] mips: dts: Connect the EcoNet EN751221 intc to IP2-IP6 Akshat Singh via B4 Relay
2026-11-15 19:32   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox