linux/drivers/net/ipa
Alex Elder ae1d72f977 net: ipa: add driver shutdown callback
A system shutdown can happen at essentially any time, and it's
possible that the IPA driver is busy when a shutdown is underway.
IPA hardware accesses IMEM and SMEM memory regions using an IOMMU,
and at some point during shutdown, needed I/O mappings could become
invalid.  This could be disastrous for any "in flight" IPA activity.

Avoid this by defining a new driver shutdown callback that stops all
IPA activity and cleanly shuts down the driver.  It merely calls the
driver's existing remove callback, reporting the error if it returns
one.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-11-20 18:45:52 -08:00
..
gsi_private.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
gsi_reg.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08:00
gsi_trans.c net: ipa: lock when freeing transaction 2020-11-16 17:32:22 -08:00
gsi_trans.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
gsi.c net: ipa: support retries on generic GSI commands 2020-11-20 18:45:52 -08:00
gsi.h net: ipa: support retries on generic GSI commands 2020-11-20 18:45:52 -08:00
ipa_clock.c net: ipa: use config data for clocking 2020-11-20 18:45:00 -08:00
ipa_clock.h net: ipa: define clock and interconnect data 2020-11-20 18:44:59 -08:00
ipa_cmd.c net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08:00
ipa_cmd.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08:00
ipa_data-sc7180.c net: ipa: populate clock and interconnect data 2020-11-20 18:45:00 -08:00
ipa_data-sdm845.c net: ipa: populate clock and interconnect data 2020-11-20 18:45:00 -08:00
ipa_data.h net: ipa: define clock and interconnect data 2020-11-20 18:44:59 -08:00
ipa_endpoint.c net: ipa: a few last IPA register cleanups 2020-11-18 15:53:49 -08:00
ipa_endpoint.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08: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: fix two inconsistent IPA register names 2020-11-18 15:53:48 -08:00
ipa_interrupt.h net: ipa: move definition of enum ipa_irq_id 2020-11-18 15:53:49 -08:00
ipa_main.c net: ipa: add driver shutdown callback 2020-11-20 18:45:52 -08:00
ipa_mem.c net: ipa: change a warning to debug 2020-11-11 14:07:00 -08:00
ipa_mem.h net: ipa: redefine struct ipa_mem_data 2020-05-04 11:26:55 -07:00
ipa_modem.c net: ipa: new notification infrastructure 2020-07-28 17:10:47 -07:00
ipa_modem.h soc: qcom: ipa: modem and microcontroller 2020-03-08 22:07:10 -07:00
ipa_qmi_msg.c net: ipa: fix QMI structure definition bugs 2020-07-07 12:43:18 -07:00
ipa_qmi_msg.h net: ipa: define enumerated types consistently 2020-11-18 15:53:48 -08:00
ipa_qmi.c soc: qcom: ipa: AP/modem communications 2020-03-08 22:07:10 -07:00
ipa_qmi.h soc: qcom: ipa: AP/modem communications 2020-03-08 22:07:10 -07:00
ipa_reg.c
ipa_reg.h net: ipa: a few last IPA register cleanups 2020-11-18 15:53:49 -08:00
ipa_smp2p.c drivers: ipa: fix typos for ipa_smp2p structure doc 2020-05-14 13:06:55 -07:00
ipa_smp2p.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_table.c net: ipa: share field mask values for IPA hash registers 2020-11-18 15:53:48 -08:00
ipa_table.h net: ipa: fix kerneldoc comments 2020-07-13 17:11:53 -07:00
ipa_uc.c net: ipa: a few last IPA register cleanups 2020-11-18 15:53:49 -08:00
ipa_uc.h soc: qcom: ipa: modem and microcontroller 2020-03-08 22:07:10 -07:00
ipa_version.h
ipa.h net: ipa: repurpose CLOCK_HELD flag 2020-09-18 17:47:07 -07:00
Kconfig remoteproc: clean up notification config 2020-03-16 17:31:51 -07:00
Makefile soc: qcom: ipa: support build of IPA code 2020-03-08 22:07:10 -07:00