mbox series

[net-next,0/5] net: ipa: defer taking uC proxy clock

Message ID 20210726201136.502800-1-elder@linaro.org
Headers show
Series net: ipa: defer taking uC proxy clock | expand

Message

Alex Elder July 26, 2021, 8:11 p.m. UTC
This series rearranges some of the IPA initialization code.

The first patch gets rid of two trivial setup and teardown
functions, open-coding them in their callers instead.

The second patch has memory regions get configured before endpoints.

IPA interrupts do not depend on GSI being initialized.  Therefore
they can be initialized in the config phase rather than waiting for
setup.  The third patch moves this initialization earlier; memory
regions must already be defined, so it's done after memory config.

The microcontroller also has no dependency on GSI, though it does
require IPA interrupts to be configured.  The fourth patch moves
microcontroller initialization so it too happens during the config
phase rather than setup.

Finally, we currently take a "proxy clock" for the microcontroller
during the config phase, dropping it only after we learn the
microcontroller is initialized.  But microcontroller initialization
is started by the modem, so there's no point in taking that clock
reference before we know the modem has booted.  So the last patch
arranges to wait to take the "proxy clock" for the microcontroller
until we know the modem is about to boot.

					-Alex

Alex Elder (5):
  net: ipa: kill ipa_modem_setup()
  net: ipa: configure memory regions early
  net: ipa: set up IPA interrupts earlier
  net: ipa: set up the microcontroller earlier
  net: ipa: introduce ipa_uc_clock()

 drivers/net/ipa/ipa.h           |  2 ++
 drivers/net/ipa/ipa_interrupt.c |  8 ++---
 drivers/net/ipa/ipa_interrupt.h |  8 ++---
 drivers/net/ipa/ipa_main.c      | 56 ++++++++++++++++++---------------
 drivers/net/ipa/ipa_modem.c     | 12 ++-----
 drivers/net/ipa/ipa_modem.h     |  4 ---
 drivers/net/ipa/ipa_qmi.c       |  6 ++--
 drivers/net/ipa/ipa_qmi.h       | 19 +++++++++++
 drivers/net/ipa/ipa_uc.c        | 52 +++++++++++++++++-------------
 drivers/net/ipa/ipa_uc.h        | 22 ++++++++++---
 10 files changed, 112 insertions(+), 77 deletions(-)

-- 
2.27.0