summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fw/htt_ppdu_stats.h4
-rwxr-xr-xfw/wmi_services.h1
-rwxr-xr-xfw/wmi_tlv_defs.h7
-rwxr-xr-xfw/wmi_unified.h29
-rwxr-xr-xfw/wmi_version.h2
5 files changed, 38 insertions, 5 deletions
diff --git a/fw/htt_ppdu_stats.h b/fw/htt_ppdu_stats.h
index d4c832c34391..d2f2f49c99fd 100644
--- a/fw/htt_ppdu_stats.h
+++ b/fw/htt_ppdu_stats.h
@@ -508,11 +508,11 @@ typedef struct {
#define HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_M 0x00004000
#define HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_S 14
-
+
#define HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_GET(_var) \
(((_var) & HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_M) >> \
HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_S)
-
+
#define HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_COMMON_TLV_DELAYED_BA, _val); \
diff --git a/fw/wmi_services.h b/fw/wmi_services.h
index e9bbeff19d90..3ec2d6334a74 100755
--- a/fw/wmi_services.h
+++ b/fw/wmi_services.h
@@ -255,6 +255,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/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index ad92b283122a..dfe45b4ef8b2 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -923,6 +923,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;
/*
@@ -1300,6 +1301,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 */
@@ -3746,6 +3748,11 @@ 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);
+
/************************** TLV definitions of WMI events *******************************/
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 5aa835ca815e..a3c05371666d 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -244,6 +244,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)
@@ -1139,6 +1140,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 {
@@ -8647,10 +8651,10 @@ typedef enum {
/** Uplink OFDMA PPDU bandwidth (0: 20MHz, 1: 40MHz, 2: 80Mhz, 3: 160MHz)*/
WMI_VDEV_PARAM_UL_PPDU_BW, /* 0x8E */
-
+
/** Enable/Disable FW handling MU EDCA change from AP (1: En, 0:Dis) */
WMI_VDEV_PARAM_MU_EDCA_FW_UPDATE_EN, /* 0x8F */
-
+
/** Update dot11ObssNbruToleranceTime in fw. Param value: seconds */
WMI_VDEV_PARAM_UPDATE_OBSS_RU_TOLERANCE_TIME, /* 0x90 */
@@ -23162,6 +23166,27 @@ 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;
+
/* ADD NEW DEFS HERE */
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 11812bef1889..1a6a8990b549 100755
--- a/fw/wmi_version.h
+++ b/fw/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