|
@@ -69,14 +69,19 @@ 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;
|
|
@@ -85,6 +90,21 @@ void ol_rx_send_pktlog_event(struct ol_txrx_pdev_t *pdev,
|
|
|
|
|
|
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;
|
|
|
+
|
|
|
+ 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);
|
|
|
+}
|
|
|
+#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
|