Commit-Graf

467 Incheckningar

Upphovsman SHA1 Meddelande Datum
Tallapragada Kalyan
1b1b3adbea 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
2022-08-19 16:15:21 -07:00
Ripan Deuri
28f25ca052 qcacmn: Support HW Tx delay stat
Use WLAN_CONFIG_TX_DELAY to enable HW Tx delay for both
SAWF and non-SAWF stats.

Change-Id: I6db7d386c0e3654f53398dcba1db7c5568544b0c
CRs-Fixed: 3262425
2022-08-17 04:58:14 -07:00
nakul kachhwaha
f9883deaec qcacmn: Add dp support for traffic end indication
Based on traffic end indication marked packet coming
from network stack, send indication packet to fw via
exception path to terminate ongoing SP.

Change-Id: Ia2be60d485be4b05665cf6b1684af9258417ffb1
CRs-Fixed: 3207392
2022-08-16 07:40:41 -07:00
Pavankumar Nandeshwar
a839cac207 qcacmn: Datapath changes for umac prereset handling
Handle Umac prereset event from firmware.

Change-Id: I1d3d295468e97ebce5e7310055abc508e16e99b0
CRs-Fixed: 3174560
2022-08-11 15:23:13 -07:00
Yu Tian
11df417c3b qcacmn: Add Link stats check before ring access directly
Throughput based RTPM logic of ring access may fail and
lead to NOC error in some corner cases. Change is aimed
to add additional link states check to prevent invalid SRNG
access.

Change-Id: I7e7edbadfd21b4857efa4faff0ada6d94d682f2c
CRs-Fixed: 3256702
2022-08-08 07:49:39 -07:00
nobelj
8d6fd579fb qcacmn: Add fix for memory leak
Added fix for two leak,
a) During wifi unload, buffer used in init need to be free during deinit.
b) Before buffer free, unmap is required for the buffer mapped to DMA.

Change-Id: I4e5a63b0c2aabb69367365e74961a63194144057
CRs-Fixed: 3157424
2022-08-05 15:16:16 -07:00
Nirav Shah
a87c585e12 qcacmn: Extend add timestamp logic for Beryllium
Extend add timestamp logic for Beryllium

Change-Id: I69604b83ce5fe7f112316148213d73fefc88ba9b
CRs-Fixed: 3245806
2022-08-02 01:14:53 -07:00
Roopavathi Lingampalli
fe86f0e080 qcacmn: Implement SWLM feature support for DP Component
Add DP component swlm support for cmn folder

Change-Id: I393c2f1a2b6182e651e7079874a5e949e256fb75
CRs-Fixed: 3243911
2022-07-27 13:26:24 -07:00
Jinwei Chen
694a2eb657 qcacmn: fix TX packet logging issue
Packet logging buffer is only 2048 bytes, if copy non-linear
TX packet with skb->len (like TSO) which is likely > 2048,
this will lead to skb panic as packet logging buffer can not
accommodate it.

Only support TX packet logging with single linear buffer.

Change-Id: I1d15f9ab80fcc1720fdb3f7fe8c89e7f5e3c0a79
CRs-Fixed: 3242090
2022-07-14 13:04:57 -07:00
Jinwei Chen
9d2b26795a qcacmn: add 11be TX/RX rate statistic support
Currently 11be msdu rate statistic is not supported yet.
Another issue is: HW reported pkt type value 6, while host
SW defined 11be type DOT11_BE (value 5), they are not matching.
DOT11_BE value 5 is referred in monitor mode and otherwhere,
so do map and conversion in host sw side.

Change-Id: Ic5c2dd2a35cbe0ecd6430f007b6e7e02ece40998
CRs-Fixed: 3230900
2022-07-05 03:19:03 -07:00
Neha Bisht
87596da3e4 qcacmn: Avoid qdf framework for nbuf free in Tx. simple path
Avoid qdf framework for nbuf_free in Tx. simple path.

