Wykres commitów

146 Commity

Autor SHA1 Wiadomość Data
Pavankumar Nandeshwar
89f62ba1f3 qcacmn: Include DS tx desc usage in global desc limit check
Make sure the global tx desc usage limit is honored by
direct switch as well.

Change-Id: Ie84edb08a8bd6c6a18338caf21328245bd70a8bc
CRs-Fixed: 3486130
2023-05-09 11:05:42 -07:00
Sai Rupesh Chevuru
cdbbebd6f8 qcacmn: handling of mcast in proxy arp along with MLO MCAST
handling multicast packets in the case of proxy arp
along with MLO MCAST.

1. stamp the host inspected bit for GSN based packets.
2. trigger dp_tx_proxy_arp from the reinject handler.

Change-Id: I8aea1e4fd4e61f4cc6a5dd6d8b5151c1a9bf2fac
CRs-Fixed: 3465975
2023-05-04 13:49:48 -07:00
Rakesh Pillai
cdab8dab71 qcacmn: Code movement to enable multipass support without WDS
Currently the code to support Multipass on SAP is
present along with the code to support WDS. Hence with
the code in its current state, we will not be able to
enable Multipass support without enabling WDS.

Move the multipass support code out of the WDS support
code, to be able to enable Multipass for chipsets which
do not use WDS.

Change-Id: Id17035f1ada9bde56ca2c61fd4688fa3454b0b11
CRs-Fixed: 3479991
2023-05-01 14:40:03 -07:00
Venkateswara Naralasetty
26099afe23 qcacmn: suspend/resume changes for WCN6450
Changes required for suspend/resume support for WCN6450

Change-Id: I4610f6bdb8de92f03884af6c07a5141dd27174be
CRs-Fixed: 3447469
2023-04-18 12:11:24 -07:00
Manikanta Pubbisetty
b5f74912c1 qcacmn: Add TX completion logic for WCN6450
In the case of WCN6450, WBM HW block is removed in the UMAC.
TX completions come via HTT messages. Add logic to handle
HTT TX completion messages from the firmware.

Changes are specific to WCN6450 and hence implement the logic
in the arch specific code.

Change-Id: I447020354ce26e8948e4b49648c434fb2ed302cd
CRs-Fixed: 3381814
2023-03-29 01:13:21 -07:00
Karthik Kantamneni
0562ed7a5e qcacmn: Code to init/deinit SOFTUMAC based Rhine architecture.
This code helps to initialize and deinitialize new SOFTUMAC
based Rhine architecture.

Change-Id: I374140ccb3b31e9351c6e683c77d81a5a876472a
CRs-Fixed: 3382913
2023-03-28 11:30:30 -07:00
Devender Kumar
d67fc1fc09 qcacmn: Fix Tx queue selection when IPA is enable
When IPA is enable and TX DATA ring mask is not set for
TX ring given to IPA, Host should not select the TX queue
which is given to IPA, hence override the TX queue to 0 if
TX queue id is same as IPA TX data ring.

Change-Id: Ia7fe49ef50deee869c84de9e741362cb31d60bf0
CRs-Fixed: 3419264
2023-03-13 13:44:26 -07:00
Sai Rupesh Chevuru
10826afad5 qcacmn: Adding NAWDS support along with WDS-EXT
Adding NAWDS support along with WDS-EXT

Change-Id: I19d277fa575750d3194afc9ec9af3180a8c936ad
CRs-Fixed: 3406151
2023-02-24 07:04:50 -08:00
Pavankumar Nandeshwar
0a7d729a98 qcacmn: Reuse the tx descriptors in direct switch
Reuse the tx descriptors released in tx completions
without releasing the associated skbs to reduce
the cpu utilization in direct switch mode.

Change-Id: I4ab3ac58977a626344877b8a818a4dbc4864aaf3
CRs-Fixed: 3393968
2023-02-18 20:50:25 -08:00
Jeff Johnson
88f4d0b0c6 qcacmn: Fix dp/wifi3.0/dp_tx.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_tx.[ch], so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I7a09c451f3f4af3dd606778c49cce81677f6fe58
CRs-Fixed: 3373159
2023-02-13 14:01:59 -08:00
Varsha Mishra
d6afad86bc qcacmn: Add global context
Global context will contain fst context, fst ref count
and global desc count.

