Commit Graph

3109 Commits

Author SHA1 Message Date
syed touqeer pasha
b88dc98e98 qcacmn: Fetch drop 3 address mcast value
Fetch the drop 3 address mcast value

Change-Id: If4d714e6b418c3030b247e8dd84b948aa6c140d4
CRs-Fixed: 3282708
2022-09-08 10:48:34 -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
Ripan Deuri
04dd6c626a qcacmn: Add support to fetch PER
Add support to fetch PER from peer stats.

Change-Id: Ia7cf8913238ab5b56d5f049cf9d511318ca5d165
CRs-Fixed: 3284395
2022-09-08 02:57:20 -07:00
Amir Patel
8a1be0ce9d qcacmn: Update Noise floor for monitor frames
Update Noise floor for monitor frames

Change-Id: I8fc81b189923130e2c040dea10e04fba92c58c57
CRs-Fixed: 3274706
2022-09-07 16:34:27 -07:00
Amir Patel
0fe7f4446b qcacmn: Optimize monitor mode memory utilization
a. Optimize ppdu_info memory
b. Use kmem cache for ppdu info allocation

CRs-Fixed: 3265620
Change-Id: Ieee040aa703aef8c5eee5e5a34a52ef18300b696
2022-09-06 10:23:43 -07:00
Amir Patel
ed6fc2b352 qcacmn: Add NULL pointer check
Add NULL pointer check at correct place
in monitor filter update

CRs-Fixed: 3279327
Change-Id: I5d9c44cf160de9acd4280774cc999931b8050ec3
2022-09-06 04:23:41 -07:00
Devender Kumar
78b844e995 qcacmn: Fix for calling cdp api from dp layer
cdp api is getting call from dp layer.

Fix is to call correct dp api from datapath file.

CRs-Fixed: 3279426
Change-Id: I142910276d76c600e5d79289270bbfe156bfab1c
2022-09-05 21:33:12 -07:00
Ming Jiang
482d936ce0 qcacmn: Add 64K page id mask for hardware link descriptor
DP_HW_LINK_DESC_TYPE use non-cacheable memory and page id and
mask were calculated based on 4096 size. This change add 64K
size support for page id mask of hardware link descriptor.

Change-Id: I6bf1bb95573d964872c6dde7ea41e5823fe940d2
CRs-Fixed: 3267724
2022-09-03 04:44:58 -07:00
Ruben Columbus
734657149e qcacmn: bkpressure control time event
add debug prints and a custom timer for how long to wait to receive next
bk pressure event message.

Change-Id: I5a736b0f134cd179990de536da02967db3e39774
CRs-Fixed: 3273427
2022-09-03 03:20:02 -07:00
Namita Nair
0602fba425 qcacmn: Display CV_QUERY stats for sounding stats
CV_QUERY stats are sent by FW as part of HTT_TX_CMN_SOUNDING_MODE
and not as part of individual AC, AX, and BE modes. This change
will hence correctly display the stats.

Change-Id: Ie499499137be4f542973a44829caa71f7b559f2f
CRs-Fixed: 3270132
2022-09-03 00:14:25 -07:00
Harsh Kumar Bijlani
d12768c4c4 qcacmn: Change order of conditions for peer stats update
Change order of conditions for peer stats update for KPI optimization.

Change-Id: If764ecaf575f9fc60f5c6d3332a7716b6a50be65
CRs-Fixed: 3281386
2022-09-03 00:14:19 -07:00
jinbaoliu
195e4c7d1b qcacmn: Fix the nss geting from tlv being invalid in 11b mode
Only in 11b mode, exclusive of other legacy modes(11ag) will
the NSS obtained from the TLV header be invalid, which is 0
and cannot be resolved. This change will set nss to 1 in 11b.

Change-Id: I93e8bdb125764fb0247265da328929ecc837fb84
CRs-Fixed: 3275793
2022-08-31 16:04:33 -07:00
aloksing
c31daef130 qcacmn: fix compilation issue without monitor support
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.

CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
2022-08-31 16:04:27 -07:00
Amit Mehta
68b9b355b5 qcacmn: Fix monitor status buffer double free issue
currently rx_mon_ring and REO are part of the same
interrupt group, due to which in case of mission
mode when IRQ is received from REO, even the lmac
rings are processed in the same context.
This results in dp_mon_reap_timer_handler and
dp_process_lmac_rings calling dp_rx_mon_status_process_tlv()
in different context and access global list at the same time,
which may lead to skb double free issue.

To fix the issue if current mode is not monitor mode
do not set rx_mon_ring_mask MSI interrupt mask.

Change-Id: Icc64455824f919e17d3daa741be1cbdafd6fe88f
CRs-Fixed: 3274531
2022-08-29 10:00:54 -07:00
Jeff Johnson
88c15dadbb qcacmn: Fix misspelling "recevied"
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."

Change-Id: Ibd7f4a136541be8aa98f5bee4db7f75af0271f53
CRs-Fixed: 3273526
2022-08-28 19:08:26 -07:00
Rakesh Pillai
3a7048480c qcacmn: Add reo_mismatch stats for FISA path
Add reo_mismatch stats for FISA path.

Change-Id: I954c9604b98cfb0b08be09ef0bf3e2235f47a3db
CRs-Fixed: 3277338
2022-08-27 22:57:48 -07:00
Nandha Kishore Easwaran
68ef6e5dff qcacmn: Fix ref leak when monitor peer is null
Free the reference when peer is not null and monitor peer
is null.

Change-Id: I81875fbdf3918346b8c4f297f61fc241e7888fd4
CRs-Fixed: 3277552
2022-08-27 13:48:42 -07:00
Pavankumar Nandeshwar
6eebf44a9a qcacmn: Fix reo_remap_config call in umac reset case
Fix reo_remap_config call in umac reset case by
using arch specific callback

Change-Id: I3edeb2f1ec5cdbc7e9cba6f624d699df30d347ba
CRs-Fixed: 3275169
2022-08-26 07:32:01 -07:00
Pavankumar Nandeshwar
2f3e28c33c qcacmn: Configure registers for reo2ppe
Configure REO destination remap register and REO DST_INFO
register fot REO2PPE ring

Change-Id: I81cce807cde3babcfb265675ec758d33fc10214f
CRs-Fixed: 3274303
2022-08-26 07:31:54 -07:00
Devender Kumar
13c6048f72 qcacmn: Fix for Unicast packet flow from WDS node in Intrabss
When EasyMesh feature is enabled, ARP replies from WDS node are
getting dropped by the AP, as there is no proper way to find the
DA_PEER with given WDS mac address.
Fix is to get the peer mac address for wds node based on ast entry.

CRs-Fixed: 3265158
Change-Id: I5ea890ce37dfde89d067b471417ba7aeb8c5d6f5
2022-08-24 17:22:30 -07:00
Sajini R
51cde26ad5 qcacmn: Initial changes in dp for ipq5332 target compilation
Added device ID and target type checks in dp for ipq5332 traget
compilation.

CRs-Fixed: 3273820
Change-Id: I03a9bc8f9a885587d7324f7907d26bfc77cfeba7
2022-08-24 07:26:03 -07:00
Pavankumar Nandeshwar
9495c52c2e qcacmn: Update tx_fast callback with dp_tx_drop
Update tx_fast callback with dp_tx_drop in
Umac pre-reset handler to pause the tx.

Change-Id: I39a74179a3deb8fba34acb7149046471e3f4797b
CRs-Fixed: 3267249
2022-08-23 00:49:30 -07:00
Chaithanya Garrepalli
adbb77002a qcacmn: Use different Rx ring mask for ML and non-ML peers
Add framework to use different RX hash values and ring masks
for ML and non-ML peers

