|
@@ -3815,6 +3815,25 @@ static inline void dp_tx_sojourn_stats_process(struct dp_pdev *pdev,
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#ifdef WLAN_FEATURE_PKT_CAPTURE_LITHIUM
|
|
|
|
+/**
|
|
|
|
+ * dp_send_completion_to_pkt_capture() - send tx completion to packet capture
|
|
|
|
+ * @soc: dp_soc handle
|
|
|
|
+ * @desc: Tx Descriptor
|
|
|
|
+ * @ts: HAL Tx completion descriptor contents
|
|
|
|
+ *
|
|
|
|
+ * This function is used to send tx completion to packet capture
|
|
|
|
+ */
|
|
|
|
+void dp_send_completion_to_pkt_capture(struct dp_soc *soc,
|
|
|
|
+ struct dp_tx_desc_s *desc,
|
|
|
|
+ struct hal_tx_completion_status *ts)
|
|
|
|
+{
|
|
|
|
+ dp_wdi_event_handler(WDI_EVENT_PKT_CAPTURE_TX_DATA, soc,
|
|
|
|
+ desc, ts->peer_id,
|
|
|
|
+ WDI_NO_VAL, desc->pdev->pdev_id);
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* dp_tx_comp_process_desc() - Process tx descriptor and free associated nbuf
|
|
* dp_tx_comp_process_desc() - Process tx descriptor and free associated nbuf
|
|
* @soc: DP Soc handle
|
|
* @soc: DP Soc handle
|
|
@@ -3838,6 +3857,9 @@ dp_tx_comp_process_desc(struct dp_soc *soc,
|
|
time_latency = (qdf_ktime_to_ms(qdf_ktime_real_get()) -
|
|
time_latency = (qdf_ktime_to_ms(qdf_ktime_real_get()) -
|
|
desc->timestamp);
|
|
desc->timestamp);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ dp_send_completion_to_pkt_capture(soc, desc, ts);
|
|
|
|
+
|
|
if (!(desc->msdu_ext_desc)) {
|
|
if (!(desc->msdu_ext_desc)) {
|
|
if (QDF_STATUS_SUCCESS ==
|
|
if (QDF_STATUS_SUCCESS ==
|
|
dp_tx_add_to_comp_queue(soc, desc, ts, peer)) {
|
|
dp_tx_add_to_comp_queue(soc, desc, ts, peer)) {
|