Change-Id: Ic0a82279586a16f07625fc78d3e07d1a134af3a4
CRs-Fixed: 3224285
2022-06-29 04:31:25 -07:00
Chaithanya Garrepalli
bd0375c2de qcacmn: Remove unnecessary checks in Tx path
1. Remove prints in per packet path
2. Add prefecth for skb shinfo
3. Avoid qdf_get_cpu() in DP tx

Change-Id: I86d196cc7865a2d5b3a5a6098f6f7d84397a60d0
CRs-Fixed: 3227568
2022-06-28 14:00:52 -07:00
Ananya Gupta
e52231c86e qcacmn: Set bandwidth, MPDU retry threshold at peer register
Currently, bandwidth and corresponding MPDU retry threshold was
taken from tx packet status in per packet to update peer stats.
With this change, set bandwidth and MPDU retry threshold
during peer registration.

Change-Id: Iffd06968246d0b86b26716ae6672e2cd23360c67
CRs-Fixed: 3225479
2022-06-28 04:11:54 -07:00
Amit Mehta
6b576c65bb qcacmn: Add packet logging support for initial 32 packets
Add packet logging support by registering
Rx and Tx callback functions for packet logging of
initial 32 Tx and Rx packets.

Change-Id: I91b59b7c5f65f505e3ee730c497347be28955128
CRs-Fixed: 3224881
2022-06-23 07:03:56 -07:00
Ananya Gupta
8565e7029f qcacmn: Register DP, HTC, HAL modules with Runtime PM module
With restructuring in HIF runtime PM module, modules are
required to register with the HIF runtime PM module. Also,
changes are done in functions of allowing and preventing
runtime PM suspend as part of restructuring.
This change registers DP, HTC and HAL internal modules
with runtime PM module and update HIF runtime PM function
calls with the restructured code of HIF runtime PM module.

Change-Id: I8899a1d3b92a90a05c5eaf4df7609f4008f739f8
CRs-Fixed: 3169372
2022-06-18 23:11:24 -07:00
Ripan Deuri
0ffa79f0a4 qcacmn: Use CONFIG_SAWF macro for enabling HW Tx Delay
Use CONFIG_SAWF macro to prevent linking dp_set_delta_tsf in
low memory profile.

Change-Id: I07b75f893e6d043839225d9b7288823b6ef2f823
CRs-Fixed: 3211426
2022-06-08 17:10:16 -07:00
Amit Mehta
1507b1cde3 qcacmn: Add configurable threshold values
Introduce configurable threshold values to
increment MPDU retry count by transmit_cnt / threshold.

Change-Id: I1c039ff76854e18bea5a8d99d171936557d1c6bf
CRs-Fixed: 3210735
2022-06-02 06:49:34 -07:00
Ripan Deuri
74458d4542 qcacmn: Add function to calculate hardware Tx delay
Define a new function to calculate HW delay so that same logic
can be used to calculate delay by other modules.

Change-Id: Id3740bcaa2cd558b89ab02d8e88d5947eb5997b1
CRs-Fixed: 3198305
2022-05-27 18:06:34 -07:00
Srinivas Girigowda
85b76d5a6c qcacmn: Add counter in non-TQM based Tx completion path
Rate limit the log in non-TQM Tx completion path and add a counter
to increment whenever Tx completion status is received and release source
is non-TQM.

Change-Id: I8968ccc7a499577bd4fdfaef78e6520b00c12503
CRs-Fixed: 3201403
2022-05-26 20:03:25 -07:00
Sai Rupesh Chevuru
9d283234a7 qcacmn: In NAWDS, set host inspected bit for GSN based packets
In the case of NAWDS set the host inspected bit for
GSN based packets to avoid the FW reinjection.