Change-Id: I098cb50b8873eb137ce096011d01a5c21aaf854f
CRs-Fixed: 3269916
2022-08-22 14:56:26 -07:00
Sai Rupesh Chevuru
383edf35d0 qcacmn: Map and umap MLO DP peer to partner soc
Maping and unmaping of the MLO DP peer to the partner soc
will be initialized based on architecture.
dp_mlo_partner_chips_map
dp_mlo_partner_chips_unmap

Change-Id: I918f6d552acd9d64086abf4c38f913348e13c381
CRs-Fixed: 3267904
2022-08-22 11:30:40 -07:00
Madhavan Ganesan
af8acc5430 qcacmn: Check peer_monitor is valid before processing
Check peer_monitor is valid before processing.
This is required for new boot flow where vap creation starts
before monitor ko insmod.
This check makes sure that monitor_peer is valid which indirectly
means that monitor ko is insmoded.

Change-Id: Ifd132cd6717e3537dd1aa7b7b37e95012d7fe8fc
CRs-Fixed: 3272747
2022-08-22 11:30:32 -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
38d078b7a0 qcacmn: Restore Umac registers for hard reset
Restore Umac registers in case of hard umac reset

Change-Id: I7718a97d8351558c58e804e9be0b43b09c2a1ca0
CRs-Fixed: 3267247
2022-08-21 00:38:07 -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
Amir Patel
1885bbbc5e qcacmn: Fix pointer typecast issue
Fix pointer typecast issue in monitor

Change-Id: I45579fce49a7e2afacfc5462f208c01280c677d8
CRs-Fixed: 3257285
2022-08-18 23:08:25 -07:00
Amrit
cbc05e67fe qcacmn: Allocate memory according to num_users in rx path
Allocating memory according to number of users in rx path

Change-Id: I02ced1772ed04e67dfba5beb87737fcd874fd6da
CRs-Fixed: 3264995
2022-08-18 02:11:59 -07:00
Jeevan Kukkalli
b207f0b859 qcacmn: Add space for PPDU id TLV in headroom
Aad additional space for PPDU id TLV in headroom
while forming monitor mpdu.

