Graf commitů

3491 Commity

Autor SHA1 Zpráva Datum
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -07:00
Jinwei Chen
abbf1c968a qcacmn: fix compilation issue if WIFI_MONITOR_SUPPORT disabled
fix compilation issue if WIFI_MONITOR_SUPPORT is not enabled.

Change-Id: I6ea15fc0729bc0c999c6f10691200958e538bf79
CRs-Fixed: 3315379
2022-10-20 10:55:04 -07:00
Sai Rupesh Chevuru
ef34b5b9ab qcacmn: Handling of IGMP packets in MLO Multipass
Due to the CCE rule in QCN9224 IGMP packets will be routed
to err ring. When multipass is enabled, perform multipass processing
before handing over the packet to stack.

Change-Id: I50b747710eb3c49eab60c81bbc61e75e2f8650ed
CRs-Fixed: 3275888
2022-10-20 06:10:52 -07:00
Amrit Sahai
9313b57907 qcacmn: Add support to get jitter stats on peer level
Add support to get jitter stats on peer level

Change-Id: I5e37a24e93cde5e34e561b26c0834d9cfe42bf9f
CRs-Fixed: 3296380
2022-10-20 01:11:44 -07:00
Sai Rupesh Chevuru
cbce7e71c4 qcacmn: Avoid Wifi load issue for 256M profile
In 256M profile dp_li_rx.c file is not getting compiled.
Initialize dp_rx_chain_msdus_li() only when HOST mode is supported.

Change-Id: I96f71b9ea7869f0ba9fec05424b0a8c6f378f2f4
CRs-Fixed: 3314081
2022-10-19 22:31:00 -07:00
Kannan Saravanan
4aa7278f36 qcacmn: Initial changes for york bringup in Common dev to DP
Add device Id and target type checks for qcn9160 target
compilation.

Change-Id: Ic0391847af824ea7f6b85b574a0c5912ccd414c8
CRs-Fixed: 3282635
2022-10-18 11:57:31 -07:00
Jeff Johnson
ba48f03c44 qcacmn: Fix misspelling of "release"
Fix misspelling of "release" in dp_main.c

Change-Id: I6853908fdead1e1afbe160f52e67730df91025b1
CRs-Fixed: 3313926
2022-10-18 07:14:01 -07:00
Chaithanya Garrepalli
682c7e09d1 qcacmn: minimize lock contention in Rx replenish
Changes dp_rx_buffers_no_map_replenish API to
miminize the contention on RX refill ring lock

Change-Id: Ie55f034c6d01abbab21707460cd0f20548b35ba2
CRs-Fixed: 3313886
2022-10-18 05:22:34 -07:00
Jinwei Chen
2a6561273c qcacmn: support more dp srng with memory pre-allocation
add more ring type's size to wlan_dp_prealloc_cfg structure,
add DP_MON_PDEV_TYPE memory pre-allocation support.

Change-Id: I23aebaf7e7e78206ac49ebf02719f6b4dee99875
CRs-Fixed: 3314209
2022-10-18 05:22:27 -07:00
Chaithanya Garrepalli
64c4cb3524 qcacmn: Add ini support for RX low threshold interrupts
Add ini param "dp_disable_rx_buf_low_threshold" to disable
low threshold interrupts on regular rx refill ring. Default
it is enabled.

Change-Id: Ie471a4dc6862cbfe8b1eafe7c7d2ce2e0a7fcb7a
CRs-Fixed: 3313885
2022-10-18 01:42:37 -07:00
Jeff Johnson
5b526f6819 qcacmn: Fix misspellings of "transmission"
Fix misspellings of "transmission" in cdp_txrx_stats_struct.h.

Change-Id: I70611e16be0dd5914a3b14c17fdb85e0ea0cd0bc
CRs-Fixed: 3313918
2022-10-18 00:02:59 -07:00
KARTHIK KUMAR T
ea38e7997e qcacmn: update RSSI specific parameters in mon pdev
Before we are updating RSSI params directly into mon_rx_status
this structure will reset every PPDU this breaks iwconfig,
wlanconfig and monitor packet RSSI values.
Fix added to storing the values in the mon_pdev.

