qcacld-3.0: Register action frames for wake up during runtime PM
Currently the bitmap of action frames that can wake up the host during suspend is sent via the wmi command WMI_WOW_SET_ACTION_WAKE_UP_CMDID. This bitmap doesn't include RRM action frames so currently the host doesn't wake up for rrm action frames when in suspend mode. Selectively enable wake up for rrm action frames during runtime PM alone. Don't enable host wake up during normal suspend as it will consume more power. Change-Id: I097596118c2888fc9ea24802e4dbe69d02c5c5f7 CRs-Fixed: 2507185
This commit is contained in:

committed by
nshrivas

parent
dee2b1f3d3
commit
b40c260f17
@@ -405,6 +405,28 @@ ucfg_pmo_ns_addr_scope(uint32_t ipv6_scope);
|
||||
*/
|
||||
QDF_STATUS ucfg_pmo_enable_hw_filter_in_fwr(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_enable_action_frame_patterns() - enable the action frame wake up
|
||||
* patterns as part of the enable host offloads.
|
||||
* @vdev: objmgr vdev to configure
|
||||
* @suspend_type: Suspend type. Runtime PM or System Suspend mode
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_pmo_enable_action_frame_patterns(struct wlan_objmgr_vdev *vdev,
|
||||
enum qdf_suspend_type suspend_type);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_disable_action_frame_patterns() - Reset the action frame wake up
|
||||
* patterns as a part of suspend resume.
|
||||
* @vdev: objmgr vdev to configure
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_pmo_disable_action_frame_patterns(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* ucfg_pmo_disable_hw_filter_in_fwr() - disable previously configured hw filter
|
||||
* @vdev: objmgr vdev to configure
|
||||
|
@@ -96,16 +96,16 @@
|
||||
* PMO_ACTION_VHT 21 1
|
||||
* ----------------------------+------+-------+
|
||||
*/
|
||||
#define ALLOWED_ACTION_FRAMES_BITMAP0 \
|
||||
((1 << PMO_MAC_ACTION_SPECTRUM_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_QOS_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_PUBLIC_USAGE) | \
|
||||
(1 << PMO_MAC_ACTION_SA_QUERY) | \
|
||||
(1 << PMO_MAC_ACTION_PROT_DUAL_PUB) | \
|
||||
(1 << PMO_MAC_ACTION_WNM) | \
|
||||
(1 << PMO_MAC_ACTION_WME) | \
|
||||
(1 << PMO_MAC_ACTION_FST) | \
|
||||
(1 << PMO_MAC_ACTION_VHT))
|
||||
#define SYSTEM_SUSPEND_ALLOWED_ACTION_FRAMES_BITMAP0 \
|
||||
((1 << PMO_MAC_ACTION_SPECTRUM_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_QOS_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_PUBLIC_USAGE) | \
|
||||
(1 << PMO_MAC_ACTION_SA_QUERY) | \
|
||||
(1 << PMO_MAC_ACTION_PROT_DUAL_PUB) | \
|
||||
(1 << PMO_MAC_ACTION_WNM) | \
|
||||
(1 << PMO_MAC_ACTION_WME) | \
|
||||
(1 << PMO_MAC_ACTION_FST) | \
|
||||
(1 << PMO_MAC_ACTION_VHT))
|
||||
|
||||
#define ALLOWED_ACTION_FRAMES_BITMAP1 0x0
|
||||
#define ALLOWED_ACTION_FRAMES_BITMAP2 0x0
|
||||
@@ -117,6 +117,18 @@
|
||||
|
||||
#define ALLOWED_ACTION_FRAME_MAP_WORDS (PMO_MAC_ACTION_MAX / 32)
|
||||
|
||||
#define RUNTIME_PM_ALLOWED_ACTION_FRAMES_BITMAP0 \
|
||||
((1 << PMO_MAC_ACTION_SPECTRUM_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_QOS_MGMT) | \
|
||||
(1 << PMO_MAC_ACTION_PUBLIC_USAGE) | \
|
||||
(1 << PMO_MAC_ACTION_RRM) | \
|
||||
(1 << PMO_MAC_ACTION_SA_QUERY) | \
|
||||
(1 << PMO_MAC_ACTION_PROT_DUAL_PUB) | \
|
||||
(1 << PMO_MAC_ACTION_WNM) | \
|
||||
(1 << PMO_MAC_ACTION_WME) | \
|
||||
(1 << PMO_MAC_ACTION_FST) | \
|
||||
(1 << PMO_MAC_ACTION_VHT))
|
||||
|
||||
/* Public Action for 20/40 BSS Coexistence */
|
||||
#define PMO_MAC_ACTION_MEASUREMENT_PILOT 7
|
||||
|
||||
|
Reference in New Issue
Block a user