Browse Source

qcacmn: Add call for SAWF TX enqueue stats update

Add call for SAWF Tx stats enqueue update

CRs-Fixed: 3146113
Change-Id: I461d6d4fc03541d4b8fffec48264197c5ab1c97d
Vivek 3 years ago
parent
commit
ab4011fd69
1 changed files with 8 additions and 4 deletions
  1. 8 4
      dp/wifi3.0/li/dp_li_tx.c

+ 8 - 4
dp/wifi3.0/li/dp_li_tx.c

@@ -349,12 +349,12 @@ void dp_sawf_config_li(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 	if (!wlan_cfg_get_sawf_config(soc->wlan_cfg_ctx))
 	if (!wlan_cfg_get_sawf_config(soc->wlan_cfg_ctx))
 		return;
 		return;
 
 
-	dp_sawf_tcl_cmd(fw_metadata, nbuf);
 	q_id = dp_sawf_queue_id_get(nbuf);
 	q_id = dp_sawf_queue_id_get(nbuf);
-
 	if (q_id == DP_SAWF_DEFAULT_Q_INVALID)
 	if (q_id == DP_SAWF_DEFAULT_Q_INVALID)
 		return;
 		return;
 
 
+	dp_sawf_tcl_cmd(fw_metadata, nbuf);
+
 	search_index = dp_sawf_get_search_index(soc, nbuf, vdev_id,
 	search_index = dp_sawf_get_search_index(soc, nbuf, vdev_id,
 						q_id);
 						q_id);
 	hal_tx_desc_set_hlos_tid(hal_tx_desc_cached, (q_id & 0x7));
 	hal_tx_desc_set_hlos_tid(hal_tx_desc_cached, (q_id & 0x7));
@@ -363,15 +363,16 @@ void dp_sawf_config_li(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 	hal_tx_desc_set_search_index_li(soc->hal_soc, hal_tx_desc_cached,
 	hal_tx_desc_set_search_index_li(soc->hal_soc, hal_tx_desc_cached,
 					search_index);
 					search_index);
 }
 }
-
 #else
 #else
-
 static inline
 static inline
 void dp_sawf_config_li(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 void dp_sawf_config_li(struct dp_soc *soc, uint32_t *hal_tx_desc_cached,
 		       uint16_t *fw_metadata, uint16_t vdev_id,
 		       uint16_t *fw_metadata, uint16_t vdev_id,
 		       qdf_nbuf_t nbuf)
 		       qdf_nbuf_t nbuf)
 {
 {
 }
 }
+
+#define dp_sawf_tx_enqueue_peer_stats(soc, tx_desc)
+#define dp_sawf_tx_enqueue_fail_peer_stats(soc, tx_desc)
 #endif
 #endif
 
 
 QDF_STATUS
 QDF_STATUS
@@ -431,6 +432,7 @@ dp_tx_hw_enqueue_li(struct dp_soc *soc, struct dp_vdev *vdev,
 	if (dp_sawf_tag_valid_get(tx_desc->nbuf)) {
 	if (dp_sawf_tag_valid_get(tx_desc->nbuf)) {
 		dp_sawf_config_li(soc, hal_tx_desc_cached, &fw_metadata,
 		dp_sawf_config_li(soc, hal_tx_desc_cached, &fw_metadata,
 				  vdev->vdev_id, tx_desc->nbuf);
 				  vdev->vdev_id, tx_desc->nbuf);
+		dp_sawf_tx_enqueue_peer_stats(soc, tx_desc);
 	}
 	}
 
 
 	hal_tx_desc_set_fw_metadata(hal_tx_desc_cached, fw_metadata);
 	hal_tx_desc_set_fw_metadata(hal_tx_desc_cached, fw_metadata);
@@ -480,6 +482,7 @@ dp_tx_hw_enqueue_li(struct dp_soc *soc, struct dp_vdev *vdev,
 			 __func__, __LINE__, hal_ring_hdl);
 			 __func__, __LINE__, hal_ring_hdl);
 		DP_STATS_INC(soc, tx.tcl_ring_full[ring_id], 1);
 		DP_STATS_INC(soc, tx.tcl_ring_full[ring_id], 1);
 		DP_STATS_INC(vdev, tx_i.dropped.enqueue_fail, 1);
 		DP_STATS_INC(vdev, tx_i.dropped.enqueue_fail, 1);
+		dp_sawf_tx_enqueue_fail_peer_stats(soc, tx_desc);
 		return status;
 		return status;
 	}
 	}
 
 
@@ -492,6 +495,7 @@ dp_tx_hw_enqueue_li(struct dp_soc *soc, struct dp_vdev *vdev,
 		dp_verbose_debug("TCL ring full ring_id:%d", ring_id);
 		dp_verbose_debug("TCL ring full ring_id:%d", ring_id);
 		DP_STATS_INC(soc, tx.tcl_ring_full[ring_id], 1);
 		DP_STATS_INC(soc, tx.tcl_ring_full[ring_id], 1);
 		DP_STATS_INC(vdev, tx_i.dropped.enqueue_fail, 1);
 		DP_STATS_INC(vdev, tx_i.dropped.enqueue_fail, 1);
+		dp_sawf_tx_enqueue_fail_peer_stats(soc, tx_desc);
 		goto ring_access_fail;
 		goto ring_access_fail;
 	}
 	}