Change-Id: I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
CRs-Fixed: 3276503
2022-10-17 16:22:51 -07:00
Jeevan Kukkalli
07113ba281 qcacmn: Check boundary conditions while allocating extra buffers
We allocate extra buffers than requested when watermark is less
than critical low threshold. While allocating extra buffers we
should check for boundary conditions so that total allocated
buffers is always within the range of available entries.

Change-Id: I2f24c6157cb2afcc8bc5ca84b7e0308588a4d99d
CRs-Fixed: 3307051
2022-10-17 03:02:31 -07:00
Vivek
3b1f7ced17 qcacmn: Add dp ini param for sawf stats
Add dp ini-param to configure sawf_stats.

CRs-Fixed: 3300948
Change-Id: Ifeb6935e2309be1f974c4da30b33a5caca308569
2022-10-16 21:43:21 -07:00
Sai Rupesh Chevuru
63d8ecaa0f qcacmn: Fetch the reo qdesc from the peer
When compact rx tlv feature is enabled fetch the
reo qdesc from the peer instead of rx pkt tlvs.

Change-Id: Idc9eec559b71ebb2dc39ea1d648a384ea0eb9559
CRs-Fixed: 3311270
2022-10-16 21:43:15 -07:00
Tallapragada Kalyan
4c45f8a2ed qcacmn: get HP of RXDMA ring without incrementing
get the HP of the RXDMA ring without incrementing
This will ensure in case of nbuf failures the ring
HP remains unchanged

Change-Id: I69ec9207a44a4c50484933797326e962ad2d4a5c
CRs-Fixed: 3309394
2022-10-16 07:49:31 -07:00
Tallapragada Kalyan
efff4ec854 qcacmn: Alloc nbuf only after rx descriptor is allocated
Alloc nbuf only after rx descriptor is allocated

Change-Id: Idc7fbb3e119761b877cfa4d625d1af84bf785ad2
CRs-Fixed: 3309036
2022-10-16 07:49:25 -07:00
Sushant Butta
dfed04fde0 qcacmn: Fix memory leaks
In some of the erorr cases, allocated mpdu's are not
freed leading to a memory leak.

Changes are done to iterate over mpdu queue and
frees allocated mpdu.

Change-Id: I18d3a57b366b9fa7aa934ac062c7acd1a9065d1b
CRs-Fixed: 3295577
2022-10-15 19:31:56 -07:00
Tallapragada Kalyan
c2e702fbf9 qcacmn: use hal api to get the reo_destination ring size
use hal api to get the reo_destination ring size

Change-Id: I6710dda215a13fb0b61173f4da0d6e780423faab
CRs-Fixed: 3309725
2022-10-15 10:30:43 -07:00
Sai Rupesh Chevuru
12c8b0d0be qcacmn: compact tlv support for QCN9224
Adding compact tlv support for QCN9224, As part of this change
Rx tlv size will reduce from 384 bytes to 128 bytes.

Change-Id: I3f42a781e42b2e696a5b25d9c5f333c8cc83b7fe
CRs-Fixed: 3274152
2022-10-14 23:42:02 -07:00
Jia Ding
ca6127c6de qcacmn: Fix build error for telemetry stats
With WIFI_MONITOR_SUPPORT=n and WLAN_TELEMETRY_STATS_SUPPORT=n,
declaration of struct cdp_peer_telemetry_stats within function
dp_monitor_peer_telemetry_stats is not visible.

Hence add WLAN_TELEMETRY_STATS_SUPPORT feature flag for function
dp_monitor_peer_telemetry_stats when WIFI_MONITOR_SUPPORT=n.

