e2f154e6b6
The first time it's booted, the modem loads and starts the IPA-resident microcontroller. Once the microcontroller has completed its initialization, it notifies the AP it's "ready" by sending an INIT_COMPLETED response message. Until it receives that microcontroller message, the AP must ensure the IPA core clock remains operational. Currently, a "proxy" clock reference is taken in ipa_uc_config(), dropping it again once the message is received. However there could be a long delay between when ipa_config() completes and when modem actually starts. And because the microcontroller gets loaded by the modem, there's no need to get the modem "proxy clock" until the first time it starts. Create a new function ipa_uc_clock() which takes the "proxy" clock reference for the microcontroller. Call it when we get remoteproc SSR notification that the modem is about to start. Keep an additional flag to record whether this proxy clock reference needs to be dropped at shutdown time, and issue a warning if we get the microcontroller message either before the clock reference is taken, or after it has already been dropped. Drop the nearby use of "hh" length modifiers, which are no longer encouraged in the kernel. Signed-off-by: Alex Elder <elder@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
---|---|---|
.. | ||
gsi_private.h | ||
gsi_reg.h | ||
gsi_trans.c | ||
gsi_trans.h | ||
gsi.c | ||
gsi.h | ||
ipa_clock.c | ||
ipa_clock.h | ||
ipa_cmd.c | ||
ipa_cmd.h | ||
ipa_data-v3.1.c | ||
ipa_data-v3.5.1.c | ||
ipa_data-v4.2.c | ||
ipa_data-v4.5.c | ||
ipa_data-v4.9.c | ||
ipa_data-v4.11.c | ||
ipa_data.h | ||
ipa_endpoint.c | ||
ipa_endpoint.h | ||
ipa_gsi.c | ||
ipa_gsi.h | ||
ipa_interrupt.c | ||
ipa_interrupt.h | ||
ipa_main.c | ||
ipa_mem.c | ||
ipa_mem.h | ||
ipa_modem.c | ||
ipa_modem.h | ||
ipa_qmi_msg.c | ||
ipa_qmi_msg.h | ||
ipa_qmi.c | ||
ipa_qmi.h | ||
ipa_reg.c | ||
ipa_reg.h | ||
ipa_resource.c | ||
ipa_resource.h | ||
ipa_smp2p.c | ||
ipa_smp2p.h | ||
ipa_sysfs.c | ||
ipa_sysfs.h | ||
ipa_table.c | ||
ipa_table.h | ||
ipa_uc.c | ||
ipa_uc.h | ||
ipa_version.h | ||
ipa.h | ||
Kconfig | ||
Makefile |