linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/6] net: ipa: simplify IPA interrupt handling
@ 2022-12-30 23:22 Alex Elder
  2022-12-30 23:22 ` [PATCH net-next 1/6] net: ipa: introduce a common microcontroller interrupt handler Alex Elder
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Alex Elder @ 2022-12-30 23:22 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni
  Cc: caleb.connolly, mka, evgreen, andersson, quic_cpratapa,
	quic_avuyyuru, quic_jponduru, quic_subashab, elder, netdev,
	linux-arm-msm, linux-kernel

One of the IPA's two IRQs fires when data on a suspended channel is
available (to request that the channel--or system--be resumed to
recieve the pending data).  This interrupt also handles a few
conditions signaled by the embedded microcontroller.

For this "IPA interrupt", the current code requires a handler to be
dynamically registered for each interrupt condition.  Any condition
that has no registered handler is quietly ignored.  This design is
derived from the downstream IPA driver implementation.

There isn't any need for this complexity.  Even in the downstream
code, only four of the available 30 or so IPA interrupt conditions
are ever handled.  So these handlers can pretty easily just be
called directly in the main IRQ handler function.

This series simplifies the interrupt handling code by having the
small number of IPA interrupt handlers be called directly, rather
than having them be registered dynamically.

					-Alex

Alex Elder (6):
  net: ipa: introduce a common microcontroller interrupt handler
  net: ipa: introduce ipa_interrupt_enable()
  net: ipa: enable IPA interrupt handlers separate from registration
  net: ipa: register IPA interrupt handlers directly
  net: ipa: kill ipa_interrupt_add()
  net: ipa: don't maintain IPA interrupt handler array

 drivers/net/ipa/ipa_interrupt.c | 103 ++++++++++++++------------------
 drivers/net/ipa/ipa_interrupt.h |  47 +++++----------
 drivers/net/ipa/ipa_power.c     |  19 ++----
 drivers/net/ipa/ipa_power.h     |  12 ++++
 drivers/net/ipa/ipa_uc.c        |  21 +++++--
 drivers/net/ipa/ipa_uc.h        |   8 +++
 6 files changed, 98 insertions(+), 112 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2023-01-03 20:25 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-30 23:22 [PATCH net-next 0/6] net: ipa: simplify IPA interrupt handling Alex Elder
2022-12-30 23:22 ` [PATCH net-next 1/6] net: ipa: introduce a common microcontroller interrupt handler Alex Elder
2022-12-30 23:22 ` [PATCH net-next 2/6] net: ipa: introduce ipa_interrupt_enable() Alex Elder
2022-12-30 23:22 ` [PATCH net-next 3/6] net: ipa: enable IPA interrupt handlers separate from registration Alex Elder
2022-12-31 17:56   ` Caleb Connolly
2023-01-01 18:32     ` Alex Elder
2023-01-03 20:25     ` Alex Elder
2022-12-30 23:22 ` [PATCH net-next 4/6] net: ipa: register IPA interrupt handlers directly Alex Elder
2022-12-30 23:22 ` [PATCH net-next 5/6] net: ipa: kill ipa_interrupt_add() Alex Elder
2022-12-30 23:22 ` [PATCH net-next 6/6] net: ipa: don't maintain IPA interrupt handler array Alex Elder
2022-12-31  3:52 ` [PATCH net-next 0/6] net: ipa: simplify IPA interrupt handling Jakub Kicinski
2022-12-31 12:21   ` Alex Elder

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).