diff options
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 9 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 46 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
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 |