Change-Id: Iee1653e9bebcd1ce6ef283a61d9c10a25b911a26
CRs-Fixed: 3203093
2022-05-26 13:34:33 -07:00
Sai Rupesh Chevuru
c1f2908102 qcacmn: Fix the tx desc buf leak issue
Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.

Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
2022-05-19 05:06:08 -07:00
Subrat Dash
46d50239e8 qcacmn: Microsecond time stamping for hw tx latency stats
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.

Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
2022-05-16 17:18:48 -07:00
Sai Rupesh Chevuru
7e099c5668 qcacmn: Add new MOD_ID for reinjected packets
Add new module id DP_MOD_ID_REINJECT for reinjected packets.

Change-Id: Ieae5a878d7b3084b32f6b7e6eb6c2bbd4a246480
CRs-Fixed: 3192306
2022-05-13 14:37:31 -07:00
Sai Rupesh Chevuru
c6742e5632 qcacmn: handling of wifi down/up scenarios for MLO MCAST
handling of wifi down/up scenarios for MLO MCAST

Change-Id: Ib2d47884612af73c798f1a9b4f74b9b47058fc08
CRs-Fixed: 3183831
2022-05-04 07:22:56 -07:00
chunquan
f9fa73c67e qcacmn: Remove WLAN_FEATURE_11BE_MLO from middle of function
Remove all WLAN_FEATURE_11BE_MLO from middle of function.

Change-Id: Icb826041416528bfe3c6e06d88116d3e359eb969
CRs-Fixed: 3175490
2022-04-25 08:58:22 -07:00
Sai Rupesh Chevuru
f52e7f0e38 qcacmn: Special cases handling in the case of multicast MLO
In the case of ME6, Backhaul WDS, NAWDS
1. Send the igmp pkt on the same link where it received,
   as these features will use peer based FW metadata.
2. Bypass the reinjection.

Change-Id: Idf0058e182257fbcedd8eb5fc8bcde945e8a91bc
CRs-Fixed: 3171558
2022-04-21 05:57:30 -07:00
Jinwei Chen
5f37239c73 qcacmn: Fix SAP DHCP ACK no TX Comp notify issue
When TX completion is released from FW, dp_tx_notify_completion()
will not be invoked, then TX DCHP ACK will miss
hdd_softap_notify_tx_compl_cbk() which then
WMI_PEER_CRIT_PROTO_HINT_ENABLED with value 0 will not send to FW.

(1) move dp_tx_notify_completion() from dp_tx_comp_process_desc_list()
to dp_tx_comp_process_tx_status(), so that both TX completion release
source FW or TQM case will call it.
(2) clear TX notify flag for intra-bss forwarding BC/MC to avoid
unnecessary TX completion notify.
(3) Set ts.status for release source FW case otherwise it will be value
0 always.

Change-Id: I2bf9900a3d16ba162a83b061f0b96e7d2f79423a
CRs-Fixed: 3178423
2022-04-21 03:20:36 -07:00
Sai Rupesh Chevuru
490ea7cc78 qcacmn: Avoiding the loop back packets between MLO NAWDS repeaters
Check for mld peer id instead of link peer id in the case of
intra bss forwarding between MLO NAWDS repeaters

Change-Id: I7af7f43e7f88c95b0debee85c0976fdb9a1c5519
CRs-Fixed: 3142943
2022-04-20 05:46:55 -07:00
Neha Bisht
6064df8467 qcacmn: Update code with peer_extended_stats instead of rdk_stats
With new configuration changes for enable_peer_extended stats, update
code to peer_extended_stats naming for clean codebase.

Change-Id: I97a7ee331042232098382683fefebd05e6b099c3
CRs-Fixed: 3149920
2022-04-20 01:37:59 -07:00
Sai Rupesh Chevuru
f179a624a1 qcacmn: HW reinjection support for MLO Multicast
Enabling HW based reinjection for MLO Multicast

