Prechádzať zdrojové kódy

qcacmn: Add dp_update_msdu_to_list function to dp_mon_ops struct

This patch adds the function dp_update_msdu_to_list to dp_mon_ops
struct. This is needed for supporting tx capture module in NSS
offload.

Change-Id: Id36aa6d1442eed4112585807e8798fc28ccdc424
Pavithra R 3 rokov pred
rodič
commit
4a84bdb2ad

+ 10 - 0
dp/wifi3.0/dp_internal.h

@@ -311,6 +311,16 @@ QDF_STATUS monitor_tx_add_to_comp_queue(struct dp_soc *soc,
 	return QDF_STATUS_E_FAILURE;
 }
 
+static inline
+QDF_STATUS monitor_update_msdu_to_list(struct dp_soc *soc,
+				       struct dp_pdev *pdev,
+				       struct dp_peer *peer,
+				       struct hal_tx_completion_status *ts,
+				       qdf_nbuf_t netbuf)
+{
+	return QDF_STATUS_E_FAILURE;
+}
+
 static inline bool monitor_ppdu_stats_ind_handler(struct htt_soc *soc,
 						  uint32_t *msg_word,
 						  qdf_nbuf_t htt_t2h_msg)

+ 1 - 0
dp/wifi3.0/monitor/dp_mon.c

@@ -5603,6 +5603,7 @@ static struct dp_mon_ops monitor_ops = {
 	.mon_tx_capture_debugfs_init = dp_tx_capture_debugfs_init,
 	.mon_tx_add_to_comp_queue = dp_tx_add_to_comp_queue,
 	.mon_peer_tx_capture_filter_check = dp_peer_tx_capture_filter_check,
+	.mon_update_msdu_to_list = dp_update_msdu_to_list,
 #endif
 #if defined(WDI_EVENT_ENABLE) &&\
 	(defined(QCA_ENHANCED_STATS_SUPPORT) || !defined(REMOVE_PKT_LOG))

+ 58 - 0
dp/wifi3.0/monitor/dp_mon.h

@@ -88,6 +88,11 @@ struct dp_mon_ops {
 					       struct dp_tx_desc_s *desc,
 					       struct hal_tx_completion_status *ts,
 					       struct dp_peer *peer);
+	QDF_STATUS (*mon_update_msdu_to_list)(struct dp_soc *soc,
+					      struct dp_pdev *pdev,
+					      struct dp_peer *peer,
+					      struct hal_tx_completion_status *ts,
+					      qdf_nbuf_t netbuf);
 #endif
 #if defined(WDI_EVENT_ENABLE) &&\
 	(defined(QCA_ENHANCED_STATS_SUPPORT) || !defined(REMOVE_PKT_LOG))
@@ -498,6 +503,25 @@ QDF_STATUS dp_tx_add_to_comp_queue(struct dp_soc *soc,
 	return QDF_STATUS_E_FAILURE;
 }
 
+/**
+ * dp_update_msdu_to_list(): Function to queue msdu from wbm
+ * @pdev: dp_pdev
+ * @peer: dp_peer
+ * @ts: hal tx completion status
+ * @netbuf: msdu
+ *
+ * return: status
+ */
+static inline
+QDF_STATUS dp_update_msdu_to_list(struct dp_soc *soc,
+				  struct dp_pdev *pdev,
+				  struct dp_peer *peer,
+				  struct hal_tx_completion_status *ts,
+				  qdf_nbuf_t netbuf)
+{
+	return QDF_STATUS_E_FAILURE;
+}
+
 /*
  * dp_peer_tx_capture_filter_check: check filter is enable for the filter
  * and update tx_cap_enabled flag
@@ -1469,6 +1493,30 @@ QDF_STATUS monitor_tx_add_to_comp_queue(struct dp_soc *soc,
 	return monitor_ops->mon_tx_add_to_comp_queue(soc, desc, ts, peer);
 }
 
+static inline
+QDF_STATUS monitor_update_msdu_to_list(struct dp_soc *soc,
+				       struct dp_pdev *pdev,
+				       struct dp_peer *peer,
+				       struct hal_tx_completion_status *ts,
+				       qdf_nbuf_t netbuf)
+{
+	struct dp_mon_ops *monitor_ops;
+	struct dp_mon_soc *mon_soc = soc->monitor_soc;
+
+	if (!mon_soc) {
+		qdf_err("monitor soc is NULL");
+		return QDF_STATUS_SUCCESS;
+	}
+
+	monitor_ops = mon_soc->mon_ops;
+	if (!monitor_ops || !monitor_ops->mon_update_msdu_to_list) {
+		qdf_err("callback not registered");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	return monitor_ops->mon_update_msdu_to_list(soc, pdev, peer, ts, netbuf);
+}
+
 #else
 static inline void monitor_peer_tid_peer_id_update(struct dp_soc *soc,
 						   struct dp_peer *peer,
@@ -1503,6 +1551,16 @@ QDF_STATUS monitor_tx_add_to_comp_queue(struct dp_soc *soc,
 	return QDF_STATUS_E_FAILURE;
 }
 
+
+static inline
+QDF_STATUS monitor_update_msdu_to_list(struct dp_soc *soc,
+				       struct dp_pdev *pdev,
+				       struct dp_peer *peer,
+				       struct hal_tx_completion_status *ts,
+				       qdf_nbuf_t netbuf)
+{
+	return QDF_STATUS_E_FAILURE;
+}
 #endif
 
 #if defined(WDI_EVENT_ENABLE) &&\