diff --git a/fw/wmi_services.h b/fw/wmi_services.h index e156876d0d78..4ad68b2ab547 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -747,6 +747,7 @@ typedef enum { WMI_SERVICE_ENHANCED_STATS_SUPPORT = 483, /* Indicates FW supports "enhanced stats" */ WMI_SERVICE_RADAR_FLAGS_RSSI_DBM_SUPPORT = 484, /* Indicates FW support to add RSSI in dBm units in WMI radar event */ WMI_SERVICE_WOW_STA_PS_PARAM_CACHE_SUPPORT = 485, /* Indicates FW support for WOW timeline optimization feature */ + WMI_SERVICE_VENDOR_OUI_SUPPORT_EXCLUSIVE_MAC_ADDRESS = 486, /* FW supports parse exclusive_mac_address in wmi_vendor_oui_ext */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 319e53e6213e..420f679cdbcd 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27406,26 +27406,47 @@ typedef struct { } wmi_pdev_set_rx_filter_promiscuous_cmd_fixed_param; typedef enum { - WMI_BEACON_INFO_PRESENCE_OUI_EXT = 1 << 0, - WMI_BEACON_INFO_PRESENCE_MAC_ADDRESS = 1 << 1, - WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_NSS = 1 << 2, - WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_HT = 1 << 3, - WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_VHT = 1 << 4, - WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_BAND = 1 << 5, + WMI_BEACON_INFO_PRESENCE_OUI_EXT = 1 << 0, + WMI_BEACON_INFO_PRESENCE_MAC_ADDRESS = 1 << 1, + WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_NSS = 1 << 2, + WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_HT = 1 << 3, + WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_VHT = 1 << 4, + WMI_BEACON_INFO_PRESENCE_AP_CAPABILITY_BAND = 1 << 5, + WMI_BEACON_INFO_PRESENCE_EXCLUSIVE_MAC_ADDRESS = 1 << 6, } wmi_beacon_info_presence_items; typedef struct _wmi_vendor_oui_ext { A_UINT32 tlv_header; - A_UINT32 buf_data_length; /* length of data in bytes for this OUI including index byte */ - A_UINT32 info_presence_bit_mask; /* see enum wmi_beacon_info_presence_items */ - A_UINT32 oui_header_length; /* either 3 or 5 bytes */ - A_UINT32 oui_data_length; /* length of oui_data to compare in beacon which follows OUI header. Max length is capped to WMI_MAX_VENDOR_OUI_DATA_LENGTH bytes */ - A_UINT32 mac_address_length; /* MAC address length in bytes - ** (This value will always be 6, - ** but is explicitly specified for sake - ** of uniformity and completeness). - */ + + /* length of data in bytes for this OUI including index byte */ + A_UINT32 buf_data_length; + + /* see enum wmi_beacon_info_presence_items */ + A_UINT32 info_presence_bit_mask; + + A_UINT32 oui_header_length; /* either 3 or 5 bytes */ + + /* oui_data_length: + * Length of oui_data to compare in beacon which follows OUI header. + * Max length is capped to WMI_MAX_VENDOR_OUI_DATA_LENGTH bytes. + */ + A_UINT32 oui_data_length; + + /* mac_address_length: + * MAC address length in bytes + * (This value will always be 6, but is explicitly specified for sake + * of uniformity and completeness). + */ + A_UINT32 mac_address_length; + A_UINT32 capability_data_length; /* length of capability in bytes */ + + /* exclusive_mac_address_length: + * Exclusive MAC address length in bytes + * (This value will always be 6, but is explicitly specified for sake + * of uniformity and completeness). + */ + A_UINT32 exclusive_mac_address_length; } wmi_vendor_oui_ext; #define WMI_INFO_CAPABILITY_NSS_MASK 0x0f diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 3ec8142cc532..6d0f251bf5d6 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_ 1687 +#define __WMI_REVISION_ 1688 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work