Change-Id: Ie9663e0e90ae1ae0a07d229fd6d4c66787d4224a
CRs-Fixed: 3142397
2022-04-19 01:27:09 -07:00
Jinwei Chen
4b88dddd72 qcacmn: Remove tx_desc pool lock in dp_tx_notify_completion
dp_peer hold the peer ref_cnt outside of dp_tx_notify_completion()
already, so dp_vdev can not be freed during that period if dp_peer
exist, it's not necessary that hold dp tx_desc pool lock in
dp_tx_notify_completion() which will introduce lock contention with
TX/TX Comp path.

Remove tx_desc pool lock to optimize it.

Change-Id: I5fdb9143bbc0800db74f8595f77c5a2c96d8e7d6
CRs-Fixed: 3170805
2022-04-18 21:13:35 -07:00
Karthik Kantamneni
d98299184b qcacmn: Implement SWLM support for multi TX queue
Update SWLM data structures and API's to support
multi TX queue based traffic.

Change-Id: I67921a749b61b3c717f33f770095fbb4d3062e2f
CRs-Fixed: 3161165
2022-03-30 01:13:19 -07:00
Yeshwanth Sriram Guntuka
df666b7116 qcacmn: Add support to enable tx hw latency stats at run time
This feature can be enabled runtime using sysfs interface.
Support is added to dump and clear the histogram stats.

The lower delay regions has to be more granular to indicate any
medium related issues for time sensitive XR applications.

Change-Id: I0a44a54d12d92ce016de349810cb2bedebaf9a58
CRs-Fixed: 2981006
2022-03-24 06:47:10 -07:00
Yeshwanth Sriram Guntuka
68116c0a80 qcacmn: Send cmd to dump FW stats on suspend failure
Add support to send unit test command to FW to dump
stats on suspend failure due to pending tx completions.

Change-Id: I6afb69a862c366c66a1e1f3dc009964272dfb75a
CRs-Fixed: 3151458
2022-03-23 00:49:03 -07:00
Shwetha G K
617fa1ab3e qcacmn: Do not send multicast frames on non-primary link
Do not send multicast frames on non-primary link peer in
case of NAWDS

CRs-Fixed: 3154533
Change-Id: I1d7887efcde33d4320012f8f57ac9398f366fff3
2022-03-22 06:40:44 -07:00
Jinwei Chen
8180dff19c qcacmn: Update TX bank profile for STA + TDLS case
Search flag addrX and addrY will be enabled for STA + TDLS case,
but currently TX bank profile is not updated which then STA still
use default TX bank profile - index based lookup search, TX might
fail.

Update bank profile with addrX and addrY search enabled.

Change-Id: I6af12d3707b59c5d4b4bba1fc5ec05a22bfcd984
CRs-Fixed: 3148759
2022-03-16 07:50:27 -07:00
Nandha Kishore Easwaran
cf10304673 qcacmn: Add provision to set desc to higher value
Add support to change the tx_desc value to 65536. Some changes
to make the function argument as u32 type us made

Change-Id: I7cbde1b7ed4ab4e278c25c1ecfa94b7f673197f2
CRs-Fixed: 3130833
2022-03-15 03:41:58 -07:00
Pavankumar Nandeshwar
fbf1e82c6b qcacmn: Call dp_tx_nbuf_unmap instead of directly calling unmap API
Call dp_tx_nbuf_unmap instead of directly calling
qdf_nbuf_unmap_nbytes_single

Change-Id: I4d28ccdc45d99b16cf9883742742ee7b36ba1022
CRs-Fixed: 3146931
2022-03-14 08:50:25 -07:00
Karthik Kantamneni
842db6aafc qcacmn: Update TX HP only for last TSO segment
Currently HW TX queue HP value is updated for every TSO segment enqueue,
as a part of optimization update HP only for the last segment.

Change-Id: Ibe349a1e6f55932bf780e1f755f13841078a493f
CRs-Fixed: 3138142
2022-03-10 05:09:04 -08:00
Sai Rupesh Chevuru
9e4a8f0f21 qcacmn: Enabling TX FW metadata V2
As part of TX FW metadata V2 global sequence number based
and SVC ID based support added.

