diff options
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 3 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 89 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
3 files changed, 57 insertions, 37 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 1393aff6d42f..412b5957a449 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -3270,7 +3270,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_STATS_EXT_CMDID); #define WMITLV_TABLE_WMI_OBSS_SCAN_ENABLE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_obss_scan_enable_cmd_fixed_param, wmi_obss_scan_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, channels, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_field, WMITLV_SIZE_VAR) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, ie_field, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, chan_freqs, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_OBSS_SCAN_ENABLE_CMDID); /* 2.4Ghz HT40 OBSS scan disable */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 4c21999559fe..f991ac4a6a35 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -3712,7 +3712,7 @@ typedef struct { /** * TLV (tag length value) parameters follow the scan_cmd * structure. The TLV's are: - * A_UINT32 channel_list[num_chan]; + * A_UINT32 channel_list[num_chan]; // in MHz * wmi_ssid ssid_list[num_ssids]; * wmi_mac_addr bssid_list[num_bssid]; * A_UINT8 ie_data[ie_len]; @@ -4190,7 +4190,7 @@ typedef struct { 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 on which this frame is received (channel number) */ A_UINT32 channel; /** snr information used to cal rssi */ A_UINT32 snr; @@ -4233,6 +4233,9 @@ typedef struct { */ A_UINT32 pdev_id; + /** freq in MHz of the channel on which this frame was received */ + A_UINT32 chan_freq; + /* This TLV is followed by array of bytes: * A_UINT8 bufp[]; <-- management frame buffer */ @@ -12264,7 +12267,7 @@ typedef struct { /** * TLV (tag length value) parameters follow the wmi_roam_chan_list * structure. The TLV's are: - * A_UINT32 channel_list[]; + * A_UINT32 channel_list[]; // in MHz **/ } wmi_roam_chan_list_fixed_param; @@ -13125,7 +13128,7 @@ typedef struct { /** * TLV (tag length value) parameters follows roam_invoke_req * The TLV's are: - * A_UINT32 channel_list[]; + * A_UINT32 channel_list[]; // in MHz * wmi_mac_addr bssid_list[]; * wmi_tlv_buf_len_param bcn_prb_buf_list[]; * A_UINT8 bcn_prb_frm[]; @@ -13381,13 +13384,13 @@ typedef struct { A_UINT32 disc_type; /* p2p find perodic */ A_UINT32 perodic; - /* p2p find listen channel */ + /* p2p find listen channel in MHz */ A_UINT32 listen_channel; /* p2p find full channel number */ A_UINT32 num_scan_chans; /** * TLV (tag length value) paramerters follow the pattern structure. - * TLV contain channel list + * TLV contain channel list in MHz */ } wmi_p2p_disc_offload_config_cmd; @@ -14655,7 +14658,7 @@ typedef struct wmi_nlo_config { A_UINT32 num_cnlo_band_pref; /* The TLVs will follow. * nlo_configured_parameters nlo_list[]; - * A_UINT32 channel_list[num_of_channels]; + * A_UINT32 channel_list[num_of_channels]; // in MHz * nlo_channel_prediction_cfg ch_prediction_cfg; * enlo_candidate_score_params candidate_score_params; * wmi_vendor_oui vendor_oui[num_vendor_oui]; @@ -15170,6 +15173,10 @@ typedef struct { A_UINT32 off_duration; /* uint in mill seconds, channel off duraiton for path loss frame sending */ wmi_mac_addr dest_mac; /* multicast DA, for path loss frame */ A_UINT32 num_chans; +/* + * This fixed_param TLV is followed by other TLVs: + * A_UINT32 channel_list[num_chans]; // in MHz + */ } wmi_vdev_plmreq_start_cmd_fixed_param; typedef struct { @@ -15739,6 +15746,8 @@ typedef struct { A_UINT32 pref_offchan_num; /* Preferred off channel bandwidth as configured by user */ A_UINT32 pref_offchan_bw; + /* Preferred off channel frequency in MHz as configured by user */ + A_UINT32 pref_offchan_freq; /** Followed by the variable length TLV peer_chan_list: * wmi_channel peer_chan_list[]. @@ -15876,14 +15885,16 @@ typedef struct { A_UINT32 offchan_mode; /** peer MAC address */ wmi_mac_addr peer_macaddr; - /* Is peer initiator or responder of TDLS setup request */ + /* Is peer initiator or responder of TDLS setup request */ A_UINT32 is_peer_responder; /* off channel number*/ A_UINT32 offchan_num; /* off channel bandwidth bitmap, e.g. WMI_OFFCHAN_20MHZ */ A_UINT32 offchan_bw_bitmap; - /* operating class for offchan */ - A_UINT32 offchan_oper_class; + /* operating class for offchan */ + A_UINT32 offchan_oper_class; + /* off channel frequency in MHz */ + A_UINT32 offchan_freq; } wmi_tdls_set_offchan_mode_cmd_fixed_param; @@ -16344,10 +16355,11 @@ typedef struct A_UINT32 tlv_header; wmi_mac_addr bssid; /* BSSID */ wmi_ssid ssid; /* SSID */ - A_UINT32 ch; /* Channel */ + A_UINT32 ch; /* Channel number */ A_UINT32 rssi; /* RSSI or Level */ /* Timestamp when Network was found. Used to calculate age based on timestamp in GET_RSP msg header */ A_UINT32 timestamp; + A_UINT32 ch_freq; /* Channel frequency in MHz */ } wmi_batch_scan_result_network_info; typedef struct @@ -16465,7 +16477,7 @@ typedef struct { /** * TLV (tag length value) parameters follow the scan_cmd * structure. The TLV's are: - * A_UINT32 channel_list[]; + * A_UINT32 channel_list[]; // in MHz * wmi_ssid ssid_list[]; * wmi_mac_addr bssid_list[]; * A_UINT8 ie_data[]; @@ -18703,10 +18715,17 @@ typedef struct { /** following two parameters used by FW to fill IEs when sending 20/40 coexistence action frame to AP */ A_UINT32 forty_mhz_intolerant; /** STA 40M bandwidth intolerant capability */ A_UINT32 current_operating_class; /** STA current operating class */ - /** length of 2.4GHz channel list to scan at, channel list in tlv->channels[] */ + /** length of 2.4GHz channel list to scan at, channel number list in tlv->channels[] */ A_UINT32 channel_len; /** length of optional ie data to append to probe reqest when active scan, ie data in tlv->ie_field[] */ A_UINT32 ie_len; + +/** + * TLV (tag length value) parameters following the fixed param structure + * A_UINT8 channels[channel_len]; // channel numbers + * A_UINT8 ie_field[ie_len]; + * A_UINT32 chan_freqs[channel_len] // in MHz + */ } wmi_obss_scan_enable_cmd_fixed_param; typedef struct { @@ -18822,7 +18841,7 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_ARRAY_STRUC */ - /** channel number */ + /** channel in MHz */ A_UINT32 channel; /** dwell time in msec - use defaults if 0 */ @@ -19008,13 +19027,13 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_ARRAY_STRUC */ - /**bssid */ + /** bssid */ wmi_mac_addr bssid; - /**channel number */ + /** channel in MHz */ A_UINT32 channel; - /**upper RSSI limit */ + /** upper RSSI limit */ A_UINT32 upper_rssi_limit; - /**lower RSSI limit */ + /** lower RSSI limit */ A_UINT32 lower_rssi_limit; } wmi_extscan_wlan_change_bssid_param; @@ -19053,11 +19072,11 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_ARRAY_STRUC */ - /**bssid */ + /** bssid */ wmi_mac_addr bssid; - /**RSSI min threshold for reporting */ + /** RSSI min threshold for reporting */ A_UINT32 min_rssi; - /**Deprecated entry - channel number */ + /** Deprecated entry - channel in MHz */ A_UINT32 channel; /** RSSI max threshold for reporting */ A_UINT32 max_rssi; @@ -19286,25 +19305,25 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_ARRAY_STRUC */ - /**bssid */ + /** bssid */ wmi_mac_addr bssid; - /**ssid */ + /** ssid */ wmi_ssid ssid; - /**channel number */ + /** channel in MHz */ A_UINT32 channel; - /* capabilities */ + /** capabilities */ A_UINT32 capabilities; - /* beacon interval in TUs */ + /** beacon interval in TUs */ A_UINT32 beacon_interval; - /**time stamp in milliseconds - time last seen */ + /** time stamp in milliseconds - time last seen */ A_UINT32 tstamp; - /**flags - _tExtScanEntryFlags */ + /** flags - _tExtScanEntryFlags */ A_UINT32 flags; - /**RTT in ns */ + /** RTT in ns */ A_UINT32 rtt; - /**rtt standard deviation */ + /** rtt standard deviation */ A_UINT32 rtt_sd; - /* rssi information */ + /** rssi information */ A_UINT32 number_rssi_samples; /** IE length */ A_UINT32 ie_length; /* length of IE data */ @@ -23507,10 +23526,10 @@ typedef struct { A_UINT32 regcap2; /* REGDMN MODE, see REGDMN_MODE_ enum */ A_UINT32 wireless_modes; - A_UINT32 low_2ghz_chan; - A_UINT32 high_2ghz_chan; - A_UINT32 low_5ghz_chan; - A_UINT32 high_5ghz_chan; + A_UINT32 low_2ghz_chan; /* freq in MHz */ + A_UINT32 high_2ghz_chan; /* freq in MHz */ + A_UINT32 low_5ghz_chan; /* freq in MHz */ + A_UINT32 high_5ghz_chan; /* freq in MHz */ } WMI_HAL_REG_CAPABILITIES_EXT; typedef struct { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e2cf9a0c7f6c..9c23d555c391 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_ 699 +#define __WMI_REVISION_ 700 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
