瀏覽代碼

qcacmn: Define CDP ops to get the SAWF stats

Define CDP ops to get delay and tx stats.

Change-Id: Ibe9e7e463dffa33b47a22cee723c579fd559f289
CRs-Fixed: 3136231
Ripan Deuri 3 年之前
父節點
當前提交
deb7232efe
共有 3 個文件被更改,包括 84 次插入0 次删除
  1. 10 0
      dp/inc/cdp_txrx_ops.h
  2. 70 0
      dp/inc/cdp_txrx_sawf.h
  3. 4 0
      dp/wifi3.0/dp_main.c

+ 10 - 0
dp/inc/cdp_txrx_ops.h

@@ -1912,6 +1912,16 @@ struct cdp_sawf_ops {
 	QDF_STATUS
 	(*sawf_def_queues_get_map_report)(struct cdp_soc_t *soc,
 					  uint8_t *mac_addr);
+#ifdef CONFIG_SAWF
+	QDF_STATUS
+	(*txrx_get_peer_sawf_delay_stats)(struct cdp_soc_t *soc,
+					  uint32_t svc_id, uint8_t *mac,
+					  void *data);
+	QDF_STATUS
+	(*txrx_get_peer_sawf_tx_stats)(struct cdp_soc_t *soc,
+				       uint32_t svc_id, uint8_t *mac,
+				       void *data);
+#endif
 };
 #endif
 

+ 70 - 0
dp/inc/cdp_txrx_sawf.h

@@ -72,4 +72,74 @@ cdp_sawf_peer_get_map_conf(ol_txrx_soc_handle soc,
 
 	return soc->ops->sawf_ops->sawf_def_queues_get_map_report(soc, mac);
 }
+
+#ifdef CONFIG_SAWF
+/**
+ * cdp_get_peer_sawf_delay_stats() - Call to get SAWF delay stats
+ * @soc: soc handle
+ * @svc_class_id: service class ID
+ * @mac: peer mac addrees
+ * @data: opaque pointer
+ *
+ * return: status Success/Failure
+ */
+static inline QDF_STATUS
+cdp_get_peer_sawf_delay_stats(ol_txrx_soc_handle soc, uint32_t svc_id,
+			      uint8_t *mac, void *data)
+{
+	if (!soc || !soc->ops) {
+		dp_cdp_debug("Invalid Instance");
+		QDF_BUG(0);
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	if (!soc->ops->sawf_ops ||
+	    !soc->ops->sawf_ops->txrx_get_peer_sawf_delay_stats)
+		return QDF_STATUS_E_FAILURE;
+
+	return soc->ops->sawf_ops->txrx_get_peer_sawf_delay_stats(soc, svc_id,
+								  mac, data);
+}
+
+/**
+ * cdp_get_peer_sawf_tx_stats() - Call to get SAWF Tx stats
+ * @soc: soc handle
+ * @svc_class_id: service class ID
+ * @mac: peer mac addrees
+ * @data: opaque pointer
+ *
+ * return: status Success/Failure
+ */
+static inline QDF_STATUS
+cdp_get_peer_sawf_tx_stats(ol_txrx_soc_handle soc, uint32_t svc_id,
+			   uint8_t *mac, void *data)
+{
+	if (!soc || !soc->ops) {
+		dp_cdp_debug("Invalid Instance");
+		QDF_BUG(0);
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	if (!soc->ops->sawf_ops ||
+	    !soc->ops->sawf_ops->txrx_get_peer_sawf_tx_stats)
+		return QDF_STATUS_E_FAILURE;
+
+	return soc->ops->sawf_ops->txrx_get_peer_sawf_tx_stats(soc, svc_id,
+							       mac, data);
+}
+#else
+static inline QDF_STATUS
+cdp_get_peer_sawf_delay_stats(ol_txrx_soc_handle soc, uint32_t svc_id,
+			      uint8_t *mac, void *data)
+{
+	return QDF_STATUS_E_FAILURE;
+}
+
+static inline QDF_STATUS
+cdp_get_peer_sawf_tx_stats(ol_txrx_soc_handle soc, uint32_t svc_id,
+			   uint8_t *mac, void *data)
+{
+	return QDF_STATUS_E_FAILURE;
+}
+#endif
 #endif /* _CDP_TXRX_SAWF_H_ */

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

@@ -12363,6 +12363,10 @@ static struct cdp_sawf_ops dp_ops_sawf = {
 	.sawf_def_queues_unmap_req = dp_sawf_def_queues_unmap_req,
 	.sawf_def_queues_get_map_report =
 		dp_sawf_def_queues_get_map_report,
+#ifdef CONFIG_SAWF
+	.txrx_get_peer_sawf_delay_stats = dp_sawf_get_peer_delay_stats,
+	.txrx_get_peer_sawf_tx_stats = dp_sawf_get_peer_tx_stats,
+#endif
 };
 #endif