diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index b5cd7a3184ce..f1bdbaaafb3e 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1000,6 +1000,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_set_elna_bypass_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_get_elna_bypass_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_get_elna_bypass_event_fixed_param, + WMITLV_TAG_STRUC_wmi_roam_pmkid_request_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1642,6 +1643,7 @@ typedef enum { OP(WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID) \ OP(WMI_ROAM_PREAUTH_START_EVENTID) \ OP(WMI_GET_ELNA_BYPASS_EVENTID) \ + OP(WMI_ROAM_PMKID_REQUEST_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -3094,6 +3096,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_IDLE_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, pmkid, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_PREAUTH_STATUS_CMDID); +/** Roam PMKID request event */ +#define WMITLV_TABLE_WMI_ROAM_PMKID_REQUEST_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_pmkid_request_event_fixed_param, wmi_roam_pmkid_request_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_pmkid_request_tlv_param, pmkid_request, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_PMKID_REQUEST_EVENTID); + /* Screen Status Command parameters */ #define WMITLV_TABLE_WMI_IDLE_TRIGGER_MONITOR_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_idle_trigger_monitor_cmd_fixed_param, wmi_idle_trigger_monitor_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index a472b71eab8e..4c21999559fe 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1540,6 +1540,8 @@ typedef enum { WMI_ROAM_BLACKLIST_EVENTID, /** Roam Pre-Authentication start event */ WMI_ROAM_PREAUTH_START_EVENTID, + /** Roaming PMKID request event */ + WMI_ROAM_PMKID_REQUEST_EVENTID, /** P2P disc found */ WMI_P2P_DISC_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_P2P), @@ -12920,6 +12922,21 @@ typedef struct { */ } wmi_roam_blacklist_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; + /** candidate AP mac address */ + wmi_mac_addr bssid; +} wmi_roam_pmkid_request_tlv_param; + +/** WMI_ROAM_PMKID_REQUEST_EVENT: generated whenever FW needs the PMKID while roaming **/ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_pmkid_request_event_fixed_param */ + A_UINT32 vdev_id; + /* This TLV is followed by further TLVs: + * wmi_roam_pmkid_request_tlv_param pmkid_request[] + */ +} wmi_roam_pmkid_request_event_fixed_param; + /** WMI_ROAM_EVENT: roam event triggering the host roam logic. * generated when ever a better AP is found in the recent roam scan (or) * when beacon miss is detected (or) when a DEAUTH/DISASSOC is received diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 42f6ba2f9904..bb206cce7c66 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_ 697 +#define __WMI_REVISION_ 698 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work