Răsfoiți Sursa

Merge "qca-wifi: stats VoW IGMP improvements"

Linux Build Service Account 4 ani în urmă
părinte
comite
3d01d9aa1c
2 a modificat fișierele cu 12 adăugiri și 3 ștergeri
  1. 10 2
      dp/wifi3.0/dp_txrx_me.c
  2. 2 1
      dp/wifi3.0/dp_txrx_me.h

+ 10 - 2
dp/wifi3.0/dp_txrx_me.c

@@ -268,6 +268,7 @@ static void dp_tx_me_mem_free(struct dp_pdev *pdev,
  * @newmac: Table of the clients to which packets have to be sent
  * @new_mac_cnt: No of clients
  * @tid: desired tid
+ * @is_igmp: flag to indicate if packet is igmp
  *
  * return: no of converted packets
  */
@@ -275,7 +276,8 @@ uint16_t
 dp_tx_me_send_convert_ucast(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
 			    qdf_nbuf_t nbuf,
 			    uint8_t newmac[][QDF_MAC_ADDR_SIZE],
-			    uint8_t new_mac_cnt, uint8_t tid)
+			    uint8_t new_mac_cnt, uint8_t tid,
+			    bool is_igmp)
 {
 	struct dp_soc *soc = cdp_soc_t_to_dp_soc(soc_hdl);
 	struct dp_pdev *pdev;
@@ -442,7 +444,13 @@ dp_tx_me_send_convert_ucast(struct cdp_soc_t *soc_hdl, uint8_t vdev_id,
 		msdu_info.tid = tid;
 	}
 
-	DP_STATS_INC(vdev, tx_i.mcast_en.ucast, new_mac_cnt);
+	if (is_igmp) {
+		DP_STATS_INC(vdev, tx_i.igmp_mcast_en.igmp_ucast_converted,
+			     new_mac_cnt);
+	} else {
+		DP_STATS_INC(vdev, tx_i.mcast_en.ucast, new_mac_cnt);
+	}
+
 	dp_tx_send_msdu_multiple(vdev, nbuf, &msdu_info);
 
 	while (seg_info_head->next) {

+ 2 - 1
dp/wifi3.0/dp_txrx_me.h

@@ -21,7 +21,8 @@ uint16_t
 dp_tx_me_send_convert_ucast(struct cdp_soc_t *soc, uint8_t vdev_id,
 			    qdf_nbuf_t nbuf,
 			    uint8_t newmac[][QDF_MAC_ADDR_SIZE],
-			    uint8_t new_mac_cnt, uint8_t tid);
+			    uint8_t new_mac_cnt, uint8_t tid,
+			    bool is_igmp);
 void dp_tx_me_alloc_descriptor(struct cdp_soc_t *soc, uint8_t pdev_id);
 void dp_tx_me_free_descriptor(struct cdp_soc_t *soc, uint8_t pdev_id);
 void dp_tx_me_exit(struct dp_pdev *pdev);