summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVisweswara Tanuku <vtanuku@codeaurora.org>2018-10-08 15:27:05 +0530
committerVisweswara Tanuku <vtanuku@codeaurora.org>2018-10-08 15:28:09 +0530
commitae165f072c5fb4713197c3d00389f4c16ddaafc2 (patch)
tree5f915d4fc7d597262c7eb5ca4ed84e387b758445
parent53315dd557a32d67720f51fb3f77ec2172291ae4 (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.h8
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h83
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
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";
}