summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@codeaurora.org>2016-10-05 13:52:34 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-10-07 11:34:52 +0530
commitd4bd27b6de620db9976f52500b90873675aa59cd (patch)
tree9ee9bbdbac9a8a7f3979ac90fd9b79607ac49987
parent733c2b94c7af0090beeb62195ee6855c9909f4fb (diff)
qcacld-2.0: Fix DPTRACE implementation in rx path
Fix DPTRACE implementation in rx path by: 1) Adding NBUF_SET_PACKET_TRACK for data packet in ol_rx_offload_paddr_deliver_ind_handler. 2) Using correct API for setting packet track for data packet in htt_rx_amsdu_rx_in_order_pop_ll. Change-Id: Iab77f19ee0040d601b3e91013d08a04362b3d4a9 CRs-Fixed: 1074435
-rw-r--r--CORE/CLD_TXRX/HTT/htt_rx.c2
-rw-r--r--CORE/CLD_TXRX/TXRX/ol_rx.c1
-rw-r--r--CORE/SERVICES/COMMON/adf/linux/adf_nbuf_pvt.h24
3 files changed, 10 insertions, 17 deletions
diff --git a/CORE/CLD_TXRX/HTT/htt_rx.c b/CORE/CLD_TXRX/HTT/htt_rx.c
index 6dc8dc553270..fa6c1bb68547 100644
--- a/CORE/CLD_TXRX/HTT/htt_rx.c
+++ b/CORE/CLD_TXRX/HTT/htt_rx.c
@@ -1903,7 +1903,7 @@ htt_rx_amsdu_rx_in_order_pop_ll(
adf_nbuf_pull_head(msdu, HTT_RX_STD_DESC_RESERVATION);
adf_dp_trace_set_track(msdu, ADF_RX);
- ADF_NBUF_CB_RX_PACKET_TRACE(msdu) = NBUF_TX_PKT_DATA_TRACK;
+ NBUF_SET_PACKET_TRACK(msdu, NBUF_TX_PKT_DATA_TRACK);
ol_rx_log_packet(pdev, peer_id, msdu);
DPTRACE(adf_dp_trace(msdu,
ADF_DP_TRACE_RX_HTT_PACKET_PTR_RECORD,
diff --git a/CORE/CLD_TXRX/TXRX/ol_rx.c b/CORE/CLD_TXRX/TXRX/ol_rx.c
index 87a680af2189..8cf760a5500f 100644
--- a/CORE/CLD_TXRX/TXRX/ol_rx.c
+++ b/CORE/CLD_TXRX/TXRX/ol_rx.c
@@ -1372,6 +1372,7 @@ ol_rx_offload_paddr_deliver_ind_handler(
peer = ol_txrx_peer_find_by_id(htt_pdev->txrx_pdev, peer_id);
if (peer && peer->vdev) {
adf_dp_trace_set_track(head_buf, ADF_RX);
+ NBUF_SET_PACKET_TRACK(head_buf, NBUF_TX_PKT_DATA_TRACK);
adf_dp_trace_log_pkt(peer->vdev->vdev_id,
head_buf, ADF_RX);
DPTRACE(adf_dp_trace(head_buf,
diff --git a/CORE/SERVICES/COMMON/adf/linux/adf_nbuf_pvt.h b/CORE/SERVICES/COMMON/adf/linux/adf_nbuf_pvt.h
index 13a1339a947f..e95a0b63b53e 100644
--- a/CORE/SERVICES/COMMON/adf/linux/adf_nbuf_pvt.h
+++ b/CORE/SERVICES/COMMON/adf/linux/adf_nbuf_pvt.h
@@ -65,17 +65,6 @@ typedef void (*__adf_nbuf_callback_fn) (struct sk_buff *skb);
#define CVG_NBUF_MAX_EXTRA_FRAGS 2
typedef void (*adf_nbuf_trace_update_t)(char *);
-struct nbuf_rx_cb {
- uint8_t dp_trace:1,
- reserved:7;
- uint8_t packet_trace;
-};
-
-#define ADF_NBUF_CB_RX_DP_TRACE(skb) \
- (((struct nbuf_rx_cb*)((skb)->cb))->dp_trace)
-
-#define ADF_NBUF_CB_RX_PACKET_TRACE(skb) \
- (((struct nbuf_rx_cb*)((skb)->cb))->packet_trace)
struct cvg_nbuf_cb {
/*
@@ -99,10 +88,10 @@ struct cvg_nbuf_cb {
* Store info for data path tracing
*/
struct {
- uint8_t packet_state: 4;
- uint8_t packet_track: 2;
- uint8_t dp_trace: 1;
- uint8_t dp_trace_reserved: 1;
+ uint8_t packet_state:4;
+ uint8_t packet_track:2;
+ uint8_t dp_trace_tx:1;
+ uint8_t dp_trace_rx:1;
} trace;
/*
@@ -271,7 +260,10 @@ struct cvg_nbuf_cb {
adf_nbuf_set_state(skb, PACKET_STATE)
#define ADF_NBUF_CB_TX_DP_TRACE(skb) \
- (((struct cvg_nbuf_cb *)((skb)->cb))->trace.dp_trace)
+ (((struct cvg_nbuf_cb *)((skb)->cb))->trace.dp_trace_tx)
+
+#define ADF_NBUF_CB_RX_DP_TRACE(skb) \
+ (((struct cvg_nbuf_cb *)((skb)->cb))->trace.dp_trace_rx)
#define ADF_NBUF_GET_IS_EAPOL(skb) \
(((struct cvg_nbuf_cb *)((skb)->cb))->packet_type.is_eapol)