Change-Id: I2e4a789552296361c189552707d3e3c441a042e3
CRs-Fixed: 3310407
2022-10-14 15:21:06 -07:00
Ajithkumar Jayamoorthy
0e000f1e66 qcacmn: Add support to configure operational rate
Allow manual configuration of mcs via "tr069_set_oprate" command.

Change-Id: Ie6a4b0ba6caf0810e66b2a53a15991b32d3893fe
CRs-Fixed: 3307411
2022-10-14 10:15:01 -07:00
Sai Rupesh Chevuru
431514912a qcacmn: SG support in RX path
Process the sg frames received in RX path.

Change-Id: Ia2d83c75c46f804599ca8fda4668c43ee508d59e
CRs-Fixed: 3303055
2022-10-14 08:31:27 -07:00
Yu Wang
7f84ab9a72 qcacmn: fix build failure for WIFI_MONITOR_SUPPORT disabled case
The function dp_monitor_reap_timer_suspend() is not
declared for WIFI_MONITOR_SUPPORT disabled case, which
will cause build failure.

To fix it, declare dp_monitor_reap_timer_suspend() in
'dp_internal.h' for WIFI_MONITOR_SUPPORT disabled case.

Change-Id: Id4d246975ccf9eec06a8c794fbbe71f8a934826b
CRs-Fixed: 3309771
2022-10-14 01:29:14 -07:00
Harsh Kumar Bijlani
cfd13d2ad2 qcacmn: Add support to fetch peer stats using MLD mac address
Add support to fetch peer stats using MLD  mac address

Change-Id: I0e230a561b8f6af3dac0dcbfef4304c630f21ff9
CRs-Fixed: 3303212
2022-10-14 00:01:30 -07: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
Namita Nair
0d030c5c44 qcacmn: Log vdev ref_cnt in peer creation and deletion
Currently we cannot track vdev ref_cnt change with
peer creation and deletion. This change will help track
the vdev ref_cnt and detect if any pending unreference is
causing inactive vdevs.

Change-Id: I5548667b0f1541efb583f912f6b7ef8a88853f5b
CRs-Fixed: 3303571
2022-10-13 11:59:46 -07:00
Rakesh Pillai
21bce3501c qcacmn: Access mpdu start tlv only for first msdu-in-mpdu
Currently the mpdu level flags/values are obtained
from the MPDU_START tlv of each msdu, when processing
in the RX error path.

The MPDU_START tlv is valid in an msdu only if it is
the first msdu-in-mpdu and will not be valid for all
the subsequent msdus-in-mpdu.

Accessing and using the incorrect values from the
MPDU_START tlv leads to unwanted exception/behaviour.

To fix the above mentioned issue, cache the mpdu level
information from the tlv when processing the first
msdu-in-mpdu and use it for the processing of the
subsequent msdus from the same mpdu.

Change-Id: Ic0b47716d3d428bb0b536c4ee23c1392f183d1fe
CRs-Fixed: 3306327
2022-10-13 01:02:57 -07:00
Jinwei Chen
76de3f74ee qcacmn: Store eapol frame to cached buffer queue of MLD peer
For STA MLO connection, AP might send M1 right after assoc response
on assoc link, but at this monment, host has not sent wmi_peer_assoc
for the assoc link and no osif_rx is registered to dp_vdev, MLD peer
will not be initialized in FW side and no HTT MLO peer map msg to host,
then this M1 frame will be detected as no valid txrx_peer and dropped
in host as dp_vdev->osif_rx is NULL as well.

Store this M1 frame to cached buffer queue until CP register the osif_rx
to DP and then flush them back to stack.

Change-Id: Ie84fa9c39db75fe77b9fd61dc1bf46f2fa737df7
CRs-Fixed: 3289587
2022-10-12 23:22:51 -07:00
Nandha Kishore Easwaran
9f3dd70ae9 qcacmn: Add peer filter support for tx monitor
Add peer filter support for tx monitor. Add changes to filter frames
in SW

