diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 4fb256e9c3..894ca042f4 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1152,6 +1152,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_extd_stats, WMITLV_TAG_STRUC_wmi_peer_assoc_mlo_params, + WMITLV_TAG_STRUC_wmi_vdev_smart_monitor_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1879,6 +1880,7 @@ typedef enum { OP(WMI_PDEV_GET_DPD_STATUS_EVENTID) \ OP(WMI_MLO_SETUP_COMPLETE_EVENTID) \ OP(WMI_MLO_TEARDOWN_COMPLETE_EVENTID) \ + OP(WMI_VDEV_SMART_MONITOR_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -6277,6 +6279,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_SETUP_COMPLETE_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_teardown_complete_fixed_param, wmi_mlo_teardown_complete_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_TEARDOWN_COMPLETE_EVENTID); +/* Send Smart Monitor related params to host */ +#define WMITLV_TABLE_WMI_VDEV_SMART_MONITOR_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_smart_monitor_event_fixed_param, wmi_vdev_smart_monitor_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SMART_MONITOR_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index d5d0a737e2..d202926230 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1575,7 +1575,8 @@ typedef enum { WMI_VDEV_BCN_LATENCY_EVENTID, /** Disconnect request from FW */ WMI_VDEV_DISCONNECT_EVENTID, - + /** Send Smart Monitor related params to host */ + WMI_VDEV_SMART_MONITOR_EVENTID, /* peer specific events */ /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */ @@ -12304,6 +12305,13 @@ typedef enum { */ WMI_VDEV_PARAM_FORCE_DTIM_CNT, /* 0xA8 */ + /* vdev param to configure the Smart Monitor features + * Bit : 0 - enable/disable Trigger frames + * Bit : 1 - enable/disable QOS frames + * Bit : 2-31 - reserved + */ + WMI_VDEV_PARAM_SMART_MONITOR_CONFIG, /* 0xA9 */ + /*=== ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are @@ -34098,6 +34106,16 @@ typedef struct { */ } wmi_igmp_offload_fixed_param; +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_vdev_smart_monitor_event_fixed_param */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /** Average RSSI value of Data Frames */ + A_INT32 avg_rssi_data_dbm; +} wmi_vdev_smart_monitor_event_fixed_param; + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 1b6f865ce2..ed0e728f98 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_ 987 +#define __WMI_REVISION_ 988 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work