diff options
| author | Visweswara Tanuku <vtanuku@codeaurora.org> | 2018-10-08 15:27:05 +0530 |
|---|---|---|
| committer | Visweswara Tanuku <vtanuku@codeaurora.org> | 2018-10-08 15:28:09 +0530 |
| commit | ae165f072c5fb4713197c3d00389f4c16ddaafc2 (patch) | |
| tree | 5f915d4fc7d597262c7eb5ca4ed84e387b758445 | |
| parent | 53315dd557a32d67720f51fb3f77ec2172291ae4 (diff) | |
qcacld-2.0: CL 5392072 - Update fw common interface files
WMI: specify OBSS min and max RSSI limits for roaming
CRs-fixed: 865207
Change-Id: I1e1da1d8c1b71ac5f2bd73d984d318f5c590df2f
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 8 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 83 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 1 |
4 files changed, 67 insertions, 27 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index ae614e711d3f..ee13d2533555 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -923,6 +923,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_cfr_capture_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_peer_chan_width_switch_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_chan_width_peer_list, + WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_def_obss_thresh_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1302,6 +1303,7 @@ typedef enum { OP(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID) \ OP(WMI_PEER_CFR_CAPTURE_CMDID) \ OP(WMI_PEER_CHAN_WIDTH_SWITCH_CMDID) \ + OP(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -3751,6 +3753,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CFR_CAPTURE_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_chan_width_peer_list, peer_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CHAN_WIDTH_SWITCH_CMDID); +/* OBSS_PD Spatial_Reuse Set Default OBSS Thresholds */ +#define WMITLV_TABLE_WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_def_obss_thresh_cmd_fixed_param, wmi_obss_spatial_reuse_set_def_obss_thresh_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID); + + /************************** TLV definitions of WMI events *******************************/ /* Service Ready event */ diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 3710d7b5cf53..4cd92c0609d2 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -1163,6 +1163,7 @@ typedef enum { /** WMI commands related to OBSS PD Spatial Reuse **/ WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_SPATIAL_REUSE), + WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID, } WMI_CMD_ID; typedef enum { @@ -22425,33 +22426,34 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_SET_AC_TX_QUEUE_OPTIMIZED_CMDID); WMI_RETURN_STRING(WMI_PEER_TID_MSDUQ_QDEPTH_THRESH_UPDATE_CMDID); WMI_RETURN_STRING(WMI_PDEV_SET_RX_FILTER_PROMISCUOUS_CMDID); - WMI_RETURN_STRING(WMI_SAP_OBSS_DETECTION_CFG_CMDID); - WMI_RETURN_STRING(WMI_PDEV_DMA_RING_CFG_REQ_CMDID); - WMI_RETURN_STRING(WMI_11K_OFFLOAD_REPORT_CMDID); - WMI_RETURN_STRING(WMI_11K_INVOKE_NEIGHBOR_REPORT_CMDID); + WMI_RETURN_STRING(WMI_SAP_OBSS_DETECTION_CFG_CMDID); + WMI_RETURN_STRING(WMI_PDEV_DMA_RING_CFG_REQ_CMDID); + WMI_RETURN_STRING(WMI_11K_OFFLOAD_REPORT_CMDID); + WMI_RETURN_STRING(WMI_11K_INVOKE_NEIGHBOR_REPORT_CMDID); WMI_RETURN_STRING(WMI_BPF_SET_VDEV_ENABLE_CMDID); - WMI_RETURN_STRING(WMI_BPF_SET_VDEV_WORK_MEMORY_CMDID); - WMI_RETURN_STRING(WMI_BPF_GET_VDEV_WORK_MEMORY_CMDID); - WMI_RETURN_STRING(WMI_BSS_COLOR_CHANGE_ENABLE_CMDID); - WMI_RETURN_STRING(WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID); - WMI_RETURN_STRING(WMI_RUNTIME_DPD_RECAL_CMDID); - WMI_RETURN_STRING(WMI_TWT_ENABLE_CMDID); - WMI_RETURN_STRING(WMI_TWT_DISABLE_CMDID); - WMI_RETURN_STRING(WMI_TWT_ADD_DIALOG_CMDID); - WMI_RETURN_STRING(WMI_TWT_DEL_DIALOG_CMDID); - WMI_RETURN_STRING(WMI_TWT_PAUSE_DIALOG_CMDID); - WMI_RETURN_STRING(WMI_TWT_RESUME_DIALOG_CMDID); - WMI_RETURN_STRING(WMI_REQUEST_ROAM_SCAN_STATS_CMDID); - WMI_RETURN_STRING(WMI_PEER_TID_CONFIGURATIONS_CMDID); - WMI_RETURN_STRING(WMI_VDEV_SET_CUSTOM_SW_RETRY_TH_CMDID); - WMI_RETURN_STRING(WMI_GET_TPC_POWER_CMDID); - WMI_RETURN_STRING(WMI_MOTION_DET_CONFIG_PARAM_CMDID); - WMI_RETURN_STRING(WMI_MOTION_DET_BASE_LINE_CONFIG_PARAM_CMDID); - WMI_RETURN_STRING(WMI_MOTION_DET_START_STOP_CMDID); - WMI_RETURN_STRING(WMI_MOTION_DET_BASE_LINE_START_STOP_CMDID); - WMI_RETURN_STRING(WMI_SAR_LIMITS_CMDID); - WMI_RETURN_STRING(WMI_SAR_GET_LIMITS_CMDID); - WMI_RETURN_STRING(WMI_PEER_CHAN_WIDTH_SWITCH_CMDID); + WMI_RETURN_STRING(WMI_BPF_SET_VDEV_WORK_MEMORY_CMDID); + WMI_RETURN_STRING(WMI_BPF_GET_VDEV_WORK_MEMORY_CMDID); + WMI_RETURN_STRING(WMI_BSS_COLOR_CHANGE_ENABLE_CMDID); + WMI_RETURN_STRING(WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_RUNTIME_DPD_RECAL_CMDID); + WMI_RETURN_STRING(WMI_TWT_ENABLE_CMDID); + WMI_RETURN_STRING(WMI_TWT_DISABLE_CMDID); + WMI_RETURN_STRING(WMI_TWT_ADD_DIALOG_CMDID); + WMI_RETURN_STRING(WMI_TWT_DEL_DIALOG_CMDID); + WMI_RETURN_STRING(WMI_TWT_PAUSE_DIALOG_CMDID); + WMI_RETURN_STRING(WMI_TWT_RESUME_DIALOG_CMDID); + WMI_RETURN_STRING(WMI_REQUEST_ROAM_SCAN_STATS_CMDID); + WMI_RETURN_STRING(WMI_PEER_TID_CONFIGURATIONS_CMDID); + WMI_RETURN_STRING(WMI_VDEV_SET_CUSTOM_SW_RETRY_TH_CMDID); + WMI_RETURN_STRING(WMI_GET_TPC_POWER_CMDID); + WMI_RETURN_STRING(WMI_MOTION_DET_CONFIG_PARAM_CMDID); + WMI_RETURN_STRING(WMI_MOTION_DET_BASE_LINE_CONFIG_PARAM_CMDID); + WMI_RETURN_STRING(WMI_MOTION_DET_START_STOP_CMDID); + WMI_RETURN_STRING(WMI_MOTION_DET_BASE_LINE_START_STOP_CMDID); + WMI_RETURN_STRING(WMI_SAR_LIMITS_CMDID); + WMI_RETURN_STRING(WMI_SAR_GET_LIMITS_CMDID); + WMI_RETURN_STRING(WMI_PEER_CHAN_WIDTH_SWITCH_CMDID); + WMI_RETURN_STRING(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID); } return "Invalid WMI cmd"; @@ -23262,6 +23264,35 @@ typedef struct { A_UINT32 vdev_id; } wmi_obss_spatial_reuse_set_cmd_fixed_param; +/* + * Below structure is related to WMI CMD that configures the default + * mimimum (OBSS_MIN) and maximum (OBSS_MAX) Other BSS levels (RSSI in dbm) + * for VDEV of a give type (STA or AP). These thresholds are configured + * within the Host and passed down to the FW. FW will use these + * default OBSS_MIN and OBSS_MAX values during roaming if the assoc response + * from the AP does not include spatial reuse parameter set Info Element. + */ +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_def_obss_thresh_cmd_fixed_param + */ + A_UINT32 tlv_header; + /* + * In the below fields, "OBSS level" refers to the power of the + * signals received from "Other BSS". + * Spatial reuse will only be permitted if the Other BSS's signal power + * is witin the min to max range specified by the below fields. + */ + /** Minimum OBSS level to use */ + A_INT32 obss_min; /* RSSI in dBm */ + /** Maximum OBSS level to use */ + A_INT32 obss_max; /* RSSI in dBm */ + /** Type of VDEV for which these threshold are applicable. + * vdev_type should be one of WMI_VDEV_TYPE_STA or WMI_VDEV_TYPE_AP + */ + A_UINT32 vdev_type; +} wmi_obss_spatial_reuse_set_def_obss_thresh_cmd_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUCT_wmi_chan_width_peer_list */ wmi_mac_addr peer_macaddr; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 2ea7c6e85dc7..ea7dfbbb4b32 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 573 +#define __WMI_REVISION_ 574 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index fe6ff56b0922..e0ac64f4df96 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -797,6 +797,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID); CASE_RETURN_STRING(WMI_PEER_CFR_CAPTURE_CMDID); CASE_RETURN_STRING(WMI_PEER_CHAN_WIDTH_SWITCH_CMDID); + CASE_RETURN_STRING(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_SET_DEF_OBSS_THRESH_CMDID); } return "Invalid WMI cmd"; } |
