Messages in this thread |  | | From | Alex Elder <> | Subject | [PATCH net-next 0/5] net: ipa: defer taking uC proxy clock | Date | Mon, 26 Jul 2021 15:11:31 -0500 |
| |
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
|  |