summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-06-22 06:00:45 -0700
committerspuligil <spuligil@codeaurora.org>2019-06-22 06:00:45 -0700
commitab2a29ba084b53ea6a40b6c8a833b37bde42b6fc (patch)
tree6fdf629e10b00ebefdd526ae87e3fb6844d05b9e
parentc922ed31617fb5a710141381fa324ef2cb5af1ee (diff)
fw-api: CL 7445129 - update fw common interface files
WMI_TWT_BTWT: INVITE/REMOVE STA CMD/EVENT msg defs Change-Id: Ice557940ba337eb074af56f3b4f66e7fb810d50c CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_tlv_defs.h28
-rwxr-xr-xfw/wmi_unified.h79
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 98 insertions, 11 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index 14fbb0286c26..f81c4dad31b6 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -985,6 +985,10 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_bssid_disallow_list_config_param,
WMITLV_TAG_STRUC_wmi_mgmt_hdr,
WMITLV_TAG_STRUC_wmi_muedca_params_config_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_twt_btwt_invite_sta_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_twt_btwt_remove_sta_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_twt_btwt_invite_sta_complete_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_twt_btwt_remove_sta_complete_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1384,6 +1388,8 @@ typedef enum {
OP(WMI_ROAM_IDLE_CONFIG_CMDID) \
OP(WMI_IDLE_TRIGGER_MONITOR_CMDID) \
OP(WMI_PDEV_DSM_FILTER_CMDID) \
+ OP(WMI_TWT_BTWT_INVITE_STA_CMDID) \
+ OP(WMI_TWT_BTWT_REMOVE_STA_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -1612,6 +1618,8 @@ typedef enum {
OP(WMI_IFACE_COMBINATION_IND_EVENTID) \
OP(WMI_VDEV_MGMT_OFFLOAD_EVENTID) \
OP(WMI_MUEDCA_PARAMS_CONFIG_EVENTID) \
+ OP(WMI_TWT_BTWT_INVITE_STA_COMPLETE_EVENTID) \
+ OP(WMI_TWT_BTWT_REMOVE_STA_COMPLETE_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -3929,6 +3937,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_PAUSE_DIALOG_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_resume_dialog_cmd_fixed_param, wmi_twt_resume_dialog_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_TWT_RESUME_DIALOG_CMDID);
+/* B-TWT STA invitation cmd */
+#define WMITLV_TABLE_WMI_TWT_BTWT_INVITE_STA_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_btwt_invite_sta_cmd_fixed_param, wmi_twt_btwt_invite_sta_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_TWT_BTWT_INVITE_STA_CMDID);
+
+/* B-TWT STA removal cmd */
+#define WMITLV_TABLE_WMI_TWT_BTWT_REMOVE_STA_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_btwt_remove_sta_cmd_fixed_param, wmi_twt_btwt_remove_sta_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_TWT_BTWT_REMOVE_STA_CMDID);
+
/* Set peer tid configurations Cmd */
#define WMITLV_TABLE_WMI_PEER_TID_CONFIGURATIONS_CMDID(id,op,buf,len) \
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)
@@ -5336,6 +5354,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TWT_PAUSE_DIALOG_COMPLETE_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_resume_dialog_complete_event_fixed_param, wmi_twt_resume_dialog_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_TWT_RESUME_DIALOG_COMPLETE_EVENTID);
+/* inviting STA to B-TWT dialog complete Event */
+#define WMITLV_TABLE_WMI_TWT_BTWT_INVITE_STA_COMPLETE_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_btwt_invite_sta_complete_event_fixed_param, wmi_twt_btwt_invite_sta_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_TWT_BTWT_INVITE_STA_COMPLETE_EVENTID);
+
+/* removing STA from B-TWT dialog complete Event */
+#define WMITLV_TABLE_WMI_TWT_BTWT_REMOVE_STA_COMPLETE_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_twt_btwt_remove_sta_complete_event_fixed_param, wmi_twt_btwt_remove_sta_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_TWT_BTWT_REMOVE_STA_COMPLETE_EVENTID);
+
/* Event to send roam scan stats */
#define WMITLV_TABLE_WMI_ROAM_SCAN_STATS_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_scan_stats_event_fixed_param, wmi_roam_scan_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 80983cc7c888..c36c286910ae 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -1211,6 +1211,8 @@ typedef enum {
WMI_TWT_DEL_DIALOG_CMDID,
WMI_TWT_PAUSE_DIALOG_CMDID,
WMI_TWT_RESUME_DIALOG_CMDID,
+ WMI_TWT_BTWT_INVITE_STA_CMDID,
+ WMI_TWT_BTWT_REMOVE_STA_CMDID,
/** WMI commands related to motion detection **/
WMI_MOTION_DET_CONFIG_PARAM_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_MOTION_DET),
@@ -1822,6 +1824,8 @@ typedef enum {
WMI_TWT_DEL_DIALOG_COMPLETE_EVENTID,
WMI_TWT_PAUSE_DIALOG_COMPLETE_EVENTID,
WMI_TWT_RESUME_DIALOG_COMPLETE_EVENTID,
+ WMI_TWT_BTWT_INVITE_STA_COMPLETE_EVENTID,
+ WMI_TWT_BTWT_REMOVE_STA_COMPLETE_EVENTID,
/** Events in Prototyping phase */
WMI_NDI_CAP_RSP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PROTOTYPE),
@@ -8373,12 +8377,6 @@ typedef struct {
/* TWT required */
#define WMI_HEOPS_TWT_REQUIRED_GET_D2(he_ops) WMI_GET_BITS(he_ops, 9, 1)
#define WMI_HEOPS_TWT_REQUIRED_SET_D2(he_ops, value) WMI_SET_BITS(he_ops, 9, 1, value)
-/* DEPRECATED, use WMI_HEOPS_TWT_REQUIRED_GET instead */
-#define WMI_HEOPS_TWT_GET_D2(he_ops) \
- WMI_HEOPS_TWT_REQUIRED_GET_D2(he_ops)
-/* DEPRECATED, use WMI_HEOPS_TWT_REQUIRED_SET instead */
-#define WMI_HEOPS_TWT_SET_D2(he_ops, value) \
- WMI_HEOPS_TWT_REQUIRED_SET_D2(he_ops, value)
/* RTS threshold in units of 32 us,0 - always use RTS 1023 - this is disabled */
#define WMI_HEOPS_RTSTHLD_GET_D2(he_ops) WMI_GET_BITS(he_ops, 10, 10)
@@ -24082,6 +24080,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_ROAM_IDLE_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_IDLE_TRIGGER_MONITOR_CMDID);
WMI_RETURN_STRING(WMI_PDEV_DSM_FILTER_CMDID);
+ WMI_RETURN_STRING(WMI_TWT_BTWT_INVITE_STA_CMDID);
+ WMI_RETURN_STRING(WMI_TWT_BTWT_REMOVE_STA_CMDID);
}
return "Invalid WMI cmd";
@@ -24820,6 +24820,10 @@ typedef enum _WMI_TWT_COMMAND_T {
#define TWT_FLAGS_GET_PROTECTION(flag) WMI_GET_BITS(flag, 11, 1)
#define TWT_FLAGS_SET_PROTECTION(flag, val) WMI_SET_BITS(flag, 11, 1, val)
+/* B-TWT ID 0: 0 means non-0 B-TWT ID or I-TWT, 1 means B-TWT ID 0 */
+#define TWT_FLAGS_GET_BTWT_ID0(flag) WMI_GET_BITS(flag, 12, 1)
+#define TWT_FLAGS_SET_BTWT_ID0(flag, val) WMI_SET_BITS(flag, 12, 1, val)
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_twt_add_dialog_cmd_fixed_param */
A_UINT32 vdev_id; /* VDEV identifier */
@@ -24847,6 +24851,11 @@ typedef struct {
* Refer to 11ax spec session "9.4.2.199 TWT element" for more info.
*/
A_UINT32 b_twt_persistence;
+
+ /* Broadcast TWT(B-TWT) Recommendation, refer to section
+ * "9.4.2.199 TWT element" of latest 11ax draft
+ */
+ A_UINT32 b_twt_recommendation;
} wmi_twt_add_dialog_cmd_fixed_param;
/* status code of adding TWT dialog */
@@ -24958,6 +24967,60 @@ typedef struct {
A_UINT32 status; /* refer to WMI_RESUME_TWT_STATUS_T */
} wmi_twt_resume_dialog_complete_event_fixed_param;
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_twt_btwt_invite_sta_cmd_fixed_param */
+ A_UINT32 vdev_id; /* VDEV identifier */
+ wmi_mac_addr peer_macaddr; /* peer MAC address */
+ A_UINT32 dialog_id; /* TWT dialog ID */
+} wmi_twt_btwt_invite_sta_cmd_fixed_param;
+
+/* status code of inviting STA to B-TWT dialog */
+typedef enum _WMI_TWT_BTWT_INVITE_STA_STATUS_T {
+ WMI_TWT_BTWT_INVITE_STA_STATUS_OK, /* inviting STA to B-TWT successfully completed */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_DIALOG_ID_NOT_EXIST, /* TWT dialog ID not exists */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_INVALID_PARAM, /* invalid parameters */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_DIALOG_ID_BUSY, /* FW is in the process of handling this dialog */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_ALREADY_JOINED, /* peer STA already joined the session */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_NO_RESOURCE, /* FW resource exhausted */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_NO_ACK, /* peer STA did not ACK the request/response frame */
+ WMI_TWT_BTWT_INVITE_STA_STATUS_UNKNOWN_ERROR, /* failed with an unknown reason */
+} WMI_TWT_BTWT_INVITE_STA_STATUS_T;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_twt_btwt_invite_sta_complete_event_fixed_param */
+ A_UINT32 vdev_id; /* VDEV identifier */
+ wmi_mac_addr peer_macaddr; /* peer MAC address */
+ A_UINT32 dialog_id; /* TWT dialog ID */
+ A_UINT32 status; /* refer to WMI_TWT_BTWT_INVITE_STA_STATUS_T */
+} wmi_twt_btwt_invite_sta_complete_event_fixed_param;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_twt_btwt_remove_sta_cmd_fixed_param */
+ A_UINT32 vdev_id; /* VDEV identifier */
+ wmi_mac_addr peer_macaddr; /* peer MAC address */
+ A_UINT32 dialog_id; /* TWT dialog ID */
+} wmi_twt_btwt_remove_sta_cmd_fixed_param;
+
+/* status code of removing STA from B-TWT dialog */
+typedef enum _WMI_TWT_BTWT_REMOVE_STA_STATUS_T {
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_OK, /* removing STA from B-TWT successfully completed */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_DIALOG_ID_NOT_EXIST, /* TWT dialog ID not exists */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_INVALID_PARAM, /* invalid parameters */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_DIALOG_ID_BUSY, /* FW is in the process of handling this dialog */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_NOT_JOINED, /* peer STA not joined yet */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_NO_RESOURCE, /* FW resource exhausted */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_NO_ACK, /* peer STA did not ACK the request/response frame */
+ WMI_TWT_BTWT_REMOVE_STA_STATUS_UNKNOWN_ERROR, /* failed with an unknown reason */
+} WMI_TWT_BTWT_REMOVE_STA_STATUS_T;
+
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_twt_btwt_remove_sta_complete_event_fixed_param */
+ A_UINT32 vdev_id; /* VDEV identifier */
+ wmi_mac_addr peer_macaddr; /* peer MAC address */
+ A_UINT32 dialog_id; /* TWT dialog ID */
+ A_UINT32 status; /* refer to WMI_TWT_BTWT_REMOVE_STA_STATUS_T */
+} wmi_twt_btwt_remove_sta_complete_event_fixed_param;
+
typedef enum {
WMI_DMA_RING_CONFIG_MODULE_SPECTRAL,
WMI_DMA_RING_CONFIG_MODULE_RTT,
@@ -26328,8 +26391,6 @@ typedef struct {
#define WMI_HEOPS_DEFPE_SET WMI_HEOPS_DEFPE_SET_D3
#define WMI_HEOPS_TWT_REQUIRED_GET WMI_HEOPS_TWT_REQUIRED_GET_D3
#define WMI_HEOPS_TWT_REQUIRED_SET WMI_HEOPS_TWT_REQUIRED_SET_D3
- #define WMI_HEOPS_TWT_GET WMI_HEOPS_TWT_REQUIRED_GET_D3 /* DEPRECATED, use WMI_HEOPS_TWT_REQUIRED_GET */
- #define WMI_HEOPS_TWT_SET WMI_HEOPS_TWT_REQUIRED_SET_D3 /* DEPRECATED, use WMI_HEOPS_TWT_REQUIRED_SET */
#define WMI_HEOPS_RTSTHLD_GET WMI_HEOPS_RTSTHLD_GET_D3
#define WMI_HEOPS_RTSTHLD_SET WMI_HEOPS_RTSTHLD_SET_D3
#define WMI_HEOPS_PARTBSSCOLOR_GET WMI_HEOPS_PARTBSSCOLOR_GET_D3
@@ -26550,8 +26611,6 @@ typedef struct {
#define WMI_HEOPS_DEFPE_SET WMI_HEOPS_DEFPE_SET_D2
#define WMI_HEOPS_TWT_REQUIRED_GET WMI_HEOPS_TWT_REQUIRED_GET_D2
#define WMI_HEOPS_TWT_REQUIRED_SET WMI_HEOPS_TWT_REQUIRED_SET_D2
- #define WMI_HEOPS_TWT_GET WMI_HEOPS_TWT_GET_D2 /* Depricated */
- #define WMI_HEOPS_TWT_SET WMI_HEOPS_TWT_SET_D2 /* Depricated */
#define WMI_HEOPS_RTSTHLD_GET WMI_HEOPS_RTSTHLD_GET_D2
#define WMI_HEOPS_RTSTHLD_SET WMI_HEOPS_RTSTHLD_SET_D2
#define WMI_HEOPS_PARTBSSCOLOR_GET WMI_HEOPS_PARTBSSCOLOR_GET_D2
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 83d19d8db03e..1e834bb6538c 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_ 682
+#define __WMI_REVISION_ 683
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work