diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index eba9f3c96011..17765cb898e9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1216,6 +1216,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_mlo_set_active_link_number_param, WMITLV_TAG_STRUC_wmi_sawf_svc_class_cfg_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_sawf_svc_class_disable_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_roam_frame_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1973,6 +1974,7 @@ typedef enum { OP(WMI_PDEV_AOA_PHASEDELTA_EVENTID) \ OP(WMI_PDEV_FIPS_EXTEND_EVENTID) \ OP(WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID) \ + OP(WMI_ROAM_FRAME_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5200,9 +5202,15 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SYNCH_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, reassoc_req_frame, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SYNCH_FRAME_EVENTID); +/* Roam frame Event */ +#define WMITLV_TABLE_WMI_ROAM_FRAME_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_frame_event_fixed_param, wmi_roam_frame_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, frame, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_FRAME_EVENTID); + /* WOW Wakeup Host Event */ /* NOTE: Make sure wow_bitmap_info can be zero or one elements only */ -#define WMITLV_TABLE_WMI_WOW_WAKEUP_HOST_EVENTID(id,op,buf,len) \ +#define WMITLV_TABLE_WMI_WOW_WAKEUP_HOST_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WOW_EVENT_INFO_fixed_param, WOW_EVENT_INFO_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WOW_EVENT_INFO_SECTION_BITMAP, wow_bitmap_info, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, wow_packet_buffer, WMITLV_SIZE_VAR) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 32fe13233946..da3da831e993 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1790,6 +1790,8 @@ typedef enum { WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID, /** Firmware roam capability information */ WMI_ROAM_CAPABILITY_REPORT_EVENTID, + /** Send AP frame content like beacon/probe resp etc.. */ + WMI_ROAM_FRAME_EVENTID, /** P2P disc found */ WMI_P2P_DISC_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_P2P), @@ -22733,6 +22735,19 @@ typedef struct { */ } wmi_roam_synch_frame_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_frame_event_fixed_param */ + /** Unique id identifying the VDEV on which roaming is done by firmware */ + A_UINT32 vdev_id; + /* Exact frame length without considering 4 byte alignement */ + A_UINT32 frame_length; + /** + * TLV (tag length value) parameters follows roam_frame_event + * The TLV's are: + * A_UINT8 frame[frame_length]; + */ +} wmi_roam_frame_event_fixed_param; + #define WMI_PEER_ESTIMATED_LINKSPEED_INVALID 0xFFFFFFFF typedef struct { @@ -29902,6 +29917,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_FIPS_MODE_SET_CMDID); WMI_RETURN_STRING(WMI_SAWF_SVC_CLASS_CFG_CMDID); WMI_RETURN_STRING(WMI_SAWF_SVC_CLASS_DISABLE_CMDID); + WMI_RETURN_STRING(WMI_VDEV_UPDATE_MAC_ADDR_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 8a75ed077715..78b3d2914402 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_ 1077 +#define __WMI_REVISION_ 1078 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work