Commit Graph

1737 Commitit

Tekijä SHA1 Viesti Päivämäärä
nobelj
1e5c16a0dd qca-wifi: Drop MU in tx capture support and other Fix
Fix to support Tx capture for below issues

a. intermittent change to drops all MU frames in Tx capture.
b. Fix to support, FW indicates enqueue bitmap with more bits than
actual MPDUs tried by HW tx capture holds more pending PPDUs, it causes
higher memory usage.
c. holding peer reference on get and release reference on delete
during tx capture.

Change-Id: I0ac5dce7995413585164b6c15dd8b647f0886fb1
2020-03-06 17:34:29 -08:00
nobelj
ae9de3a7de qca-wifi: On mpdu copy expand, get reference of fraglist
Add support to get reference of frag list when doing copy expand of
buffer.

Change-Id: Ia3bf249afab28ea7c50bfe3a6ff567fd95f86e47
2020-03-06 10:41:43 -08:00
Linux Build Service Account
9b997e4493 Merge "qca-wifi: Set max vdev count to 60" 2020-03-06 06:41:29 -08:00
Adwait Nayak
cf4c68e3e2 qca-wifi: CFR: Retrieve TA from Freeze TLV
TA retrieved from freeze TLV was being over-written by macaddr
from AST search during RXTLV processing.

MACADDR from AST search is essential only for MU PPDUs.

Change-Id: If38fd198fb196397298ed4ab646eb3257b1113b0
2020-03-05 21:09:21 -08:00
Linux Build Service Account
200de40910 Merge "qca-wifi: Disable CFR RCC for QCA6018 in 512M profile" 2020-03-05 04:38:40 -08:00
Linux Build Service Account
d99bbeb26f Merge "qca-wifi: Add QoS NULL Check for Data Frames" 2020-03-05 04:38:40 -08:00
Christopher Chopp
4b2fd4033d qca-wifi: Add QoS NULL Check for Data Frames
Currently, there is no check for QoS NULL when
handling data frames in the TX Cap feature. This
leads to QoS NULL frames not being seen OTA. Add
a check in dp_tx_ppdu_stats_process to ensure data
frame is not a QoS NULL data frame before handling,
since QoS NULL payload comes in management path.

Change-Id: I9fa2e68115327a283b241214ff62534bcb1ed74a
CRs-Fixed: 2632712
2020-03-04 12:37:52 -08:00
Linux Build Service Account
3090979e4b Merge "qca-wifi: Reset "dfs_agile_precac_freq_mhz" after radar detect" 2020-03-04 07:07:33 -08:00
Linux Build Service Account
332fe12c3c Merge "qca-wifi: Add a new API to exclude channels for preCAC" 2020-03-03 22:17:34 -08:00
Linux Build Service Account
8a69442922 Merge "qca-wifi: Remove dp_rx_mon.h inclusion from dp_tx_capture.c" 2020-03-03 20:08:46 -08:00
Linux Build Service Account
bf67e287ca Merge "qca-wifi: Revert "qca-wifi: Handle multivdev restart request failure"" 2020-03-03 17:43:21 -08:00
Sumedh Baikady
d642558ecc qca-wifi: Add WMI support for dynamic Muedca
Add support for WMI event to host to process
dynamically selected Muedca values and update
the mgmt frames with the new set of values.

Change-Id: I831c3b4754f355d7a40ded435599702b41533780
2020-03-03 16:45:50 -08:00
Vignesh Mohan
9d35cca695 qca-wifi: Add a new API to exclude channels for preCAC
While excluding the current operating channel for preCAC, the
entire tree is skipped if the current operating channel is selected
by the algorithm. In case of a tree node with two 40MHz nodes, if the
selected channel is the current operating channel but the other 40MHz
channel is still pCAC required, that channel should be selected.

To achieve this, move the logic, of excluding the current operating
channels, inside the tree traversal algorithm.

CRs-Fixed: 2621410
Change-Id: Ib8ea3dea168d27ea98a0bf2a9ea1eb57872b285f
2020-03-03 12:45:18 -08:00
Jeevan Kukkalli
ca2eea84a4 qca-wifi: Revert "qca-wifi: Handle multivdev restart request failure"
This reverts commit 45f510a90868226282a1a5cf5e2193a00ab8ff13.

