[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210726201136.502800-1-elder@linaro.org>
Date: Mon, 26 Jul 2021 15:11:31 -0500
From: Alex Elder <elder@...aro.org>
To: davem@...emloft.net, kuba@...nel.org
Cc: bjorn.andersson@...aro.org, evgreen@...omium.org,
cpratapa@...eaurora.org, subashab@...eaurora.org, elder@...nel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH net-next 0/5] net: ipa: defer taking uC proxy clock
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
Powered by blists - more mailing lists