Change-Id: Ie4f2f261976d3b173a417942e36a6aaccea18e47
CRs-Fixed: 3300747
2022-10-11 08:28:56 -07:00
KARTHIK KUMAR T
2eaf7b1992 qcacmn: Add support to fetch extended peer stats using MLD mac address
Add support to fetch extended peer stats using
MLD mac address

Change-Id: Icdf300cd0331e68bc0e8cc60aa8d02ce1f17440f
CRs-Fixed: 3303590
2022-10-10 14:50:32 -07:00
Jeevan Kukkalli
da9acd4815 qcacmn: Add flag to indicate all type subtype FP filter
If all the type and subtypes are enabled then there is
no need to dissect frames and validate type and subtype.
Add flag to indicate such configuration.

Change-Id: Ia7f919e5bdb175019a39f23be9e1d5a9a12fec31
CRs-Fixed: 3303105
2022-10-10 02:55:52 -07:00
Chaithanya Garrepalli
e75e226669 qcacmn: Add low threshold desc alloc fail stats
Print stats for low threshold descriptor alloc
failure in RX stats

Change-Id: I917d14b51feeacbc7669d906bf03ca4cfdd689f8
CRs-Fixed: 3308195
2022-10-10 01:11:24 -07:00
Sai Rupesh Chevuru
6aef607629 qcacmn: htt support for compact tlv feature
Adding htt support for compact tlv feature

Change-Id: If45b5b32c4cef482cb6c54b5f2919b56384a8a93
CRs-Fixed: 3293927
2022-10-09 20:42:33 -07:00
Rakesh Pillai
27f5c5e7b8 qcacmn: Fix mpdu re-stitch failure for fragmented wifi frames
When the length of a 802.11 frame is more than the
size of the posted receive buffers, it is split across
multiple buffers, which have to be accumulated before
submitting to network stack.

For all-but-last buffer which are used for the above
mentioned large 802.11 frame, the MSDU_CONTINUATION
flag will be set indicating that remaining data of the
same msdu has been DMA'ed to the next buffer.

The current implementation in monitor-1.0 works for
legacy chipsets, where MSDU_START tlv is available and
hence the aforementioned information was available in
all the buffers containing the large 802.11 frame.

For kiwi target, there is no MSDU_START tlv, and hence
a lot of information eg: mpdu_len_err, decap_format and
l2_hdr_offset are not available in the buffers where the
msdu_continuation flag is set. This leads to an attempt
of mpdu_restitch using incorrect data from tlv, and hence
the mpdu_restitch fails for such large 802.11 frame.

Fix this issue for kiwi target, by gathering all these
information which are available in the last buffer and
are used to process/accumulate the entire 802.11 frame.

Change-Id: I1c4fc9fd574c1c5fabc845407aa6f2d990c60906
CRs-Fixed: 3261494
2022-10-09 06:51:07 -07:00
Tallapragada Kalyan
9ab6f487c0 qcacmn: fix compilation issue
fix the spelling typo when passing the argument dp_soc

Change-Id: I9b4155af801feddbfad706d292267629f9f2c5b5
CRs-Fixed: 3306506
2022-10-09 05:20:03 -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
Rajesh Chauhan
f4b6b093c6 qcacmn: include stdarg header file with correct path
For kernel version 5.15 or later, include linux/stdarg.h in
i_qdf_types.h and for older versions include stdarg.h.
Also remove inclusion of stdarg.h from dp_internal.h,
qdf_trace.h and qdf_types.h files.

Change-Id: I2eaa1af06fda0ac07a1be3d245f197de0b85719d
CRs-Fixed: 3295172
2022-10-05 17:51:31 -07:00
Amit Mehta
95857b39a8 qcacmn: Add API to get and clear pdev obss stats
Add API to send request to Fw to get and clear pdev obss stats.

Change-Id: I2697cc111eba0310d0a65e9911673670ff476c7f
CRs-Fixed: 3295540
2022-10-01 22:31:20 -07:00
Sai Rupesh Chevuru
136869a4c0 qcacmn: Avoid fetching of addr4 from the RX TLV
In defrag path will be receiving raw frames with wifi header,
instead of fetching the addr4 from the tlv, use it from wifi header

