diff --git a/wmi/inc/wmi_unified_twt_param.h b/wmi/inc/wmi_unified_twt_param.h index 9bcfe95850..51fd208c20 100644 --- a/wmi/inc/wmi_unified_twt_param.h +++ b/wmi/inc/wmi_unified_twt_param.h @@ -137,28 +137,36 @@ enum host_twt_session_stats_type { * struct wmi_host_twt_session_stats_info: * @vdev_id: id of VDEV for twt session * @peer_mac: MAC address of node - * @event_type: TWT event types - * @flow_id: TWT flow_id - * @bcast: broadcast TWT - * @trig: trigger - * @announ: TWT announcement + * @event_type: Indicates TWT session type (SETUP/TEARDOWN/UPDATE) + * @flow_id: TWT flow identifier established with TWT peer + * @bcast: If this is a broacast TWT session + * @trig: If the TWT session is trigger enabled + * @announ: If the flow type is announced/unannounced + * @protection: If the TWT protection field is set + * @info_frame_disabled: If the TWT Information frame is disabled * @dialog_id: Dialog_id of current session * @wake_dura_us: wake duration in us * @wake_intvl_us: wake time interval in us * @sp_offset_us: Time until initial TWT SP occurs + * @sp_tsf_us_lo: TWT wake time TSF in usecs lower bits - 31:0 + * @sp_tsf_us_hi: TWT wake time TSF in usecs higher bits - 63:32 */ struct wmi_host_twt_session_stats_info { uint32_t vdev_id; uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; uint32_t event_type; uint32_t flow_id:16, - bcast:1, - trig:1, - announ:1; + bcast:1, + trig:1, + announ:1, + protection:1, + info_frame_disabled:1; uint32_t dialog_id; uint32_t wake_dura_us; uint32_t wake_intvl_us; uint32_t sp_offset_us; + uint32_t sp_tsf_us_lo; + uint32_t sp_tsf_us_hi; }; /** struct wmi_twt_session_stats_event: diff --git a/wmi/src/wmi_unified_twt_tlv.c b/wmi/src/wmi_unified_twt_tlv.c index c0804cfde4..ad7c501e51 100644 --- a/wmi/src/wmi_unified_twt_tlv.c +++ b/wmi/src/wmi_unified_twt_tlv.c @@ -734,10 +734,15 @@ extract_twt_session_stats_event_data(wmi_unified_t wmi_handle, session->bcast = WMI_TWT_SESSION_FLAG_BCAST_TWT_GET(flags); session->trig = WMI_TWT_SESSION_FLAG_TRIGGER_TWT_GET(flags); session->announ = WMI_TWT_SESSION_FLAG_ANNOUN_TWT_GET(flags); + session->protection = WMI_TWT_SESSION_FLAG_TWT_PROTECTION_GET(flags); + session->info_frame_disabled = + WMI_TWT_SESSION_FLAG_TWT_INFO_FRAME_DISABLED_GET(flags); session->dialog_id = twt_session->dialog_id; session->wake_dura_us = twt_session->wake_dura_us; session->wake_intvl_us = twt_session->wake_intvl_us; session->sp_offset_us = twt_session->sp_offset_us; + session->sp_tsf_us_lo = twt_session->sp_tsf_us_lo; + session->sp_tsf_us_hi = twt_session->sp_tsf_us_hi; WMI_LOGD("type=%d,id=%d,bcast=%d,trig=%d", session->event_type, session->flow_id, session->bcast, session->trig);