Change-Id: I56d897856c4b71f73686fb038e35229a864f4285
2020-03-03 20:30:56 +05:30
Nandha Kishore Easwaran
8d56e5ea8b qca-wifi: Set max vdev count to 60
Setting max vdev count per psoc to 60 as max client qwrap
mode has max vdev count per psoc as 60 for 2 pdevs.

Similarly increased max vdev count per pdev to 30.

Change-Id: I3b6af1e01ab525b19e3a87b26da262bc7932676e
2020-03-03 04:49:09 -08:00
Priyadarshnee S
96dd43c073 qca-wifi: Reset "dfs_agile_precac_freq_mhz" after radar detect
Issue:
Bring up the AP on channel 100 HE80 in ETSI domain and enable preCAC config
(option preCACEn 1). The AP begins CAC on channel 100 and does preCAC
on the channel 58 (the first HE80 channel in the preCAC list). The default
preCACtimeout is 6 min.  Inject radar on channel 100 using bangradar.
AP does a VDEV RESTART to a new random channel (say 36) and aborts
preCAC on channel 58. After VDEV RESTART on new random channel (say 36),
AP chooses a new random channel to do preCAC and marks channel 58 as
preCAC done. Channel 58 can be marked preCAC done only after 6 min
of CAC completion. However, within 6 min, if primary channel detects
radar, channel 58 incorrectly marked as preCAC done.

When primary channel 100 is marked as NOL, "dfs_agile_precac_freq_mhz"
(the variable that holds the value of the last agile frequency)
which was assigned 5290MHZ (chan 58) is not cleared.
"dfs_agile_precac_freq_mhz" continues to hold the preCAC channel freq
5290. After VDEV RESTART to new random channel (36), preCAC is initated
again invoking dfs_start_agile_precac_timer() using a zero second
timer. As "dfs_agile_precac_freq_mhz" is not 0,
dfs_mark_precac_done_for_freq() marks channel 5290 (58) as preCAC done.

Solution:
To solve the issue mentioned above, reset "dfs_mark_precac_done_for_freq"
to 0 on radar detect so that preCAC done channel is not marked
incorrectly.

Change-Id: If6dae4b3527f060d5512d82ebd437ea1b6db1425
CRs-Fixed: 2631779
2020-03-03 03:58:43 -08:00
Linux Build Service Account
0deee0c946 Merge "qca-wifi: adding chan frequency to rx mpdu info" 2020-03-03 00:17:09 -08:00
Surya Prakash Raajen
c0ffc7ec69 qca-wifi: Disable CFR RCC for QCA6018 in 512M profile
Disable CFR RCC for QCA6018 in 512M profile
CRs-Fixed: 2631752

Change-Id: I80cc46f128b30211e9704adc7adaa53084c98c7c
2020-03-03 13:10:46 +05:30
Linux Build Service Account
b8a344d2df Merge "qca-wifi: CFR: Update RCC specific debug counters" 2020-02-29 01:06:14 -08:00
Linux Build Service Account
7022f867ec Merge "qca-wifi: Add support for noAck frames for TX capture" 2020-02-28 14:36:21 -08:00
Linux Build Service Account
3d7cabd566 Merge "qca-wifi: Handle multivdev restart request failure" 2020-02-28 06:11:38 -08:00
Linux Build Service Account
c7bccd80bc Merge "qca-wifi: CFR: Fixes during initial WMI being sent to FW" 2020-02-27 17:08:28 -08:00
Christopher Chopp
06db648e34 qca-wifi: Temp WAR for MCAST traffic in TX Cap
Add temporary workaround for TX Capture Enhancements
feature to not process stats for  MCAST traffic unless
the peer is a bss peer. This change avoids memory leaks
relating to MCAST Traffic stats handling.

Change-Id: I9b564897e402a4381e6d92d983bc10e1036ee2b4
2020-02-26 18:11:38 -08:00
Ruben Columbus
3c96878216 qca-wifi: adding chan frequency to rx mpdu info
previously frequency was acquired by channel only.
adding chan frequency as a new param for the structure rx mpdu info
is now used to hold the frquency value from tlv in rx path.