Change-Id: Iefee2c47ecbebf6edfec9a687ef67e0e270bbf06
CRs-Fixed: 3136931
2022-03-03 03:38:24 -08:00
Neha Bisht
229317b922 qcacmn: Avoid intrabss check in Tx NAWDS path
Intrabss check for NAWDS was added as a temporary fix to resolve the
issue of selfbridge enteries present in AST table. The actual reason
is loopback pkt received with one's own bridge mac. To avoid this, add
a check for not sending out any packet with an invalid peer id in the
ast table.

Change-Id: Ia4c520bcc8b7077f0b484a0bc40c4d26db77c3f4
CRs-Fixed: 3135142
2022-03-03 02:11:13 -08:00
Pavankumar Nandeshwar
223693e614 qcacmn: Handle nawds case of intra-bss forwarding
Handle nawds case of intra-bss forwarding of
multicast packets on Beryllium.

Change-Id: I05ec4d937b4b97aa2c9fb325fb2b6a197968ea2a
CRs-Fixed: 3103402
2022-03-01 00:14:42 -08:00
Ripan Deuri
eb543663d2 qcacmn: Enable usage of delta_tsf for SAWF
Enable usage of delta_tsf for SAWF. This will be used to compute tx
delay. Also, add support to update sawf stats in tx completion.

Change-Id: Idab7fbd5217175167ecdeee21cf5dc9daf1415d6
CRs-Fixed: 3135773
2022-02-28 07:53:27 -08:00
Chaithanya Garrepalli
be02a2d44f qcacmn: Add stats for new TQM release reason on BE
Add Tx completion stats for TQM release reason added
for BE

Change-Id: I7d28cbfacd1378982c5cf9a3f2cf3cffa070ee87
2022-02-23 08:37:16 -08:00
Pavankumar Nandeshwar
1bf15a02b7 qcacmn: Ignore peer if it is missing txrx_peer in reinject path
Ignore peer if it is missing txrx_peer in reinject path while
going through the peer_list. This condition can hit when the
peer_setup call from the control path is not yet received for
the peer.

Change-Id: Ie57d07353f33749a439415d808fc010702c3c884
CRs-Fixed: 3130821
2022-02-21 22:41:41 -08:00
Pavankumar Nandeshwar
9979d1a189 qcacmn: Initialize txrx_ref_handle for whunt bypass
Initialize txrx_ref_handle for whunt bypass,
Which is complaining use of uninitialized txrx_ref_handle,
as it is not able to detect that txrx_ref_handle is
populated from another API.

Change-Id: I0f69cf4c8442a5655559622a5825d7af35b9ae5e
CRs-Fixed: 3127788
2022-02-11 04:13:31 -08:00
Harsh Kumar Bijlani
93cd9e0af8 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
2022-02-09 11:54:46 -08:00
Pavankumar Nandeshwar
b9038e9d4e qcacmn: Move per packet stats params to txrx_peer
Move the stats parameters from the dp_peer which are used
in per packet path to txrx_peer

Change-Id: Ieb68b6950740791b37bbd2bfdc4815c3d7bc4834
CRs-Fixed: 3095637
2022-02-09 11:54:01 -08:00
Pavankumar Nandeshwar
98b25a2ee6 qcacmn: use txrx_peer in rx and tx paths
Use txrx_peer in rx and tx data paths instead of
main dp peer.

Change-Id: If628543092be220021240b6f25ee43b009592bac
CRs-Fixed: 3095637
2022-02-09 11:53:55 -08:00
Neha Bisht
8fb88793e5 qcacmn: Add intra-bss check for NAWDS in tx path
In NAWDS, if ast for self bridge is present in AST table,
then the mcast arp frames are getting dropped if peerid
for nawds peer is matching ast peerid of self bridge.
To fix this, add intra-bss check for NAWDS in tx path.

Change-Id: I6f1b44634536c558520aaf0bd0c0155c4b2a4e28
2022-02-08 07:44:46 -08:00