Change-Id: I272fa2c3b8945822268d29b6c329df3f659753d4
CRs-Fixed: 3392039
2023-02-12 03:21:18 -08:00
KARTHIK KUMAR T
7ae4979be0 qcacmn: Add mcast enhance flow for single dev
Add mcast enhancement for single dev/bonding feature

Change-Id: I8bc0c3c78e3eb8c6679e00442d607615bab38f96
CRs-Fixed: 3350461
2023-02-05 04:33:10 -08:00
Neha Bisht
30bc8285d2 qcacmn: Add global context for maintaining descriptor count
Add global context to maintain descriptor count at global level.

Change-Id: Ibfe3379bb4a747530794956cc0cba31e423598d3
CRs-Fixed: 3334340
2023-02-03 05:57:55 -08:00
Jeff Johnson
5b69a94a15 qcacmn: Make dp_tx_tso_cmn_desc_pool_*() functions static
The following functions are currently public functions:
dp_tx_tso_cmn_desc_pool_alloc()
dp_tx_tso_cmn_desc_pool_init()
dp_tx_tso_cmn_desc_pool_deinit()
dp_tx_tso_cmn_desc_pool_free()

However these functions are only called from within the file where
they are defined, so make them static.

Change-Id: If57b36398e0cf6a33be2b85bc00d651fe5ed9a71
CRs-Fixed: 3371860
2023-01-19 09:32:22 -08:00
jinbaoliu
5a1cd48520 qcacmn: Fix TX stastics failed to take TSO segment into account
Currently, we record TX musdu number and packet length, which falls into
three categories: from stack, from host and successfully transmitted. In
TSO mode, the msdu from stack will be divided into several fragments and
each of the fragment will be transmitted as an individual msdu. This change
will take TSO into account when it comes to the 3 forms of TX statstics.

Change-Id: Ie11cb7541b4e109609bf3104739a5e19f51dcc13
CRs-Fixed: 3361412
2022-12-28 06:15:15 -08:00
Sreeramya Soratkal
d148f093d2 qcacmn: Handle allocation of descriptors to special packets
Special frames like EAPOL should not be dropped as it would cause
failure in connection. To prevent the dropping of higher priority
special frames, reserve a set of descriptors from the tx descriptor
pool.

Check the regular soc or pdev limit for the allocating tx descriptors
for the regular packets and use the reserved set of descriptors
only for the special packets.

CRs-Fixed: 3331359
Change-Id: I15532fb5e325ba6ad997090008bda8c52707a05b
2022-12-27 17:07:26 -08:00
Neha Bisht
5d0b7ea33f qcacmn: Create a list of skbs to be freed at once
Create a list of skbs to be freed at once in dp tx completion path

Change-Id: I42129b4306206f7224ceabc87d07e2a87b8fcab6
CRs-Fixed: 3274945
2022-11-25 12:35:45 -08:00
Pavankumar Nandeshwar
ab2bd061c2 qcacmn: Enable wbm2sw_release ring for ppe2tcl ring
Enable wbm2sw_release ring for ppe2tcl ring to
handle tx completions

Change-Id: I38e81bb46e376e3f059f321454aa4d241e6aadb7
CRs-Fixed: 3309444
2022-11-23 02:15:55 -08:00
Tallapragada Kalyan
075b483358 qcacmn: wifi DP TX optimization for RMNET pkts
pkts from rmnet device are sent as SG, we see poor
throughput when transmitting these SG frames using
an MSDU extension descriptor. to resolve this issue
we identify if the frame is from RMNET device and if so
copy the headers from skb linear address to the frag
address and provide the frag address to HW for transmission

CRs-Fixed: 3337822
Change-Id: Ic1b7d9f861dcd4f838509772c45e47d3917fc59f
2022-11-21 00:03:36 -08:00
Pavankumar Nandeshwar
004224830d qcacmn: Allocate dedicated tx desc pool for ppeds
Allocate dedicated tx desc pool for PPE2TCL ring
tx completion handling.

Change-Id: I3d3220b9b38b6f24d98ce73cb5273ae4dc6e7f37
CRs-Fixed: 3300660
2022-10-13 15:09:49 -07:00
Neelansh Mittal
83990186aa qcacmn: Add PPE Tx/RX changes
Add support for:-
   1. PPE VP entry attach and detach.
   2. Per VAP PRI2TID Support
   3. Dump the PPE VP HW entries.
   4. Add tx completion handling for ppeds descriptors

