qcacmn: Update stats in dp_txrx_peer in per packet path

Update stats in dp_txrx_peer in per packet Tx completion and
Rx path.

Change-Id: I807cb5ca9fe2aeeabdd4cb95d6e30cb9781560f4
CRs-Fixed: 3092123
此提交包含在:
Harsh Kumar Bijlani
2021-12-19 21:59:25 +05:30
提交者 Madan Koyyalamudi
父節點 27e9e64532
當前提交 93cd9e0af8
共有 10 個檔案被更改,包括 476 行新增272 行删除

查看文件

@@ -4458,17 +4458,18 @@ static QDF_STATUS dp_peer_stats_update_protocol_test_cnt(struct dp_vdev *vdev,
void dp_vdev_peer_stats_update_protocol_cnt(struct dp_vdev *vdev,
qdf_nbuf_t nbuf,
struct dp_peer *peer,
struct dp_txrx_peer *txrx_peer,
bool is_egress,
bool is_rx)
{
struct cdp_peer_stats *peer_stats;
struct dp_peer_per_pkt_stats *per_pkt_stats;
struct protocol_trace_count *protocol_trace_cnt;
enum cdp_protocol_trace prot;
struct dp_soc *soc;
struct ether_header *eh;
char *mac;
bool new_peer_ref = false;
struct dp_peer *peer = NULL;
if (qdf_likely(!vdev->peer_protocol_count_track))
return;
@@ -4485,14 +4486,18 @@ void dp_vdev_peer_stats_update_protocol_cnt(struct dp_vdev *vdev,
else
mac = eh->ether_dhost;
if (!peer) {
if (!txrx_peer) {
peer = dp_peer_find_hash_find(soc, mac, 0, vdev->vdev_id,
DP_MOD_ID_GENERIC_STATS);
new_peer_ref = true;
if (!peer)
return;
txrx_peer = peer->txrx_peer;
if (!txrx_peer)
goto dp_vdev_peer_stats_update_protocol_cnt_free_peer;
}
peer_stats = &peer->stats;
per_pkt_stats = &txrx_peer->stats.per_pkt_stats;
if (qdf_nbuf_is_icmp_pkt(nbuf) == true)
prot = CDP_TRACE_ICMP;
@@ -4504,9 +4509,9 @@ void dp_vdev_peer_stats_update_protocol_cnt(struct dp_vdev *vdev,
goto dp_vdev_peer_stats_update_protocol_cnt_free_peer;
if (is_rx)
protocol_trace_cnt = peer_stats->rx.protocol_trace_cnt;
protocol_trace_cnt = per_pkt_stats->rx.protocol_trace_cnt;
else
protocol_trace_cnt = peer_stats->tx.protocol_trace_cnt;
protocol_trace_cnt = per_pkt_stats->tx.protocol_trace_cnt;
if (is_egress)
protocol_trace_cnt[prot].egress_cnt++;