qcacmn: fast TX API and registration

This is a new FAST TX API which avoids various checks.
This API will be called when SFE tags a pkt as fast_forwarded
and vap's fast_tx flag is set.

avoid additional re-checks in the wifi TX function

CRs-Fixed: 3218650
Change-Id: Iba17ede59652a1ff2af553f57de21dc58946298e
This commit is contained in:
Tallapragada Kalyan
2022-06-09 06:35:50 +05:30
committed by Madan Koyyalamudi
parent f6060a9296
commit 1b1b3adbea
13 changed files with 394 additions and 162 deletions

View File

@@ -7320,6 +7320,15 @@ dp_print_pdev_tx_stats(struct dp_pdev *pdev)
pdev->stats.tx_i.rcvd.num);
DP_PRINT_STATS(" Bytes = %llu",
pdev->stats.tx_i.rcvd.bytes);
DP_PRINT_STATS("Received from Stack in FP:");
DP_PRINT_STATS(" Packets = %llu",
pdev->stats.tx_i.rcvd_in_fast_xmit_flow);
DP_PRINT_STATS("Received from Stack per core:");
DP_PRINT_STATS(" Packets = %u %u %u %u",
pdev->stats.tx_i.rcvd_per_core[0],
pdev->stats.tx_i.rcvd_per_core[1],
pdev->stats.tx_i.rcvd_per_core[2],
pdev->stats.tx_i.rcvd_per_core[3]);
DP_PRINT_STATS("Processed:");
DP_PRINT_STATS(" Packets = %u",
pdev->stats.tx_i.processed.num);
@@ -8659,6 +8668,11 @@ void dp_update_pdev_ingress_stats(struct dp_pdev *tgtobj,
DP_STATS_AGGR_PKT(tgtobj, srcobj, tx_i.nawds_mcast);
DP_STATS_AGGR_PKT(tgtobj, srcobj, tx_i.rcvd);
DP_STATS_AGGR(tgtobj, srcobj, tx_i.rcvd_in_fast_xmit_flow);
DP_STATS_AGGR(tgtobj, srcobj, tx_i.rcvd_per_core[0]);
DP_STATS_AGGR(tgtobj, srcobj, tx_i.rcvd_per_core[1]);
DP_STATS_AGGR(tgtobj, srcobj, tx_i.rcvd_per_core[2]);
DP_STATS_AGGR(tgtobj, srcobj, tx_i.rcvd_per_core[3]);
DP_STATS_AGGR_PKT(tgtobj, srcobj, tx_i.processed);
DP_STATS_AGGR_PKT(tgtobj, srcobj, tx_i.reinject_pkts);
DP_STATS_AGGR_PKT(tgtobj, srcobj, tx_i.inspect_pkts);