linux/drivers/net/ipa
Alex Elder 2abb0c7f98 net: ipa: resume in ipa_clock_get()
Introduce ipa_runtime_suspend() and ipa_runtime_resume(), which
encapsulate the activities necessary for suspending and resuming
the IPA hardware.  Call these functions from ipa_clock_get() and
ipa_clock_put() when the first reference is taken or last one is
dropped.

When the very first clock reference is taken (for ipa_config()),
setup isn't complete yet, so (as before) only the core clock gets
enabled.

When the last clock reference is dropped (after ipa_deconfig()),
ipa_teardown() will have made the setup_complete flag false, so
there too, the core clock will be stopped without affecting GSI
or the endpoints.

Otherwise these new functions will perform the desired suspend and
resume actions once setup is complete.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-11 13:31:56 +01:00
..
gsi_private.h net: ipa: DMA addresses are nicely aligned 2021-03-28 18:12:03 -07:00
gsi_reg.h net: ipa: inter-EE interrupts aren't always available 2021-06-21 12:30:59 -07:00
gsi_trans.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
gsi_trans.h net: ipa: fix all kernel-doc warnings 2021-03-28 18:12:03 -07:00
gsi.c net: ipa: disable GSI interrupts while suspended 2021-08-04 10:12:05 +01:00
gsi.h net: ipa: disable GSI interrupts while suspended 2021-08-04 10:12:05 +01:00
ipa_clock.c net: ipa: resume in ipa_clock_get() 2021-08-11 13:31:56 +01:00
ipa_clock.h net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_cmd.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_cmd.h net: ipa: kill the remaining conditional validation code 2021-07-26 22:38:11 +01:00
ipa_data-v3.1.c net: ipa: add IPA v3.1 configuration data 2021-06-21 12:31:00 -07:00
ipa_data-v3.5.1.c net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_data-v4.2.c net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_data-v4.5.c net: ipa: enable inline checksum offload for IPA v4.5+ 2021-07-26 22:56:34 +01:00
ipa_data-v4.9.c net: ipa: fix IPA v4.9 interconnects 2021-08-05 11:01:16 +01:00
ipa_data-v4.11.c net: ipa: enable inline checksum offload for IPA v4.5+ 2021-07-26 22:56:34 +01:00
ipa_data.h net: ipa: add IPA v3.1 configuration data 2021-06-21 12:31:00 -07:00
ipa_endpoint.c net: ipa: use gsi->version for channel suspend/resume 2021-08-04 10:12:05 +01:00
ipa_endpoint.h net: ipa: three small fixes 2021-04-09 20:57:26 -07:00
ipa_gsi.c net: ipa: include declarations in "ipa_gsi.c" 2020-07-07 12:43:18 -07:00
ipa_gsi.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_interrupt.c net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_interrupt.h net: ipa: set up IPA interrupts earlier 2021-07-26 23:09:18 +01:00
ipa_main.c net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_mem.c net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_mem.h net: ipa: don't index mem data array by ID 2021-06-10 14:50:08 -07:00
ipa_modem.c net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_modem.h net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_qmi_msg.c net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi_msg.h net: ipa: extend the INDICATION_REGISTER request 2021-03-16 11:17:59 -07:00
ipa_qmi.c net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_qmi.h net: ipa: kill ipa_modem_setup() 2021-07-26 23:09:18 +01:00
ipa_reg.c
ipa_reg.h net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_resource.c net: ipa: kill the remaining conditional validation code 2021-07-26 22:38:11 +01:00
ipa_resource.h net: ipa: get rid of empty IPA functions 2021-04-09 20:57:25 -07:00
ipa_smp2p.c net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_smp2p.h net: ipa: fix all kernel-doc warnings 2021-03-28 18:12:03 -07:00
ipa_sysfs.c net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_sysfs.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa_table.c net: ipa: use WARN_ON() rather than assertions 2021-07-26 22:38:11 +01:00
ipa_table.h net: ipa: always validate filter and route tables 2021-07-26 22:38:11 +01:00
ipa_uc.c net: ipa: have ipa_clock_get() return a value 2021-08-11 13:31:55 +01:00
ipa_uc.h net: ipa: introduce ipa_uc_clock() 2021-07-26 23:09:18 +01:00
ipa_version.h net: ipa: introduce sysfs code 2021-06-11 14:13:18 -07:00
ipa.h net: ipa: move IPA flags field 2021-08-05 11:27:05 +01:00
Kconfig net: ipa: switch to version based configuration 2021-03-28 18:12:03 -07:00
Makefile net: ipa: kill the remaining conditional validation code 2021-07-26 22:38:11 +01:00