qcacld-3.0: Idle shutdown in suspend

To support shutdown WLAN when system goes into suspend, add idle shutdown
in cfg80211 suspend function.

Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter state.

Idle shutdown must be processed in system active, so schedule delayed
work to execute it. After calling schedule, retrun EAGAIN directly to PM.

Change-Id: I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f
CRs-Fixed: 3081480
这个提交包含在:
Yu Ouyang
2022-01-20 15:05:05 +08:00
提交者 Madan Koyyalamudi
父节点 f115d21941
当前提交 675b9de61a
修改 4 个文件,包含 46 行新增9 行删除

查看文件

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -175,13 +175,13 @@ enum powersave_mode {
* @PMO_SUSPEND_NONE: Does not support suspend
* @PMO_SUSPEND_LEGENCY: Legency PDEV suspend mode
* @PMO_SUSPEND_WOW: WoW suspend mode
* @PMO_FULL_POWER_DOWN: Full power down while suspend
* @PMO_SUSPEND_SHUTDOWN: Shutdown suspend mode. Shutdown while suspend
*/
enum pmo_suspend_mode {
PMO_SUSPEND_NONE = 0,
PMO_SUSPEND_LEGENCY,
PMO_SUSPEND_WOW,
PMO_FULL_POWER_DOWN
PMO_SUSPEND_SHUTDOWN
};
#define PMO_TARGET_SUSPEND_TIMEOUT (4000)