summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVisweswara Tanuku <vtanuku@codeaurora.org>2018-09-18 19:07:44 +0530
committerVisweswara Tanuku <vtanuku@codeaurora.org>2018-09-18 19:09:14 +0530
commitbb722cd828d7b96e9ec202016bbcf0882cbbe070 (patch)
tree5ef8c14a27191b97d73dddd63ac6af9c6ed9fdd0
parentb447e6c1600f5e39c7b340c88175fd82a0205923 (diff)
qcacld-2.0: CL 5087294 - Update fw common interface files
WMI: define Estimate Service Parameters messages CRs-fixed: 865207 Change-Id: I48bcc45d19dd1444e35883d669aeb40882e806d5
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h6
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h42
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
3 files changed, 49 insertions, 1 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 86ed1abdbb71..81501ad34142 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -917,6 +917,7 @@ typedef enum {
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_STRUC_wmi_esp_estimate_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1500,6 +1501,7 @@ typedef enum {
OP(WMI_GET_TPC_POWER_EVENTID) \
OP(WMI_MOTION_DET_HOST_EVENTID) \
OP(WMI_MOTION_DET_BASE_LINE_HOST_EVENTID) \
+ OP(WMI_ESP_ESTIMATE_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -5013,6 +5015,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MOTION_DET_HOST_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_motion_det_base_line_event, wmi_motion_det_base_line_event, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_MOTION_DET_BASE_LINE_HOST_EVENTID);
+#define WMITLV_TABLE_WMI_ESP_ESTIMATE_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_esp_estimate_event_fixed_param, wmi_esp_estimate_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_ESP_ESTIMATE_EVENTID);
+
#ifdef __cplusplus
}
#endif
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 7b8052ea42e4..fd0213030a6c 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -255,6 +255,7 @@ typedef enum {
WMI_GRP_TWT, /* 0x3e TWT (Target Wake Time) for STA and AP */
WMI_GRP_MOTION_DET, /* 0x3f */
WMI_GRP_SPATIAL_REUSE, /* 0x40 */
+ WMI_GRP_ESP, /* 0x41 Estimate Service Parameters (802.11mc) */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -1710,6 +1711,9 @@ typedef enum {
/** WMI events related to motion detection */
WMI_MOTION_DET_HOST_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MOTION_DET),
WMI_MOTION_DET_BASE_LINE_HOST_EVENTID,
+
+ /** WMI events related to Estimation of Service Parameters (802.11mc) */
+ WMI_ESP_ESTIMATE_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_ESP),
} WMI_EVT_ID;
/* defines for OEM message sub-types */
@@ -5178,6 +5182,13 @@ typedef enum {
WMI_PDEV_PARAM_MWSCOEX_SET_5GNR_PWR_LIMIT, /* 0xA5 */
/** Set max msdus available for cong ctrl in target */
WMI_PDEV_PARAM_SET_CONG_CTRL_MAX_MSDUS, /* 0xA6 */
+ /*
+ * Configures the Estimated Throughput Calculation indication (802.11mc) settings.
+ * The accompanying A_UINT32 parameter, in units of seconds, specifies how often FW needs to send the ESP estimation indication to the host.
+ * Value 0: Disable this feature
+ * Non zero Value: Periodicity (seconds)
+ */
+ WMI_PDEV_PARAM_ESP_INDICATION_PERIOD, /* 0xA7 */
} WMI_PDEV_PARAM;
typedef enum {
@@ -5274,6 +5285,35 @@ typedef struct {
*/
} wmi_pdev_update_ctltable_request_fixed_param;
+#define WMI_ESP_ESTIMATE_GET_BE(airtime) WMI_GET_BITS(airtime, 0, 8)
+#define WMI_ESP_ESTIMATE_SET_BE(airtime, value) WMI_SET_BITS(airtime, 0, 8, value)
+
+#define WMI_ESP_ESTIMATE_GET_BK(airtime) WMI_GET_BITS(airtime, 8, 8)
+#define WMI_ESP_ESTIMATE_SET_BK(airtime, value) WMI_SET_BITS(airtime, 8, 8, value)
+
+#define WMI_ESP_ESTIMATE_GET_VI(airtime) WMI_GET_BITS(airtime, 16, 8)
+#define WMI_ESP_ESTIMATE_SET_VI(airtime, value) WMI_SET_BITS(airtime, 16, 8, value)
+
+#define WMI_ESP_ESTIMATE_GET_VO(airtime) WMI_GET_BITS(airtime, 24, 8)
+#define WMI_ESP_ESTIMATE_SET_VO(airtime, value) WMI_SET_BITS(airtime, 24, 8, value)
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_esp_estimate_event_fixed_param */
+ /** pdev_id for identifying the MAC
+ * See macros starting with WMI_PDEV_ID_ for values.
+ * In non-DBDC case host should set it to 0
+ */
+ A_UINT32 pdev_id;
+ /*
+ * Percentage of air time available for each AC
+ * BIT[0-7] : AC_BE
+ * BIT[8-15] : AC_BK
+ * BIT[16-23] : AC_VI
+ * BIT[24-31] : AC_VO
+ */
+ A_UINT32 ac_airtime_percentage;
+} wmi_esp_estimate_event_fixed_param;
+
#define WMI_FAST_DIVERSITY_BIT_OFFSET 0
#define WMI_SLOW_DIVERSITY_BIT_OFFSET 1
@@ -9149,6 +9189,8 @@ typedef struct {
A_UINT32 csa_event_bitmap;
/** offset (in octets/bytes) of MBSSID IE in beacon frame */
A_UINT32 mbssid_ie_offset;
+ /** offset (in octets/bytes) of ESP IE in beacon frame */
+ A_UINT32 esp_ie_offset;
/*
* The TLVs follows:
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 962876d0f319..da4486c419e9 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_ 562
+#define __WMI_REVISION_ 563
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work