diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 758a6df4c8e7..bdf1b8d64162 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -621,6 +621,7 @@ typedef enum { WMI_SERVICE_MANUAL_ULOFDMA_TRIGGER_SUPPORT = 368, /* Support for Host triggered Manual UL OFDMA trigger frame feature */ WMI_SERVICE_STANDALONE_SOUND = 369, /* FW supports standalone sounding */ WMI_SERVICE_AFC_RESP_BINARY_FORMAT_SUPPORTED = 370, /* Service bit to indicate the supported AFC payload response format */ + WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20MHZ = 371, /* FW supports reporting of CCA busy info for each 20Mhz subband of wideband scan channel */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 85ada215eebe..9c4baf380830 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1357,6 +1357,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_set_rf_path_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_rx_peer_userinfo, WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_rx_peer_userinfo_evt_fixed_param, + WMITLV_TAG_STRUC_wmi_cca_busy_subband_info, } WMITLV_TAG_ID; /* @@ -5526,7 +5527,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_TX_POWER_EVENTID); /* Channel Info Event */ #define WMITLV_TABLE_WMI_CHAN_INFO_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_chan_info_event_fixed_param, wmi_chan_info_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_scan_blanking_params_info, scan_blanking_params, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_scan_blanking_params_info, scan_blanking_params, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_cca_busy_subband_info, cca_busy_subband_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_CHAN_INFO_EVENTID); /* RSSI dB to dBm conversion params info event to host */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 949581dc2189..fe5f98b50284 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -5667,6 +5667,12 @@ typedef struct { #define WMI_SCAN_FLAG_QUARTER_RATE_SUPPORT 0x40000 #define WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ 0x80000 #define WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ 0x100000 +/** pause home channel when scan channel is same as home channel */ +#define WMI_SCAN_FLAG_PAUSE_HOME_CHANNEL 0x200000 +/** + * report CCA busy for each possible 20Mhz subbands of the wideband scan channel + */ +#define WMI_SCAN_FLAG_REPORT_CCA_BUSY_FOREACH_20MHZ 0x400000 /** for adaptive scan mode using 3 bits (21 - 23 bits) */ #define WMI_SCAN_DWELL_MODE_MASK 0x00E00000 @@ -17795,7 +17801,8 @@ typedef struct { #define WMI_PEER_CHWIDTH_PUNCTURE_BITMAP_GET_CHWIDTH(value32) WMI_GET_BITS(value32, 0x0, 8) #define WMI_PEER_CHWIDTH_PUNCTURE_BITMAP_GET_PUNCTURE_BMAP(value32) WMI_GET_BITS(value32, 0x8, 16) -/* peer channel bandwidth and puncture_bitmap +/* + * peer channel bandwidth and puncture_bitmap * BIT 0-7 - Peer channel width * This bitfield holds a wmi_channel_width enum value. * BIT 8-23 - Peer Puncture bitmap where each bit indicates whether @@ -17808,6 +17815,13 @@ typedef struct { #define WMI_PEER_SET_TX_POWER 0x28 +/* + * Param to update connected peer channel bandwidth. + * Target firmware should take care of notifying connected peer about + * change in bandwidth, through OMN/OMI notification before performing + * bandwidth update internally. + */ +#define WMI_PEER_CHWIDTH_WITH_NOTIFY 0x29 typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_set_param_cmd_fixed_param */ @@ -18400,9 +18414,18 @@ typedef struct { /** * Following this structure is the optional TLV: * struct wmi_scan_blanking_params_info[0/1]; + * struct wmi_cca_busy_subband_info[]; + * Reporting subband CCA busy info in host requested manner. */ } wmi_chan_info_event_fixed_param; +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_cca_busy_subband_info */ + A_UINT32 tlv_header; + /** rx clear count */ + A_UINT32 rx_clear_count; +} wmi_cca_busy_subband_info; + /** * The below structure contains parameters related to the scan radio * blanking feature diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 8135df075a66..c241a71de153 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,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_ 1301 +#define __WMI_REVISION_ 1302 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work