linux/drivers/bus
Manivannan Sadhasivam e64d5fa504 bus: mhi: host: pci_generic: Add missing poweroff() PM callback
During hibernation process, once thaw() stage completes, the MHI endpoint
devices will be in M0 state post recovery. After that, the devices will be
powered down so that the system can enter the target sleep state. During
this stage, the PCI core will put the devices in D3hot. But this transition
is allowed by the MHI spec. The devices can only enter D3hot when it is in
M3 state.

So for fixing this issue, let's add the poweroff() callback that will get
executed before putting the system in target sleep state during
hibernation. This callback will power down the device properly so that it
could be restored during restore() or thaw() stage.

Cc: stable@vger.kernel.org
Fixes: 5f0c2ee1fe ("bus: mhi: pci-generic: Fix hibernation")
Reported-by: Hemant Kumar <quic_hemantk@quicinc.com>
Suggested-by: Hemant Kumar <quic_hemantk@quicinc.com>
Link: https://lore.kernel.org/r/20220405125907.5644-1-manivannan.sadhasivam@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2022-04-13 13:11:11 +05:30
..
fsl-mc bus: fsl-mc-msi: Simplify MSI descriptor handling 2021-12-16 22:22:19 +01:00
mhi bus: mhi: host: pci_generic: Add missing poweroff() PM callback 2022-04-13 13:11:11 +05:30
arm-cci.c bus: arm-cci: remove unnecessary unreachable() 2018-05-14 01:22:49 -07:00
arm-integrator-lm.c bus: arm-integrator-lm: Add of_node_put() before return statement 2021-01-15 17:53:05 +01:00
brcmstb_gisb.c - Config updates for BMIPS platform 2021-11-13 09:11:33 -08:00
bt1-apb.c bus: bt1-apb: Use sysfs_streq instead of strncmp 2020-05-28 16:56:56 +02:00
bt1-axi.c bus: bt1-axi: Use sysfs_streq instead of strncmp 2020-05-28 16:57:12 +02:00
da8xx-mstpri.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
hisi_lpc.c bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal 2020-02-28 17:30:49 +08:00
imx-weim.c bus: imx-weim: add DT overlay support for WEIM bus 2022-02-22 14:55:12 +08:00
intel-ixp4xx-eb.c bus: ixp4xx: return on error in ixp4xx_exp_probe() 2021-08-12 22:34:13 +02:00
Kconfig ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
Makefile bus: mhi: Move host MHI code to "host" directory 2022-03-18 14:02:54 +01:00
mips_cdmm.c mips: cdmm: Fix refcount leak in mips_cdmm_phys_base 2022-03-14 15:01:51 +01:00
moxtet.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
mvebu-mbus.c bus: mvebu-mbus: Export symbols for public API window functions 2022-01-06 13:37:47 +00:00
omap_l3_noc.c bus: omap_l3_noc: mark l3 irqs as IRQF_NO_THREAD 2021-02-04 09:08:57 +02:00
omap_l3_noc.h
omap_l3_smx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
omap_l3_smx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
omap-ocp2scp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
qcom-ebi2.c bus: qcom-ebi2: Fix incorrect documentation for '{slow,fast}_cfg' 2021-05-26 21:19:23 -05:00
simple-pm-bus.c drivers: bus: simple-pm-bus: Add support for probing simple bus only devices 2021-10-05 17:47:15 +02:00
sun50i-de2.c bus: sun50i-de2: Adjust printing error message 2021-10-13 14:48:48 +02:00
sunxi-rsb.c bus: sunxi-rsb: Fix shutdown 2021-11-22 10:02:57 +01:00
tegra-aconnect.c bus: tegra-aconnect: add system sleep callbacks 2019-03-28 17:26:14 +01:00
tegra-gmi.c bus: tegra-gmi: Add runtime PM and OPP support 2021-12-16 14:05:23 +01:00
ti-pwmss.c bus/ti-pwmss: move TI PWMSS driver from PWM to bus subsystem 2019-10-17 21:17:42 +01:00
ti-sysc.c ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
ts-nbus.c gpiolib: Pass array info to get/set array functions 2018-09-13 11:16:54 +02:00
uniphier-system-bus.c bus: uniphier-system-bus: use devm_platform_ioremap_resource() 2019-09-05 17:57:18 +02:00
vexpress-config.c bus: vexpress-config: Support building as module 2020-05-13 12:42:46 -05:00