Kaynağa Gözat

qcacmn: Add additional fields in wmi_twt_session_stats_info

Add below new fields in wmi_twt_session_stats_info required
for twt_session parameters and extract them.
protection flag, info_frame_disabled flag,
sp_tsf_us_lo & sp_tsf_us_hi

Change-Id: I3ca7fe44a1363c07d3a7db98086c66a1b7859eac
CRs-Fixed: 2730748
Visweswara Tanuku 4 yıl önce
ebeveyn
işleme
fbe384b6ac
2 değiştirilmiş dosya ile 21 ekleme ve 8 silme
  1. 16 8
      wmi/inc/wmi_unified_twt_param.h
  2. 5 0
      wmi/src/wmi_unified_twt_tlv.c

+ 16 - 8
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:

+ 5 - 0
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);