diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a2fdcdc034a9..ab1d196fcc27 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -789,6 +789,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_radio_chan_stats, WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param, WMITLV_TAG_STRUC_wmi_roam_per_config_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_status_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1106,6 +1108,7 @@ typedef enum { OP(WMI_11D_SCAN_STOP_CMDID) \ OP(WMI_REQUEST_RADIO_CHAN_STATS_CMDID) \ OP(WMI_ROAM_PER_CONFIG_CMDID) \ + OP(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1279,6 +1282,7 @@ typedef enum { OP(WMI_REG_CHAN_LIST_CC_EVENTID) \ OP(WMI_11D_NEW_COUNTRY_EVENTID) \ OP(WMI_RADIO_CHAN_STATS_EVENTID) \ + OP(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -3170,6 +3174,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_11D_SCAN_STOP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_radio_chan_stats_cmd_fixed_param, wmi_request_radio_chan_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_RADIO_CHAN_STATS_CMDID); +/* mac randomization cmd */ +#define WMITLV_TABLE_WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_cmd_fixed_param, wmi_vdev_add_mac_addr_to_rx_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID); + /************************** TLV definitions of WMI events *******************************/ @@ -4226,6 +4235,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RADIO_CHAN_STATS_EVENTID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pkgid_event_fixed_param, wmi_pkgid_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PKGID_EVENTID); +/* mac randomization event */ +#define WMITLV_TABLE_WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_status_event_fixed_param, wmi_vdev_add_mac_addr_to_rx_filter_status_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 3b80aaf2cd2f..4f29cf268bd1 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -407,6 +407,9 @@ typedef enum { /* DISA feature: Encrypt-decrypt data request */ WMI_VDEV_ENCRYPT_DECRYPT_DATA_REQ_CMDID, + /** Command to enable mac randomizaton **/ + WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID, + /* peer specific commands */ /** create a peer */ @@ -1105,6 +1108,9 @@ typedef enum { /* DISA feature: FW response to Host with encrypted/decrypted 802.11 DISA frame */ WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID, + /** event to report mac randomization success **/ + WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_STATUS_EVENTID, + /* peer specific events */ /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */ WMI_PEER_STA_KICKOUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PEER), @@ -17560,6 +17566,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_REQUEST_PEER_STATS_INFO_CMDID); WMI_RETURN_STRING(WMI_REQUEST_RADIO_CHAN_STATS_CMDID); WMI_RETURN_STRING(WMI_ROAM_PER_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID); } return "Invalid WMI cmd"; @@ -17729,6 +17736,21 @@ typedef struct { A_UINT32 value; } wmi_pkgid_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_cmd_fixed_params */ + A_UINT32 vdev_id; /* vdev id whose mac to be randomized */ + /* enable is set to 1 if mac randomization to be enabled */ + A_UINT32 enable; + /* randomization mac address if randomization is enabled */ + wmi_mac_addr mac_addr; +} wmi_vdev_add_mac_addr_to_rx_filter_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_add_mac_addr_to_rx_filter_event_fixed_params */ + A_UINT32 vdev_id; /* vdev of id whose mac address was randomized */ + A_UINT32 status; /* status is 1 if success and 0 if failed */ +} wmi_vdev_add_mac_addr_to_rx_filter_status_event_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 6c8a893c4d28..43d8b4431fa6 100644 --- 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_ 331 +#define __WMI_REVISION_ 332 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work