qcacmn: Add WDI event for tx completion for packet capture mode

Add WDI event and call wdi event handler for tx completion for
packet capture mode.

Change-Id: I99225dda53effc6ab5a80a32aa8aa082543855b2
CRs-Fixed: 2844724
This commit is contained in:
Vulupala Shashank Reddy
2020-11-18 19:12:05 +05:30
committed by snandini
parent d56177bd21
commit 0366025b7f
3 changed files with 35 additions and 0 deletions

View File

@@ -363,6 +363,7 @@ enum WDI_EVENT {
WDI_EVENT_RX_MPDU, WDI_EVENT_RX_MPDU,
WDI_EVENT_HMWDS_AST_ADD_STATUS, WDI_EVENT_HMWDS_AST_ADD_STATUS,
WDI_EVENT_PEER_QOS_STATS, WDI_EVENT_PEER_QOS_STATS,
WDI_EVENT_PKT_CAPTURE_TX_DATA,
/* End of new event items */ /* End of new event items */
WDI_EVENT_LAST WDI_EVENT_LAST
}; };

View File

@@ -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)) {

View File

@@ -660,4 +660,16 @@ QDF_STATUS dp_peer_set_tx_capture_enabled(struct dp_pdev *pdev,
} }
#endif #endif
#ifdef WLAN_FEATURE_PKT_CAPTURE_LITHIUM
void dp_send_completion_to_pkt_capture(struct dp_soc *soc,
struct dp_tx_desc_s *desc,
struct hal_tx_completion_status *ts);
#else
static inline void
dp_send_completion_to_pkt_capture(struct dp_soc *soc,
struct dp_tx_desc_s *desc,
struct hal_tx_completion_status *ts)
{
}
#endif
#endif #endif