qcacld-3.0: Add new ini to config suspend mode

Sometimes we need PDEV suspend mode, WMI_PDEV_SUSPEND_CMDID and
WMI_PDEV_RESUME_CMDID. But currently design, only support WoW
suspend or not support two choices. And, there are two confused
ini configuration, gDisableWow and gEnableWoW.

1. Add new ini gSuspendMode to set suspend mode. Default 2.
	0, does not support suspend
	1, legency pdev suspend mode
	2, WoW suspend mode
2. Clean gDisableWow. It is replaced by gSuspendMode=0.
   HDD suspend/resume function get the value by new API
   ucfg_pmo_get_suspend_mode().

Change-Id: Icbeef3df6879ca2054f64e0292e9b9469c4936d4
CRs-fixed: 2940788
This commit is contained in:
Yu Ouyang
2021-05-07 14:34:15 +08:00
committed by Madan Koyyalamudi
parent 425508842d
commit 1a3b66cbdd
10 changed files with 64 additions and 32 deletions

View File

@@ -244,6 +244,7 @@ static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc,
psoc_cfg->max_ps_poll = cfg_get(psoc, CFG_PMO_MAX_PS_POLL);
psoc_cfg->wow_enable = cfg_get(psoc, CFG_PMO_WOW_ENABLE);
psoc_cfg->suspend_mode = cfg_get(psoc, CFG_PMO_SUSPEND_MODE);
wlan_extwow_init_cfg(psoc, psoc_cfg);
psoc_cfg->apf_enable = cfg_get(psoc, CFG_PMO_APF_ENABLE);

View File

@@ -487,7 +487,8 @@ static QDF_STATUS pmo_core_psoc_configure_suspend(struct wlan_objmgr_psoc *psoc,
if (is_runtime_pm)
pmo_core_enable_runtime_pm_offloads(psoc);
if (pmo_core_is_wow_applicable(psoc)) {
if (psoc_ctx->psoc_cfg.suspend_mode == PMO_SUSPEND_WOW &&
pmo_core_is_wow_applicable(psoc)) {
pmo_debug("WOW Suspend");
pmo_core_apply_lphb(psoc);
/*