Change-Id: Iba70af9de82dcd0c9c3b074eb857b6c9433f6767
2020-02-25 15:04:40 -08:00
Linux Build Service Account
50b9e06dc6 Merge "Revert "qca-wifi: Set max vdev count to 60"" 2020-02-25 13:09:55 -08:00
Linux Build Service Account
57ae16c6e0 Merge "qca-wifi: tx capture stats for msdu and pending ppdu queue" 2020-02-25 13:09:54 -08:00
Linux Build Service Account
ee5754429a Merge "qca-wifi: Fix for tx capture softlockup on mode change" 2020-02-25 13:09:54 -08:00
nobelj
c42f615d91 qca-wifi: Fix for tx capture softlockup on mode change
In tx capture, while changing the tx capture we run into
soft lock up. The fix addressed the soft lock up issue.

Change-Id: I0cb6abb9ede2fb0a5d380e6986ec14dcaa31a13f
2020-02-24 22:54:13 -08:00
Adwait Nayak
412cc0e7e1 qca-wifi: CFR: Update RCC specific debug counters
RCC specific debug counters has been moved to DP layer.

Update capture BW from RXTLV instead of VDEV
Capture BW is the bandwidth at which Station operates.

Error handling for pdev referencce count.
Add support to clear CFR ppdu counters
Use same event ENUM for HKV2 and Cypress.

Change-Id: Ic1f5da16c5c1ac5893dce1023eb57f96d78d4cfa
2020-02-25 12:17:35 +05:30
nobelj
965f45a0b3 qca-wifi: tx capture stats for msdu and pending ppdu queue
Add stats for msdu queue and pending queue as a part of tx capture stats.

Change-Id: I78f41cd1443715b6b763db01c9db2c4bcef44747
2020-02-24 22:46:53 -08:00
Naga
caf6a652c6 Revert "qca-wifi: Set max vdev count to 60"
This reverts commit 4ebefef145a041ad25b34f0b2add349f048b2492

CRs-Fixed: 2628313
2020-02-25 10:28:38 +05:30
Christopher Chopp
a141b91706 qca-wifi: Add NULL check for mpdu_nbuf in TX Cap
Currently, no NULL check exists before the mpdu array from
the ppdu_dsc is populated. Add a NULL check after
qdf_nbuf_queue_remove before assigning it to the
ppdu_desc->mpdus array.

Change-Id: Ic5002b7939bb85440dbb8ea96dd46d30c70eb2ff
2020-02-24 15:51:53 -08:00
Amir Patel
44481117d3 qca-wifi: Remove dp_rx_mon.h inclusion from dp_tx_capture.c
Remove dp_rx_mon.h inclusion from dp_tx_capture.c

In I3a31dacd7d7e817f144708f9bda5536808080864,
dp monitor inline APIs are moved to header file.
This change is needed to get dp_tx_capture.c compiled.

Change-Id: I145cac1afbc4e19a5d36a97c4a9cbe93fe67f700
2020-02-24 19:43:12 +05:30
Linux Build Service Account
cc95a997ba Merge "qca-wifi: Fix tx capture enable and peer filter" 2020-02-23 12:10:10 -08:00
Amit Shukla
bc3ff96089 qca-wifi: Add support for noAck frames for TX capture
noACK action frames are generated in response to NDPA
frames.

Change-Id: Ib441041353050e7a4736e1e5830dbfd5d08e0f50
CRs-Fixed: 2622583
2020-02-21 14:13:25 -08:00
nobelj
bbcadc149e qca-wifi: Fix tx capture enable and peer filter
As a part of peer filter feature fix, tx capture feature
support only for peer filter. with this fix it support
tx capture enable too. 

Change-Id: I76e02b79a351bb3f73fa5c5d9e9a6dd583c27cc5
2020-02-21 12:03:30 -08:00
Linux Build Service Account
a633871412 Merge "qca-wifi: Rectify nbuf copy expand in TX Capture feature" 2020-02-21 11:44:21 -08:00
Debasis Das
ca1e6f5577 qca-wifi: peerstats Fix -Wformat compiler warnings
Fix -Wformat compiler warnings:
1. format '%lx' expects argument of type 'long unsigned int',
   but argument has type 'uint64_t {aka long long unsigned int}'.
