|
@@ -5556,6 +5556,44 @@ typedef struct {
|
|
|
A_UINT32 mgmt_pkt_ctr_link_info;
|
|
|
} wmi_mgmt_rx_reo_params;
|
|
|
|
|
|
+/** Helper macro for param GET/SET */
|
|
|
+#define WMI_RX_PARAM_EXT_META_ID_GET(mgmt_rx_params_ext_dword0) WMI_GET_BITS(mgmt_rx_params_ext_dword0, 0, 3)
|
|
|
+#define WMI_RX_PARAM_EXT_META_ID_SET(mgmt_rx_params_ext_dword0, value) WMI_SET_BITS(mgmt_rx_params_ext_dword0, 0, 3, value)
|
|
|
+
|
|
|
+#define WMI_RX_PARAM_EXT_BA_WIN_SIZE_GET(mgmt_rx_params_ext_dword1) WMI_GET_BITS(mgmt_rx_params_ext_dword1, 0, 16)
|
|
|
+#define WMI_RX_PARAM_EXT_BA_WIN_SIZE_SET(mgmt_rx_params_ext_dword1, value) WMI_SET_BITS(mgmt_rx_params_ext_dword1, 0, 16, value)
|
|
|
+
|
|
|
+#define WMI_RX_PARAM_EXT_REO_WIN_SIZE_GET(mgmt_rx_params_ext_dword1) WMI_GET_BITS(mgmt_rx_params_ext_dword1, 16, 16)
|
|
|
+#define WMI_RX_PARAM_EXT_REO_WIN_SIZE_SET(mgmt_rx_params_ext_dword1, value) WMI_SET_BITS(mgmt_rx_params_ext_dword1, 16, 16, value)
|
|
|
+
|
|
|
+typedef enum {
|
|
|
+ WMI_RX_PARAMS_EXT_META_ADDBA = 0x0,
|
|
|
+} wmi_mgmt_rx_params_ext_meta_t;
|
|
|
+
|
|
|
+typedef struct {
|
|
|
+ A_UINT32 tlv_header; /* TLV tag (WMITLV_TAG_STRUC_wmi_mgmt_rx_params_ext) and len */
|
|
|
+ union {
|
|
|
+ struct {
|
|
|
+ A_UINT32
|
|
|
+ /* Describes the representation of the data in rx_param_ext_dword1
|
|
|
+ * Full set shown in wmi_mgmt_rx_params_ext_meta_t */
|
|
|
+ meta_id : 3,
|
|
|
+ /* Dedicated for commonly used parameters only */
|
|
|
+ reserved_0 : 29;
|
|
|
+ };
|
|
|
+ A_UINT32 mgmt_rx_params_ext_dword0;
|
|
|
+ };
|
|
|
+ union {
|
|
|
+ struct {
|
|
|
+ /* WMI_RX_PARAMS_EXT_META_ADDBA */
|
|
|
+ A_UINT32
|
|
|
+ ba_win_size :16, /* negotiated BA window size */
|
|
|
+ reo_win_size :16; /* 2x the negotiated BA window size to handle any latency across MLO */
|
|
|
+ };
|
|
|
+ A_UINT32 mgmt_rx_params_ext_dword1;
|
|
|
+ };
|
|
|
+} wmi_mgmt_rx_params_ext;
|
|
|
+
|
|
|
typedef struct {
|
|
|
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mgmt_rx_hdr */
|
|
|
/** channel on which this frame is received (channel number) */
|
|
@@ -5614,6 +5652,10 @@ typedef struct {
|
|
|
* This TLV is followed by struct:
|
|
|
* wmi_mgmt_rx_reo_params reo_params;// MGMT rx REO params
|
|
|
*/
|
|
|
+/*
|
|
|
+ * This TLV is optionally followed by struct:
|
|
|
+ * wmi_mgmt_rx_params_ext mgmt_rx_params_ext[0 or 1];
|
|
|
+ */
|
|
|
} wmi_mgmt_rx_hdr;
|
|
|
|
|
|
/* WMI CMD to receive the management filter criteria from the host */
|
|
@@ -6020,6 +6062,36 @@ typedef struct {
|
|
|
*/
|
|
|
} wmi_mgmt_tx_hdr;
|
|
|
|
|
|
+#define WMI_TX_SEND_PARAM_EXT_META_ID_GET(tx_param_ext_dword0) WMI_GET_BITS(tx_param_dword0, 0, 3)
|
|
|
+#define WMI_TX_SEND_PARAM_EXT_META_ID_SET(tx_param_ext_dword0, value) WMI_SET_BITS(tx_param_dword0, 0, 3, value)
|
|
|
+
|
|
|
+#define WMI_TX_SEND_PARAM_EXT_WIN_SIZE_GET(tx_param_ext_dword1) WMI_GET_BITS(tx_param_dword1, 0, 16)
|
|
|
+#define WMI_TX_SEND_PARAM_EXT_WIN_SIZE_SET(tx_param_ext_dword1, value) WMI_SET_BITS(tx_param_dword1, 0, 16, value)
|
|
|
+
|
|
|
+typedef enum {
|
|
|
+ WMI_TX_SEND_PARAMS_EXT_META_ADDBA = 0x0,
|
|
|
+ WMI_TX_SEND_PARAMS_EXT_META_DELBA = 0x1,
|
|
|
+} wmi_tx_send_params_ext_meta_t;
|
|
|
+
|
|
|
+typedef struct {
|
|
|
+ A_UINT32 tlv_header; /* TLV tag (WMITLV_TAG_STRUC_wmi_tx_send_params_ext) and len */
|
|
|
+ union {
|
|
|
+ struct {
|
|
|
+ A_UINT32 meta_id : 3, /* Describes the representation of the data in tx_param_ext_dword1 Full set shown in wmi_tx_send_params_ext_meta_t */
|
|
|
+ reserved_0 : 29; /* Dedicated for commonly used parameters only */
|
|
|
+ };
|
|
|
+ A_UINT32 tx_param_ext_dword0;
|
|
|
+ };
|
|
|
+ union {
|
|
|
+ struct {
|
|
|
+ /* WMI_TX_SEND_PARAMS_EXT_META_ADDBA */
|
|
|
+ A_UINT32 win_size : 16,
|
|
|
+ reserved_1 : 16;
|
|
|
+ };
|
|
|
+ A_UINT32 tx_param_ext_dword1;
|
|
|
+ };
|
|
|
+} wmi_tx_send_params_ext;
|
|
|
+
|
|
|
#define WMI_TX_SEND_PARAM_PWR_GET(tx_param_dword0) WMI_GET_BITS(tx_param_dword0, 0, 8)
|
|
|
#define WMI_TX_SEND_PARAM_PWR_SET(tx_param_dword0, value) WMI_SET_BITS(tx_param_dword0, 0, 8, value)
|
|
|
|
|
@@ -6262,6 +6334,7 @@ typedef struct {
|
|
|
/* This TLV is followed by wmi_tx_send_params
|
|
|
* wmi_tx_send_params tx_send_params;
|
|
|
* wmi_mlo_tx_send_params mlo_tx_send_params[];
|
|
|
+ * wmi_tx_send_params_ext tx_send_params_ext[0 or 1];
|
|
|
*/
|
|
|
} wmi_mgmt_tx_send_cmd_fixed_param;
|
|
|
|
|
@@ -13089,6 +13162,9 @@ typedef enum {
|
|
|
* 1- Manual mode(addba req not sent).
|
|
|
* 2- buffer size 64
|
|
|
* 3- buffer size 256
|
|
|
+ * 4- buffer size 128 // placeholder, not valid
|
|
|
+ * 5- buffer size 512
|
|
|
+ * 6- buffer size 1024
|
|
|
*/
|
|
|
WMI_VDEV_PARAM_BA_MODE, /* 0x7e */
|
|
|
|