summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVisweswara Tanuku <vtanuku@codeaurora.org>2018-09-18 18:04:42 +0530
committerVisweswara Tanuku <vtanuku@codeaurora.org>2018-09-18 18:31:57 +0530
commite44bfb707d4c7188a8a8fedbb74aefdf9ad8cbb6 (patch)
tree0d065699640df41b29e7174d4235b0e4a169f381
parent3fd6b3425f30d8e1c8fbd9b3a69e05e5ea9fd02c (diff)
qcacld-2.0: CL 4962465 - Update fw common interface files
WMI: add OBSS_PD_SPATIAL_REUSE_CMD msg def CRs-fixed: 865207 Change-Id: I6e29d0d3f688ccfc50e3a3d81d1bb7285c3d8fb4
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h1
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h6
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h26
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c2
5 files changed, 35 insertions, 2 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index a33fbffaf3f3..1c65aa9ca521 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -349,6 +349,7 @@ typedef enum {
WMI_SERVICE_DUAL_BEACON_ON_SINGLE_MAC_MCC_SUPPORT=159, /* Support dual beacon on different channel on single MAC */
WMI_SERVICE_MOTION_DET=160, /* support for motion detection config */
WMI_SERVICE_INFRA_MBSSID=161, /* support infra multi-BSSID feature */
+ WMI_SERVICE_OBSS_SPATIAL_REUSE=162, /* support spatial reuse feature */
/******* ADD NEW SERVICES HERE *******/
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 0cc7dfee771e..86ed1abdbb71 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -916,6 +916,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_motion_det_event,
WMITLV_TAG_STRUC_wmi_motion_det_base_line_event,
WMITLV_TAG_STRUC_wmi_ndp_transport_ip_param,
+ WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1292,6 +1293,7 @@ typedef enum {
OP(WMI_MOTION_DET_BASE_LINE_CONFIG_PARAM_CMDID) \
OP(WMI_MOTION_DET_START_STOP_CMDID) \
OP(WMI_MOTION_DET_BASE_LINE_START_STOP_CMDID) \
+ OP(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID) \
/* add new CMD_LIST elements above this line */
/*
@@ -2628,6 +2630,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_RESUME_DIALOG_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_configurations_cmd_fixed_param, wmi_peer_tid_configurations_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TID_CONFIGURATIONS_CMDID);
+/* OBSS_PD Spatial_Reuse cnmd */
+#define WMITLV_TABLE_WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_cmd_fixed_param, wmi_obss_spatial_reuse_set_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_CMDID);
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 77423c84aebe..29f1055b2854 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -245,6 +245,7 @@ typedef enum {
WMI_GRP_11K_OFFLOAD, /* 0x3d */
WMI_GRP_TWT, /* 0x3e TWT (Target Wake Time) for STA and AP */
WMI_GRP_MOTION_DET, /* 0x3f */
+ WMI_GRP_SPATIAL_REUSE, /* 0x40 */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -1140,6 +1141,9 @@ typedef enum {
WMI_MOTION_DET_BASE_LINE_CONFIG_PARAM_CMDID,
WMI_MOTION_DET_START_STOP_CMDID,
WMI_MOTION_DET_BASE_LINE_START_STOP_CMDID,
+
+ /** 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_CMD_ID;
typedef enum {
@@ -22927,6 +22931,28 @@ typedef struct {
* phase (in %); reserved for future */
} wmi_motion_det_base_line_event;
+/* Below structures are related to OBSS_PD_SPATIAL Reuse */
+typedef struct {
+ /** TLV tag and len; tag equals
+ * WMITLV_TAG_STRUC_wmi_obss_set_cmd_fixed_param */
+ A_UINT32 tlv_header;
+ /** Enable/Disable Spatial Reuse */
+ A_UINT32 enable;
+ /*
+ * 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 */
+ /** Vdev id*/
+ A_UINT32 vdev_id;
+} wmi_obss_spatial_reuse_set_cmd_fixed_param;
+
+
/* bit 17-31 of flags is reserved for powersave and WAL */
#define WLM_FLAGS_SCAN_IS_SUPPRESS(flag) WMI_GET_BITS(flag, 0, 1)
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index df72a9e3d086..224f22efcb03 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_ 554
+#define __WMI_REVISION_ 555
/** 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 a9cc74616d36..3025f701a545 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -794,7 +794,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_MOTION_DET_START_STOP_CMDID);
CASE_RETURN_STRING(WMI_MOTION_DET_BASE_LINE_START_STOP_CMDID);
CASE_RETURN_STRING(WMI_MOTION_DET_CONFIG_PARAM_CMDID);
-
+ CASE_RETURN_STRING(WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID);
}
return "Invalid WMI cmd";
}