2. format '%lu' expects argument of type 'long unsigned int',
   but argument has type 'unsigned int'.

Change-Id: Ie9e4c6b244802df7da8be89db7f497e51fb43c9c
2020-02-20 23:02:52 -08:00
Santosh Anbu
eb69985553 qca-wifi: Handle multivdev restart request failure
When multivdev restart request fails due to any reason, the
same is not notified to the vdev state machine. Due to VDEV
SM is stuck in restart state indefinitely.

Handle multivdev restart request failure by dispatching
RESTART_REQ_FAIL event.

Change-Id: I1cdbcf8efb5cd51e803cef4a8980d1276c410e13
CRs-Fixed: 2622197
2020-02-21 10:38:07 +05:30
Linux Build Service Account
95744c646d Merge "qca-wifi: Fix for incorrect channel frequency in radio tap" 2020-02-20 19:52:49 -08:00
Christopher Chopp
2a21448971 qca-wifi: Rectify nbuf copy expand in TX Capture feature
Replace skb_copy_expand with qdf_nbuf_copy_expand to correctly
get offset for expand length. Additionally, loop over all elements
in nbuf_ppdu_desc_list instead of only checking once.

Change-Id: If9aed3c7c97354d912923ca25c8c52f1db27dac1
CRs-Fixed: 2620672
2020-02-20 19:34:59 -08:00
Linux Build Service Account
7732480801 Merge "qca-wifi: Add 6GHz support for chan/freq/band usage in mesh mode" 2020-02-20 11:09:38 -08:00
Linux Build Service Account
86e650e2d4 Merge "qca-wifi: Resolving parse error in wmi_stats_event" 2020-02-20 06:39:47 -08:00
Adwait Nayak
862792aa58 qca-wifi: CFR: Fixes during initial WMI being sent to FW
1. Change the default values of TA\RA entries

Host sends out one default RCC setting to FW during
the initialization of target specific CFR component.

Change the default setting of TA, RA address from
00:00:00:00:00:00 to FF:FF:FF:FF:FF:FF and TA_MASK and RA_MASK
should be 00:00:00:00:00:00. This will avoid
the scenario where the system will allow all packets
irrespective of the filter settings provided by the user.

2. In case default configuration is being sent to the FW
successfully during CFR init, those configurations will
be updated as part of global config. So that it can be
reflected as part of rcc_config_details command.

3. Code clean up

Change-Id: I719ddeee48f14992b2210562596b1ea3d61fcc1c
2020-02-20 17:51:08 +05:30
Linux Build Service Account
b402abfe62 Merge "qca-wifi: Fix tx capture RTS/CTS send before mgmt frame" 2020-02-19 23:46:41 -08:00
Linux Build Service Account
7affcab576 Merge "qca-wifi: Set the default max descs to appropriate value" 2020-02-19 10:11:00 -08:00
Linux Build Service Account
dd73cd9b86 Merge "qca-wifi: Add multivdev restart wait timeout" 2020-02-19 04:13:44 -08:00
Amit Shukla
dacd2d5bb6 qca-wifi: Fix for incorrect channel frequency in radio tap
Channel frequency was shown as 0 in radio tap header for
tx capture feature.

Change-Id: Iae60770e59603a1d6056be649178fcdee26c1455
CRs-Fixed: 2621057
2020-02-18 21:51:19 -08:00
narayan
1776b97458 qca-wifi: Resolving parse error in wmi_stats_event
Parsing nac_rssi event only if both pdev_ext2_stat and nac_rssi_stat
are sent by FW in wmi_stats_event handling for non_tlv chipsets.

Change-Id: If39cc49106fd16c2a2b7fc729a82c863ae0c1b89
2020-02-18 00:38:29 -08:00
Padma Raghunathan
56fb3412f4 qca-wifi: CFR: Fix NULL check before invoking DBR unregister handler
In HKV2/Cypress, check if DBR unregister handler is non-null before
invoking the same.

Change-Id: If22eac6e0005b9aa8887888b8070c884ec52d40f
2020-02-17 19:32:47 -08:00