qcacld-3.0: Drop action frames based on action id
Currently, host driver sets bitmap of allowed action frames to fw. For a particular action category, there are certain action id frames which are not processed. This causes host wakeup and leads to power drain. Set action id along with action category to fw for action frames to be allowed to host driver. Change-Id: Ifa0b40b290fcabb9ce5e48f69bd462aebb9017ac CRs-Fixed: 2072123
这个提交包含在:

提交者
Anjaneedevi Kapparapu

父节点
d3f0b90f84
当前提交
53166d7fdb
@@ -60,6 +60,8 @@
|
||||
#define PMO_MAC_ACTION_VHT 21
|
||||
#define PMO_MAC_ACTION_MAX 256
|
||||
|
||||
#define PMO_MAC_ACTION_MEASURE_REQUEST_ID 0
|
||||
#define PMO_MAC_ACTION_TPC_REQUEST_ID 2
|
||||
/*
|
||||
* ALLOWED_ACTION_FRAMES_BITMAP
|
||||
*
|
||||
@@ -112,6 +114,30 @@
|
||||
|
||||
#define ALLOWED_ACTION_FRAME_MAP_WORDS (PMO_MAC_ACTION_MAX / 32)
|
||||
|
||||
#ifndef ANI_SUPPORT_11H
|
||||
/*
|
||||
* DROP_SPEC_MGMT_ACTION_FRAME_BITMAP
|
||||
*
|
||||
* Bitmask is based on the below. The frames with 1's
|
||||
* set to their corresponding bit can be dropped in FW.
|
||||
*
|
||||
* ----------------------------------+-----+------+
|
||||
* Type | Bit | Drop |
|
||||
* ----------------------------------+-----+------+
|
||||
* SIR_MAC_ACTION_MEASURE_REQUEST_ID 0 1
|
||||
* SIR_MAC_ACTION_TPC_REQUEST_ID 1 1
|
||||
* ----------------------------------+-----+------+
|
||||
*/
|
||||
#define DROP_SPEC_MGMT_ACTION_FRAME_BITMAP \
|
||||
((1 << PMO_MAC_ACTION_MEASURE_REQUEST_ID) |\
|
||||
(1 << PMO_MAC_ACTION_TPC_REQUEST_ID))
|
||||
#else
|
||||
/*
|
||||
* If 11H support is defined, dont drop the above action category of
|
||||
* spectrum mgmt action frames as host driver is processing them.
|
||||
*/
|
||||
#define DROP_SPEC_MGMT_ACTION_FRAME_BITMAP 0
|
||||
#endif /* ANI_SUPPORT_11H */
|
||||
|
||||
#define PMO_SUPPORTED_ACTION_CATE 256
|
||||
#define PMO_SUPPORTED_ACTION_CATE_ELE_LIST (PMO_SUPPORTED_ACTION_CATE/32)
|
||||
@@ -122,11 +148,13 @@
|
||||
* @operation: 0 reset to fw default, 1 set the bits,
|
||||
* 2 add the setting bits, 3 delete the setting bits
|
||||
* @action_category_map: bit mapping.
|
||||
* @action_per_category: bitmap per action category
|
||||
*/
|
||||
struct pmo_action_wakeup_set_params {
|
||||
uint32_t vdev_id;
|
||||
uint32_t operation;
|
||||
uint32_t action_category_map[PMO_SUPPORTED_ACTION_CATE_ELE_LIST];
|
||||
uint32_t action_per_category[PMO_SUPPORTED_ACTION_CATE];
|
||||
};
|
||||
|
||||
/**
|
||||
|
在新工单中引用
屏蔽一个用户