Browse Source

qcacmn: Enable support for Tx OTA Ack stats

Retrieve Tx OTA stats through cdp api.

Change-Id: I4bff475e4f3364fef181b4c52022a145a879a4c4
CRs-Fixed: 2211900
Alok Kumar 7 years ago
parent
commit
f1d9fe23cf
2 changed files with 24 additions and 1 deletions
  1. 23 1
      dp/inc/cdp_txrx_misc.h
  2. 1 0
      dp/inc/cdp_txrx_ops.h

+ 23 - 1
dp/inc/cdp_txrx_misc.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -341,6 +341,28 @@ cdp_get_vdev_id(ol_txrx_soc_handle soc, struct cdp_vdev *vdev)
 	return 0;
 }
 
+/**
+ * cdp_get_tx_ack_stats() - get tx ack count for vdev
+ * @soc - data path soc handle
+ * @vdev_id - vdev id
+ *
+ * return tx ack count
+ *          0 invalid count
+ */
+static inline uint32_t
+cdp_get_tx_ack_stats(ol_txrx_soc_handle soc, uint8_t vdev_id)
+{
+	if (!soc || !soc->ops || !soc->ops->misc_ops) {
+		QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_FATAL,
+			"%s invalid instance", __func__);
+		return 0;
+	}
+
+	if (soc->ops->misc_ops->get_tx_ack_stats)
+		return soc->ops->misc_ops->get_tx_ack_stats(vdev_id);
+	return 0;
+}
+
 /**
  * cdp_bad_peer_txctl_set_setting() - TBD
  * @soc - data path soc handle

+ 1 - 0
dp/inc/cdp_txrx_ops.h

@@ -778,6 +778,7 @@ struct cdp_misc_ops {
 	qdf_nbuf_t (*tx_non_std)(struct cdp_vdev *vdev,
 		enum ol_tx_spec tx_spec, qdf_nbuf_t msdu_list);
 	uint16_t (*get_vdev_id)(struct cdp_vdev *vdev);
+	uint32_t (*get_tx_ack_stats)(uint8_t vdev_id);
 	QDF_STATUS (*set_wisa_mode)(struct cdp_vdev *vdev, bool enable);
 	QDF_STATUS (*txrx_data_stall_cb_register)(data_stall_detect_cb cb);
 	QDF_STATUS (*txrx_data_stall_cb_deregister)(data_stall_detect_cb cb);