Răsfoiți Sursa

qcacmn: Add support to reset SOC rx ext stats

Add CDP interface to support reset of soc rx ext stats.

Change-Id: I381f9b6b27d8d023b1932b7d8587df240c1ff4d0
CRs-Fixed: 2889565
Yeshwanth Sriram Guntuka 4 ani în urmă
părinte
comite
b23bcc8b6b
3 a modificat fișierele cu 35 adăugiri și 0 ștergeri
  1. 18 0
      dp/inc/cdp_txrx_misc.h
  2. 1 0
      dp/inc/cdp_txrx_ops.h
  3. 16 0
      dp/wifi3.0/dp_main.c

+ 18 - 0
dp/inc/cdp_txrx_misc.h

@@ -817,6 +817,24 @@ cdp_request_rx_hw_stats(ol_txrx_soc_handle soc, uint8_t vdev_id)
 	return QDF_STATUS_SUCCESS;
 }
 
+/**
+ * cdp_reset_rx_hw_ext_stats(): reset rx hw ext stats
+ * @soc: soc handle
+ *
+ * Return: none
+ */
+static inline void
+cdp_reset_rx_hw_ext_stats(ol_txrx_soc_handle soc)
+{
+	if (!soc || !soc->ops || !soc->ops->misc_ops) {
+		dp_cdp_debug("Invalid Instance");
+		return;
+	}
+
+	if (soc->ops->misc_ops->reset_rx_hw_ext_stats)
+		soc->ops->misc_ops->reset_rx_hw_ext_stats(soc);
+}
+
 /**
  * cdp_vdev_inform_ll_conn() - Inform DP about the low latency connection
  * @soc: soc handle

+ 1 - 0
dp/inc/cdp_txrx_ops.h

@@ -1283,6 +1283,7 @@ struct cdp_misc_ops {
 					     struct cdp_txrx_ext_stats *req);
 	QDF_STATUS (*request_rx_hw_stats)(struct cdp_soc_t *soc_hdl,
 					  uint8_t vdev_id);
+	void (*reset_rx_hw_ext_stats)(struct cdp_soc_t *soc_hdl);
 	QDF_STATUS (*vdev_inform_ll_conn)(struct cdp_soc_t *soc_hdl,
 					  uint8_t vdev_id,
 					  enum vdev_ll_conn_actions action);

+ 16 - 0
dp/wifi3.0/dp_main.c

@@ -12119,6 +12119,21 @@ out:
 
 	return status;
 }
+
+/**
+ * dp_reset_rx_hw_ext_stats - Reset rx hardware ext stats
+ * @soc_hdl: soc handle
+ *
+ * Return: None
+ */
+static
+void dp_reset_rx_hw_ext_stats(struct cdp_soc_t *soc_hdl)
+{
+	struct dp_soc *soc = (struct dp_soc *)soc_hdl;
+
+	soc->ext_stats.rx_mpdu_received = 0;
+	soc->ext_stats.rx_mpdu_missed = 0;
+}
 #endif /* WLAN_FEATURE_STATS_EXT */
 
 #ifdef DP_PEER_EXTENDED_API
@@ -12144,6 +12159,7 @@ static struct cdp_misc_ops dp_ops_misc = {
 #ifdef WLAN_FEATURE_STATS_EXT
 	.txrx_ext_stats_request = dp_txrx_ext_stats_request,
 	.request_rx_hw_stats = dp_request_rx_hw_stats,
+	.reset_rx_hw_ext_stats = dp_reset_rx_hw_ext_stats,
 #endif /* WLAN_FEATURE_STATS_EXT */
 	.vdev_inform_ll_conn = dp_vdev_inform_ll_conn,
 #ifdef WLAN_DP_FEATURE_SW_LATENCY_MGR