mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 16:16:15 -04:00
qcacld-3.0: Log rx packet in packetlog as per rx ind message
Log rx packet in packetlog as per HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND message from firmware. CRs-Fixed: 970647 Change-Id: I5773b67a9269063531d038d46ac404c978818dcc
This commit is contained in:
parent
9808c1d8ef
commit
d59b3b253e
3 changed files with 42 additions and 4 deletions
|
|
@ -1937,6 +1937,14 @@ void htt_rx_mon_note_capture_channel(htt_pdev_handle pdev, int mon_ch)
|
|||
extern void
|
||||
dump_pkt(qdf_nbuf_t nbuf, uint32_t nbuf_paddr, int len);
|
||||
|
||||
uint32_t htt_rx_amsdu_rx_in_order_get_pktlog(qdf_nbuf_t rx_ind_msg)
|
||||
{
|
||||
uint32_t *msg_word;
|
||||
|
||||
msg_word = (uint32_t *) qdf_nbuf_data(rx_ind_msg);
|
||||
return HTT_RX_IN_ORD_PADDR_IND_PKTLOG_GET(*msg_word);
|
||||
}
|
||||
|
||||
/* Return values: 1 - success, 0 - failure */
|
||||
int
|
||||
htt_rx_amsdu_rx_in_order_pop_ll(htt_pdev_handle pdev,
|
||||
|
|
|
|||
|
|
@ -862,4 +862,7 @@ htt_rx_offload_paddr_msdu_pop_ll(htt_pdev_handle pdev,
|
|||
int *tid,
|
||||
uint8_t *fw_desc,
|
||||
qdf_nbuf_t *head_buf, qdf_nbuf_t *tail_buf);
|
||||
|
||||
uint32_t htt_rx_amsdu_rx_in_order_get_pktlog(qdf_nbuf_t rx_ind_msg);
|
||||
|
||||
#endif /* _OL_HTT_RX_API__H_ */
|
||||
|
|
|
|||
|
|
@ -69,11 +69,30 @@ void ol_rx_data_process(struct ol_txrx_peer_t *peer,
|
|||
* @pdev: pdev handle
|
||||
* @peer: peer handle
|
||||
* @msdu: skb list
|
||||
* @pktlog_bit: packetlog bit from firmware
|
||||
*
|
||||
* Return: none
|
||||
*/
|
||||
#ifdef HELIUMPLUS
|
||||
void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
|
||||
struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu)
|
||||
struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
|
||||
{
|
||||
struct ol_rx_remote_data data;
|
||||
|
||||
if (!pktlog_bit)
|
||||
return;
|
||||
|
||||
data.msdu = msdu;
|
||||
if (peer)
|
||||
data.mac_id = peer->vdev->mac_id;
|
||||
else
|
||||
data.mac_id = 0;
|
||||
|
||||
wdi_event_handler(WDI_EVENT_RX_DESC_REMOTE, pdev, &data);
|
||||
}
|
||||
#else
|
||||
void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
|
||||
struct ol_txrx_peer_t *peer, qdf_nbuf_t msdu, uint8_t pktlog_bit)
|
||||
{
|
||||
struct ol_rx_remote_data data;
|
||||
|
||||
|
|
@ -85,6 +104,7 @@ void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
|
|||
|
||||
wdi_event_handler(WDI_EVENT_RX_DESC_REMOTE, pdev, &data);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HTT_RX_RESTORE
|
||||
|
||||
|
|
@ -529,7 +549,7 @@ ol_rx_indication_handler(ol_txrx_pdev_handle pdev,
|
|||
|
||||
/* Pktlog */
|
||||
#ifdef WDI_EVENT_ENABLE
|
||||
ol_rx_send_pktlog_event(pdev, peer, head_msdu);
|
||||
ol_rx_send_pktlog_event(pdev, peer, head_msdu, 1);
|
||||
#endif
|
||||
|
||||
if (msdu_chaining) {
|
||||
|
|
@ -607,7 +627,7 @@ ol_rx_indication_handler(ol_txrx_pdev_handle pdev,
|
|||
if (status != htt_rx_status_ctrl_mgmt_null) {
|
||||
/* Pktlog */
|
||||
ol_rx_send_pktlog_event(pdev,
|
||||
peer, head_msdu);
|
||||
peer, head_msdu, 1);
|
||||
}
|
||||
#endif
|
||||
if (status == htt_rx_status_err_inv_peer) {
|
||||
|
|
@ -1309,6 +1329,9 @@ ol_rx_in_order_indication_handler(ol_txrx_pdev_handle pdev,
|
|||
htt_pdev_handle htt_pdev = NULL;
|
||||
int status;
|
||||
qdf_nbuf_t head_msdu, tail_msdu = NULL;
|
||||
#ifdef WDI_EVENT_ENABLE
|
||||
uint8_t pktlog_bit;
|
||||
#endif
|
||||
|
||||
if (pdev) {
|
||||
if (qdf_unlikely(QDF_GLOBAL_MONITOR_MODE == cds_get_conparam()))
|
||||
|
|
@ -1328,6 +1351,10 @@ ol_rx_in_order_indication_handler(ol_txrx_pdev_handle pdev,
|
|||
__func__, __LINE__, rx_ind_msg, peer_id, tid, is_offload);
|
||||
#endif
|
||||
|
||||
#ifdef WDI_EVENT_ENABLE
|
||||
pktlog_bit = (htt_rx_amsdu_rx_in_order_get_pktlog(rx_ind_msg) == 0x01);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Get a linked list of the MSDUs in the rx in order indication.
|
||||
* This also attaches each rx MSDU descriptor to the
|
||||
|
|
@ -1351,7 +1378,7 @@ ol_rx_in_order_indication_handler(ol_txrx_pdev_handle pdev,
|
|||
|
||||
/* Pktlog */
|
||||
#ifdef WDI_EVENT_ENABLE
|
||||
ol_rx_send_pktlog_event(pdev, peer, head_msdu);
|
||||
ol_rx_send_pktlog_event(pdev, peer, head_msdu, pktlog_bit);
|
||||
#endif
|
||||
|
||||
/* if this is an offload indication, peer id is carried in the
|
||||
|
|
|
|||
Loading…
Reference in a new issue