Change-Id: Ie033ee6dd196838aa63cc456794b55fd9b780531
CRs-Fixed: 3237248
2022-08-17 15:35:35 -07:00
[B
1a321fabfd qcacmn: Error Handling in Event Based Mechanism
Error Handling in Event Based Mechanism to reduce
delay by removing sleep while getting response
from firmware.

Change-Id: I9ee8e03b0d0ebdaae150417fb0fb0531e5bf4a86
CRs-Fixed: 3268808
2022-08-17 15:35:28 -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
Chaithanya Garrepalli
baa9ecbd3c qcacmn: update peer state assert for MLO peer
Update the peer state check for MLO peer as per
MLO state transistion

Change-Id: Ia57ab5fd95f90226f505cba6363a343e5e0b44e1
CRs-Fixed: 3266005
2022-08-16 10:47:17 -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
Tallapragada Kalyan
bddee57d00 qcacmn: Access peer, vdev only if peer_id changes
Access peer, vdev only if peer_id in current pkt is
different from previous pkt.

CRs-Fixed: 3257844
Change-Id: If10356a01030511c7473112f67f3434d328d4586
2022-08-16 07:40:29 -07:00
Nandha Kishore Easwaran
9b81f6a195 qcacmn: Enable Subtype and PPDU filtering
Enable subtype filtering for all types of frames. Check the subtype
for all types of frames and drop the frames which are not requested.

Also enable PPDU level filtering by dropping the MPDUs after the first
MPDUs.

Change-Id: I94496ec278724a7023a79b50c2cd7a77b2707e74
CRs-Fixed: 3247309
2022-08-16 06:01:12 -07:00
Nandha Kishore Easwaran
0585386f57 qcacmn: Fix mpdu logging option in htt command
Fix the mpdu logging option in htt command so that msdu/mpdu
logging is correctly written into the register.

Change-Id: I98b8a1a78cc0cfae37e91e9e3e489ac54139ff75
CRs-Fixed: 3265015
2022-08-16 06:00:58 -07:00
Yu Tian
226e9258ba qcacmn: Add force break quota for REO error ring process
In some conditions REO error ring may have RX flood, but
there is no force break scheme for that ring process. This
leads to starvation of RX refill buffer ring and then FW
crashes due to no refill buffer. Change is aimed to force
break of ring processing and refill buffers in small batch
count.

Change-Id: I3c543ebb16bd1709e782be759c9063a356a96562
CRs-Fixed: 3262685
2022-08-14 21:58:06 -07:00
Tallapragada Kalyan
d5a9b008f4 qcacmn: initialize num_pending variable
initialize num_pending variable to avoid compilation issues

CRs-Fixed: 3266470
Change-Id: I877adca30d2f91d011c18a8a2ffc3e4c083f91ad
2022-08-12 22:47:05 -07:00
Jinwei Chen
2e15ede864 qcacmn: fix rx de-frag issue for aes_ccmp security
In function dp_rx_defrag_ccmp_decap(), it will remove the 8 bytes
ccmp header for each fragment, but later at the end of dp_rx_defrag(),
8 bytes ccmp header will be removed again, then actual 8 bytes packet
data will be lost, de-frag failed.

Do not remove ccmp header in dp_rx_defrag_ccmp_decap() as it is not
necessary.

Change-Id: Ibf7beca38e9979a3203d4de702716c8e24e435fe
CRs-Fixed: 3263872
2022-08-12 22:46:58 -07:00
aloksing
89d0469b44 qcacmn: Fix RCU issue due to infinite loop
Loop is continuing as chain index is getting assigned to zero inside loop.
Adding check for chain index to avoid infinite looping.

Change-Id: Ifff67c00b15d12195e5a3bf554de1529511c400f
CRs-Fixed: 3261913
2022-08-12 18:55:56 -07:00
Sai Rupesh Chevuru
086f192c0a qcacmn: Forward the igmp packet for intra bss processing
Forward the igmp packet for intra bss processing

Change-Id: Ie4838a00542e49e8d76503297332b99cf3e67563
CRs-Fixed: 3261921
2022-08-12 16:46:59 -07:00
Amir Patel
4720a30038 qcacmn: Optimize branch predictions in monitor path
Optimize branch predictions in monitor path

CRs-Fixed: 3265307
Change-Id: I7536a2fb94b350a678c123d7e0cfcd187816c96d
2022-08-12 13:49:05 -07:00
Debasis Das
73c7a4f2a3 qcacmn: Add support to calculate percentile delay-stats
Add support to calculate percentile of delay-bound
for for Tx-delay stats.

Change-Id: If386e0d1c5091f260aa4281adbd3debde4bf8446
CRs-Fixed: 3243170
2022-08-12 04:28:25 -07:00
Venkateswara Naralasetty
4fc084d9c6 qcacmn: change pool id validation for mon status ring process
Pool id validation should not be against MAX_PDEV_CNT because pool id
1 is valid in case of monitor status ring process. Hence, added a new
API dp_get_rx_mon_status_desc_from_cookie() which validate the pool id
against NUM_RXDMA_RINGS_PER_PDEV to get rx_desc from rx_desc_status pool.

Change-Id: I20baf8c667c1983eff08a204afe3736708d844d1
CRs-Fixed: 3262544
2022-08-12 04:28:18 -07:00
Himanshu Batra
42809a7e56 qcacmn: Add fix to avoid out of bound access in monitor peer stats
Add fix to avoid out of bound access in monitor peer stats

Change-Id: I361a931803471d073a8120ee0d930ee3f042e0fc
CRs-Fixed: 3264994
2022-08-12 02:35:59 -07:00
jinbaoliu
d1a40c701e qcacmn: Driver provides rx rates info instead of FW
Driver is able to get rates info per MSDU, which can
exclude special frames like ARP, DHCP, etc. This change
is to refill the rates info parsing by rateflags from FW,
including legacy rate, MCS, NSS, BW, preamble, GI, etc.

Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286
CRs-Fixed: 3255467
2022-08-12 02:35:46 -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