summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfw/wmi_tlv_defs.h9
-rwxr-xr-xfw/wmi_unified.h46
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 56 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index bd0054936257..e77079efed1c 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -1010,6 +1010,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry,
WMITLV_TAG_STRUC_wmi_cfr_capture_filter_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_cfr_filter_group_config,
+ WMITLV_TAG_STRUC_wmi_fd_tmpl_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1423,6 +1424,7 @@ typedef enum {
OP(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID) \
OP(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID) \
OP(WMI_CFR_CAPTURE_FILTER_CMDID) \
+ OP(WMI_FD_TMPL_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -2096,6 +2098,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PRB_TMPL_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_BCN_TMPL_CMDID);
+/* FILS Discovery template Cmd */
+#define WMITLV_TABLE_WMI_FD_TMPL_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_fd_tmpl_cmd_fixed_param, wmi_fd_tmpl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR)
+
+WMITLV_CREATE_PARAM_STRUC(WMI_FD_TMPL_CMDID);
+
/* VDEV install key complete Cmd */
#define WMITLV_TABLE_WMI_VDEV_INSTALL_KEY_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_cmd_fixed_param, wmi_vdev_install_key_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index def8f252b1bf..18fc88644b3f 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -616,6 +616,8 @@ typedef enum {
WMI_BSS_COLOR_CHANGE_ENABLE_CMDID,
/** To configure Beacon offload quiet-ie params */
WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID,
+ /** set FILS Discovery frame template for FW to generate FD frames */
+ WMI_FD_TMPL_CMDID,
/** commands to directly control ba negotiation directly from host. only used in test mode */
@@ -3982,6 +3984,9 @@ typedef enum {
/* Indicate client hint req is high priority than fw rnr or FILS disc */
#define WMI_SCAN_FLAG_EXT_6GHZ_CLIENT_HIGH_PRIORITY 0x00000080
+/* Force all 6ghz scan channels to active channel */
+#define WMI_SCAN_FLAG_EXT_6GHZ_FORCE_CHAN_ACTIVE 0x00000100
+
/**
* new 6 GHz flags per chan (short ssid or bssid) in struct
* wmi_hint_freq_short_ssid or wmi_hint_freq_bssid
@@ -3989,6 +3994,9 @@ typedef enum {
/* Indicate not to send probe req for short_ssid or bssid on that channel */
#define WMI_SCAN_HINT_FLAG_SKIP_TX_PROBE_REQ 0x00000001
+/* Force channel in WMI hint to active channel */
+#define WMI_SCAN_HINT_FLAG_FORCE_CHAN_ACTIVE 0x00000002
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stop_scan_cmd_fixed_param */
/** requestor requesting cancel */
@@ -9348,6 +9356,8 @@ typedef struct {
A_UINT32 he_ops; /* refer to WMI_HEOPS_xxx macros */
A_UINT32 cac_duration_ms; /* in milliseconds */
A_UINT32 regdomain;
+ /* min data rate to be used in BSS in Mbps */
+ A_UINT32 min_data_rate;
/* The TLVs follows this structure:
* wmi_channel chan; <-- WMI channel
* wmi_p2p_noa_descriptor noa_descriptors[]; <-- actual p2p NOA descriptor from scan entry
@@ -9490,6 +9500,18 @@ typedef enum {
#define WMI_VDEV_OCE_ESP_FEATURE_BITMAP 0x20
#define WMI_VDEV_OCE_REASSOC_REJECT_FEATURE_BITMAP 0x40
+/** 6GHZ params **/
+/* Control to enable/disable beacon tx in non-HT duplicate */
+#define WMI_VDEV_6GHZ_BITMAP_NON_HT_DUPLICATE_BEACON 0x1
+/* Control to enable/disable broadcast probe response tx in non-HT duplicate */
+#define WMI_VDEV_6GHZ_BITMAP_NON_HT_DUPLICATE_BCAST_PROBE_RSP 0x2
+/* Control to enable/disable FILS discovery frame tx in non-HT duplicate */
+#define WMI_VDEV_6GHZ_BITMAP_NON_HT_DUPLICATE_FD_FRAME 0x4
+/* Control to enable/disable periodic FILS discovery frame transmission */
+#define WMI_VDEV_6GHZ_BITMAP_FD_FRAME 0x8
+/* Control to enable/disable periodic broadcast probe response transmission */
+#define WMI_VDEV_6GHZ_BITMAP_BCAST_PROBE_RSP 0x10
+
/** the definition of different VDEV parameters */
typedef enum {
/** RTS Threshold */
@@ -10222,6 +10244,12 @@ typedef enum {
/* To enable/disable multicast rate adaptation feature at vdev level */
WMI_VDEV_PARAM_ENABLE_MCAST_RC, /* 0x98 */
+ /*
+ * Params related to 6GHz operation
+ * The parameter value is formed from WMI_VDEV_6GHZ_BITMAP flags.
+ */
+ WMI_VDEV_PARAM_6GHZ_PARAMS, /* 0x99 */
+
/*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
* The below vdev param types are used for prototyping, and are
* prone to change.
@@ -10644,6 +10672,19 @@ typedef struct {
} wmi_prb_tmpl_cmd_fixed_param;
typedef struct {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_fd_tmpl_cmd_fixed_param */
+ /** unique id identifying the VDEV, generated by the caller */
+ A_UINT32 vdev_id;
+ /** fd frame buffer length. data is in TLV data[] */
+ A_UINT32 buf_len;
+
+/*
+ * The TLVs follows:
+ * A_UINT8 data[]; <-- Variable length data
+ */
+} wmi_fd_tmpl_cmd_fixed_param;
+
+typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_offload_bcn_tx_status_event_fixed_param */
A_UINT32 tlv_header;
/** unique id identifying the VDEV */
@@ -11990,6 +12031,9 @@ typedef struct {
*/
A_UINT32 peer_he_cap_info_internal;
+ /* min data rate to be used in Mbps */
+ A_UINT32 min_data_rate;
+
/* Following this struct are the TLV's:
* A_UINT8 peer_legacy_rates[];
* A_UINT8 peer_ht_rates[];
@@ -24077,6 +24121,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
* to setup the common probe response template with the FW to
* be used by FW to generate probe responses */
WMI_RETURN_STRING(WMI_PRB_TMPL_CMDID);
+ /** set FILS Discovery frame template for FW to generate FD frames */
+ WMI_RETURN_STRING(WMI_FD_TMPL_CMDID);
/* commands to directly control ba negotiation directly from
* host. only used in test mode */
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 657f8734776a..dc58e1ba124b 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_ 721
+#define __WMI_REVISION_ 722
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work