Change-Id: I2a6d0be5bb556663a39a24d17b703877f3b5ad00
CRs-Fixed: 3276981
2022-10-13 15:09:43 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Karthik Kantamneni
276f3b27ac qcacmn: Add rind id info in TX HW descriptor history
Add ring id info in TX HW descriptor event history,
this helps to map history event to corresponding HW TX
ring in multi TX queue enabled case.

Change-Id: I82dcece76b1342f4086d489ba489da7c20ea6cad
CRs-Fixed: 3294177
2022-09-19 17:50:41 -07:00
Rakesh Pillai
d706698dd1 qcacmn: Add support for fragmented history recording
Currently the history recording for any debug purpose
is done using a contiguous memory chunk. For certain
history like tx_hw_ring, tx desc or tx completion desc
history, the amount of contiguous memory required is
very huge (order 7 or 8 allocation), which have a
higher probability of failing.

In order to mitigate the above scenario, introduce the
support for recording debug history into fragmented
chunks of memory, thereby reducing the requirement of
contiguous memory.

Change-Id: Iac4fb38b6d4b095766520899853e68b4c2b83afc
CRs-Fixed: 3282269
2022-09-08 04:38:02 -07:00
Tallapragada Kalyan
3203b7bf92 qcacmn: pipeline prefetch of tx comp ring for BE
pipeline prefetch of tx comp ring for BE

CRs-Fixed: 3272534
Change-Id: Ib1091b5163e75b56be08fbbf87c26b1c77638b76
2022-08-22 03:25:41 -07:00
Pavankumar Nandeshwar
67de6bcbfd qcacmn: Handle Umac post reset at host
Handle Umac post reset and post reset complete
events from firmware.

Change-Id: I76ac1b96f01f026535d31edcbd245b3643ecf6ee
CRs-Fixed: 3267222
2022-08-21 00:37:46 -07:00
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
Tallapragada Kalyan
cea862a118 qcacmn: map tx ring to get_cpu instead of skb queue
skb queue is not always mapped to the proper CPU
hence it is good to map the ring_id to CPU through get_cpu
API.

Change-Id: I3bf76452cc1fcb2033ef1a8640c4dd31ecba61b3
CRs-Fixed: 3255144
2022-08-08 13:07:35 -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
Sai Rupesh Chevuru
40e06d213f qcacmn: Handling of multicast packets in MLO multi passphrase
In the case of MLO multi passphrase add GSN bsed support
to multicast packets.

Change-Id: I3b5bf8b611bd233141d677003905a8b5f18f9716
CRs-Fixed: 3203545
2022-07-21 14:27:47 -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
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
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
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
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
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
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
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
Subrat Dash
20b758944f qcacmn: Decouple FEATURE_PERPKT_INFO from MESH_MODE_SUPPORT
The per packet info feature can be enbaled to support enhanced
stats independent of mesh mode.

Change-Id: I852e7a958c520901b6f418d30deb53fa2f68fb68
CRs-Fixed: 3079000
2022-03-08 05:37:52 -08:00
Varsha Mishra
0d2ec58510 qcacmn: Fill metadata for sawf feature
Fill metadata for transmission in lithium and berrylium
when sawf is enabled.

Change-Id: Icc76ca7b8310c21a98e7f01984d4901afba0526c
CRs-Fixed: 3138558
2022-03-02 01:28:33 -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
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
Ananya Gupta
940984c6a6 qcacmn: Check for tx desc leak or corruption
Tx descriptor is not being freed and put back in tx desc
pool for a long time. As a result, system is not going
into suspended state.
To find this descriptor, during dp_bus_suspend and
dp_runtime_suspend, parse through the descriptor pool to
check for any descriptors not freed for a long and trigger
self recovery when found.

Change-Id: Id97c5c8537c9bec922f4e254b5bf094505ee61ff
CRs-Fixed: 3109868
2022-01-21 11:42:27 -08:00
Neha Bisht
657ceed6e5 qcacmn: Fix QUIC Copyright Year Markings
Fix QUIC Copyright Year Markings

Change-Id: I7297986e56af0b396fc92f0a7b98fb47d0feec42
2022-01-19 05:39:30 -08:00
Neha Bisht
15b88ae15e qcacmn: Prefetch Tx HW desc, SW desc and SKB in pipeline fashion
Prefetch TX HW desc, SW desc and SKB in pipeline fashion in Tx.
completion path.
This improves the UDP DL CPU idle% by ~4.5%

Change-Id: I48096e996cd835321ce2681d3981fa94c7189f54
2022-01-08 06:09:15 -08:00