ソースを参照

qcacmn: Add subscription for PPDU_START_USER_INFO TLV

In Beryllium architecture, PPDU_START_USER_INFO TLV carries
the user specific info for each user in a given ppdu.

Add subscription for this TLV by host for enhanced stats use case.

Change-Id: Ia12c5c3ab36198e7cd40dad0c0d92b945d2b49c6
CRs-Fixed: 3166305
Harsh Kumar Bijlani 3 年 前
コミット
9aa4e0f9f5

+ 2 - 0
dp/wifi3.0/dp_htt.c

@@ -1608,6 +1608,8 @@ int htt_h2t_rx_ring_cfg(struct htt_soc *htt_soc, int pdev_id,
 		htt_tlv_filter->ppdu_end_user_stats_ext);
 	htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, PPDU_END_STATUS_DONE,
 		htt_tlv_filter->ppdu_end_status_done);
+	htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, PPDU_START_USER_INFO,
+		htt_tlv_filter->ppdu_start_user_info);
 	/* RESERVED bit maps to header_per_msdu in htt_tlv_filter*/
 	 htt_rx_ring_tlv_filter_in_enable_set(tlv_filter, RESERVED,
 		 htt_tlv_filter->header_per_msdu);

+ 1 - 0
dp/wifi3.0/dp_htt.h

@@ -633,6 +633,7 @@ struct htt_rx_ring_tlv_filter {
 		ppdu_end_user_stats:1,
 		ppdu_end_user_stats_ext:1,
 		ppdu_end_status_done:1,
+		ppdu_start_user_info:1,
 		header_per_msdu:1,
 		enable_fp:1,
 		enable_md:1,

+ 3 - 0
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

@@ -1060,6 +1060,7 @@ void dp_mon_filter_setup_enhanced_stats_2_0(struct dp_pdev *pdev)
 	rx_tlv_filter->tlv_filter.mo_mgmt_filter = 0;
 	rx_tlv_filter->tlv_filter.mo_ctrl_filter = 0;
 	rx_tlv_filter->tlv_filter.mo_data_filter = 0;
+	rx_tlv_filter->tlv_filter.ppdu_start_user_info = 1;
 	/* Enabled the filter */
 	rx_tlv_filter->valid = true;
 
@@ -1332,6 +1333,8 @@ static void dp_rx_mon_filter_show_filter(struct dp_mon_filter_be *filter)
 			    rx_tlv_filter->ppdu_end_user_stats_ext);
 	DP_MON_FILTER_PRINT("ppdu_end_status_done: %d",
 			    rx_tlv_filter->ppdu_end_status_done);
+	DP_MON_FILTER_PRINT("ppdu_start_user_info: %d",
+			    rx_tlv_filter->ppdu_start_user_info);
 	DP_MON_FILTER_PRINT("header_per_msdu: %d",
 			    rx_tlv_filter->header_per_msdu);
 	DP_MON_FILTER_PRINT("enable_fp: %d", rx_tlv_filter->enable_fp);

+ 2 - 0
dp/wifi3.0/monitor/dp_mon_filter.c

@@ -79,6 +79,8 @@ void dp_mon_filter_show_filter(struct dp_mon_pdev *mon_pdev,
 			    tlv_filter->ppdu_end_user_stats_ext);
 	DP_MON_FILTER_PRINT("ppdu_end_status_done: %d",
 			    tlv_filter->ppdu_end_status_done);
+	DP_MON_FILTER_PRINT("ppdu_start_user_info: %d",
+			    tlv_filter->ppdu_start_user_info);
 	DP_MON_FILTER_PRINT("header_per_msdu: %d", tlv_filter->header_per_msdu);
 	DP_MON_FILTER_PRINT("enable_fp: %d", tlv_filter->enable_fp);
 	DP_MON_FILTER_PRINT("enable_md: %d", tlv_filter->enable_md);