Change-Id: I516295660f39135225efd79c6b1bb0b93b1d81d3
CRs-Fixed: 3303206
2022-10-01 09:47:31 -07:00
Ripan Deuri
cb33f7e1d3 qcacmn: Acquire lock before calling rx tid setup
The rx tid setup function is called from multiple contexts.
Acquire lock before calling that function to avoid race condition.

Change-Id: I7a0443e5e09a068301de171afeb4d400bf54b1c8
CRs-Fixed: 3291079
2022-09-30 04:26:34 -07:00
Amit Mehta
c3ea01cd1b qcacmn: Add a tid check for RX to avoid of OOB access
Tid in RX frame header may be larger than MAX TID allowed
value, this will lead a out of boundary array access and
lead to kernel crash at last. Change is aimed to do a TID
check and discard such frame when necessary.

Change-Id: I11f312668a5a42d690c058550f22b0f36f952104
CRs-Fixed: 3264581
2022-09-30 04:26:27 -07:00
Prakash Manjunathappa
44ece0c600 qcacmn: Do not free Tx flow pool in case of MLO link switch
In case of MLO same adapter maps to both vdevs. Tx is done with
primary link vdev pool. In link switch case vdev0 flow pool is
deleted and traffic will continue to flow with same vdev0 flow_id
This is resulting in packets drops within the driver due non-availibilty
of flow pool.
Fix this by skipping flow pool deletion in case of STA MLO connection.

Change-Id: Ie56ea221f7f254484bd31ec4880f2155779fb513
CRs-Fixed: 3292979
2022-09-30 04:26:21 -07:00
Pavankumar Nandeshwar
4db1255f94 qcacmn: Add debug for Umac reset time consumption
Add debug to calculate the time consumed on host during
Umac reset handling.

Change-Id: I1697f61abf13980182a89ae0674f344f93943b86
CRs-Fixed: 3300163
2022-09-30 01:41:05 -07:00
Pavankumar Nandeshwar
7dee89e9ec qcacmn: Add cfg command to enable umac reset skeleton debug
Add cfg command to enable umac reset skeleton debug, which
when enabled will skip post reset procedure handling.

Change-Id: Ieca393e6292660bb3ada40408fd6e71ac78d0a1f
CRs-Fixed: 3296960
2022-09-30 01:40:58 -07:00
Azmath Mohammed
95865c5502 qcacmn: Modify FISA Feature support for DP componentization
Modify FISA Feature support for DP componentization

Change-Id: I64c364881bf2c53794e858acb72babf51997713e
CRs-Fixed: 3243931
2022-09-28 22:31:45 -07:00
Srinivas Girigowda
7cb3b7dd47 qcacmn: Fix issues reported by static analysis tool
Add changes to fix issues:
1. Array out of bound access
2. Arithmatic expression overrun

Change-Id: Idf9bdea33422015e0310e57d005f7d6941f8151e
CRs-Fixed: 3298301
2022-09-26 17:43:48 -07:00
Pavankumar Nandeshwar
c3630a234b qcacmn: Add ring stats for direct switch rings
Add ring statistics for reo2ppe and ppe2tcl rings

Change-Id: Ib9c15ba2f95d5cb97d238afad8f6f93dc5100e82
CRs-Fixed: 3279422
2022-09-26 02:04:31 -07:00
Tallapragada Kalyan
27da15777b qcacmn: initialize BE specific HAL API callbacks
certain BE specific HAL APIs were only initialized for
KIWI chipset but not for WKK. Now moved all these APIs
under beryllium generic initialization.

These APIs are mainly used in de-frag pkt handling.

CRs-Fixed: 3294784
Change-Id: I6611f1b7ef80b432d24a490ba65880dd55539137
2022-09-26 02:04:24 -07:00