ffd32ea6b1
Depending on BIOS configuration IOSM driver exchanges protocol required for putting device into D3L2 or D3L1.2. ipc_pcie_suspend_s2idle() is implemented to put device to D3L1.2. This patch forces PCI core know this device should stay at D0. - pci_save_state()is expensive since it does a lot of slow PCI config reads. The reported issue is not observed on x86 platform. The supurios wake on AMD platform needs to be futher debugged with orignal patch submitter [1]. Also the impact of adding pci_save_state() needs to be assessed by testing it on other platforms. This reverts commit f4dd5174e273("net: wwan: iosm: Keep device at D0 for s2idle case"). [1] https://lore.kernel.org/all/20211224081914.345292-2-kai.heng.feng@canonical.com/ Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com> Link: https://lore.kernel.org/r/20220104150213.1894-1-m.chetan.kumar@linux.intel.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
||
---|---|---|
.. | ||
Makefile | ||
iosm_ipc_chnl_cfg.c | ||
iosm_ipc_chnl_cfg.h | ||
iosm_ipc_coredump.c | ||
iosm_ipc_coredump.h | ||
iosm_ipc_debugfs.c | ||
iosm_ipc_debugfs.h | ||
iosm_ipc_devlink.c | ||
iosm_ipc_devlink.h | ||
iosm_ipc_flash.c | ||
iosm_ipc_flash.h | ||
iosm_ipc_imem.c | ||
iosm_ipc_imem.h | ||
iosm_ipc_imem_ops.c | ||
iosm_ipc_imem_ops.h | ||
iosm_ipc_irq.c | ||
iosm_ipc_irq.h | ||
iosm_ipc_mmio.c | ||
iosm_ipc_mmio.h | ||
iosm_ipc_mux.c | ||
iosm_ipc_mux.h | ||
iosm_ipc_mux_codec.c | ||
iosm_ipc_mux_codec.h | ||
iosm_ipc_pcie.c | ||
iosm_ipc_pcie.h | ||
iosm_ipc_pm.c | ||
iosm_ipc_pm.h | ||
iosm_ipc_port.c | ||
iosm_ipc_port.h | ||
iosm_ipc_protocol.c | ||
iosm_ipc_protocol.h | ||
iosm_ipc_protocol_ops.c | ||
iosm_ipc_protocol_ops.h | ||
iosm_ipc_task_queue.c | ||
iosm_ipc_task_queue.h | ||
iosm_ipc_trace.c | ||
iosm_ipc_trace.h | ||
iosm_ipc_uevent.c | ||
iosm_ipc_uevent.h | ||
iosm_ipc_wwan.c | ||
iosm_ipc_wwan.h |