Commit grafiek

1629 Commits

Auteur SHA1 Bericht Datum
Linux Build Service Account
b0437f2b81 Merge "qcacmn: Remove redundant data structure for wmi response extraction" 2020-03-26 20:01:30 -07:00
Linux Build Service Account
ae3a9acfa3 Merge "qca-wifi: Add full moniotor mode processing" 2020-03-25 05:41:41 -07:00
Linux Build Service Account
348807f1b2 Merge "qca-wifi: Remove redundant data structure for wmi response extraction" 2020-03-24 23:38:41 -07:00
Linux Build Service Account
001c24899f Merge "qca-wifi: Configure 165MHz Agile channel" 2020-03-24 05:53:44 -07:00
Linux Build Service Account
0bc90ed6d4 Merge "qca-wifi: Add support for 160MHz precac tree" 2020-03-24 05:53:44 -07:00
Linux Build Service Account
ff323f757d Merge "qca-wifi: Handle capture interval and capture duration for RCC" 2020-03-24 00:13:59 -07:00
Linux Build Service Account
a8200ea0e5 Merge "qca-wifi: RCC cannot coexist with M_TX_ACK mode" 2020-03-24 00:13:58 -07:00
Linux Build Service Account
98dc321554 Merge "qca-wifi: Keep the default subtype as 0 for default RCC config" 2020-03-24 00:13:58 -07:00
Amir
86628c52f7 qca-wifi: Add full moniotor mode processing
a. Add attach and detach for full monitor resources
	b. Read 'sw_monitor_ring' descriptor and pop MPDU
	c. Replenish buffers and link descriptors back to HW
	d. Form a MPDU queue per-ppdu and all MPDUs per-PPDU to upper layer

Change-Id: I5abff75354dd3686491d4fee3c3c4612a3ca3e15
2020-03-24 11:52:18 +05:30
Linux Build Service Account
ed8f61c5c1 Merge "qcacmn: Add protection while accessing cfr lookup table" 2020-03-23 10:40:55 -07:00
Adwait Nayak
c7c91947c2 qca-wifi: RCC cannot coexist with M_TX_ACK mode
Coexistence of RCC and M_TX_ACk mode is not supported

Change-Id: Ib5b5432f991e0cf5213f2d630f9322a3603ed088
2020-03-22 10:15:32 +05:30
Linux Build Service Account
70ff584a5c Merge "qca-wifi: CFR: Report correct values for RSSI and cfr_timer_enable" 2020-03-21 10:39:06 -07:00
Adwait Nayak
213a5e68a6 qca-wifi: Keep the default subtype as 0 for default RCC config
1. MAC does not really consider the expect TA and the
expect RA when the expect TA mask and expect RA mask is 0.
Basically, it checks for the subtype, bandwidth and NSS
as the filter criteria.

2. In the other scenario, if the RA matches with expect
RA and TA matches with expect TA then it does not really
consider the expect TA MASK and expect RA MASK.
With the current default config, since the expect address
mask is 00:00:00:00:00:00 it falls under case 1 and it is
written based on the MAC recipe.

But actual MAC logic is different from what is mentioned
in the recipe. MAC works on below logic:
TA & TA MASK = Expect TA & expect TA mask
RA & RA MASK = Expect RA & expect RA mask

As an additional precaution, we need to modify default
subtype as 0 so that if user enables any group by mistake
and does not give any input for the other RCC
configurations, we can block the RCC to capture CFR data.

Change-Id: Ic79fde2a23126b6cdca84df0091e1df23fb487e4
2020-03-20 14:20:57 -07:00
Adwait Nayak
25eea0893c qca-wifi: Handle capture interval and capture duration for RCC
FW may limit the interval and duration during which HW may
use user provided values and attempt to capture.
These values range from 1 us to roughly 16.8 sec.
Max value is 0xFFFFFF which is 16.777215 sec.

Add check to make sure that capture duration cannot exceed
capture interval.

Change-Id: If6f75c737f8ac8cda527eee60f0e67d75e3b5420
2020-03-20 13:49:49 -07:00
Vignesh U
7a47973638 qca-wifi: Configure 165MHz Agile channel
The FW has updated the wmi command wmi_vdev_adfs_ch_cfg_cmd_fixed_param so
as to configure the restricted 80p80 channel as the Agile channel.

Add support in ADFS parameter to enable the 165MHz channel as the Agile
channel.

Change-Id: I757bbd9b209118f19e51b7a95881124000f362c8
CRs-Fixed: 2642555
2020-03-20 06:56:50 -07:00
Vignesh U
a5540082df qca-wifi: Add support for 160MHz precac tree
Rebuild the precac tree with 160MHz root channels. Add support to mark the
160MHz precac channel nodes as CAC done and NOL.

Go through the list of available channels to find the unique PreCAC Tree
roots. Find the root channels that are not part of the 160MHz channel.
Example, consider a case where a country supports only until channel 144,
then the precac tree will have two 160MHz root nodes(36HT160, 100HT160) and
one 80MHz root node(132HT80).

Add support include the 165MHz channel to the precac tree for Pine by
considering the 165MHz channel as a 80p80MHz channel with a center channel
number 146. Adjust the channel frequency offset to mark the 165MHz
channel as precac done and NOL.

When a 160MHz or the 165MHz channel encloses a nonDFS channel, mark that
nonDFS channel as precac done.

Change-Id: Ia9bb2cc5c845c4d636e35329cdf76ace2eb63c72
CRs-Fixed: 2628373
2020-03-20 06:56:26 -07:00
Padma Raghunathan
c68c9e44b3 qcacmn: Add protection while accessing cfr lookup table
Protect access to cfr lookup table, since error handling
mechanism attempts to cleanup CFR entries in timer context,
this leads to contention between bottom-half and timer.

Change-Id: I6a414e0da883250a90451824367c12fcca33c27e
2020-03-20 13:42:36 +05:30
Padma Raghunathan
9830a9214c qca-wifi: CFR: Report correct values for RSSI and cfr_timer_enable
1. Clear cfr_timer_enable flag during wifi down
2. Similar to one-shot capture, report RSSI in metadata for RCC.
   Convert SNR in rxtlv to RSSI.

Change-Id: Ib7c9875049f4cf3114bbb8b0851a35ad5928325c
2020-03-20 12:59:52 +05:30
Srinivas Pitla
58a1539c08 qca-wifi: Mark beacon frames as selfgen
Beacon frames are FW generated frames, FW indicated them as DATA_SU,
with this, frame is not marked as self gen. It gets added to retry_q.

Check ppdu frame type and subtype to mark frame as selfgen if it beacon

Change-Id: If0bfd9bf2cc321afe207a4db7529e24baebfd376
CRs-Fixed: 2643848
2020-03-19 16:14:40 -07:00
Srinivas Pitla
298c78568e qca-wifi: cleanup buffers for incomplete amsdu
if last_msdu is not received  then allocated
mpdu_nbuf and mpdu_q is not freed,

This change frees the buffers in last_msdu not seen case.

Change-Id: Icaaa6e227f3ea1d314c6d15a9f76c2f622d5d93f
CRs-Fixed: 2643848
2020-03-19 16:14:27 -07:00
Srinivas Pitla
d11868e2c3 qca-wifi: Drop mgmt nbuf in tx_capture disabled case
If tx_capture is disabled, the frames notified to tx_capture
module needs to be freed.

This change frees mgmt frames in tx capture module, in case feature
is disabled

Change-Id: I71f102ba2f25f23bdcef63dddb525d5f7b0a692a
CRs-Fixed: 2643848
2020-03-19 16:13:31 -07:00
Srinivas Pitla
d0aafa3624 qca-wifi: Tx capture stability fixes
1) Avoid removing wrong nbuf from queue
   In corner case, the current flow can remove first nbuf instead of
   actual nbuf from queue, this can lead to having the actual pointer
   stored at two array indexs.

2) tsf wraparound handling for mgmt frame

3) Mpdu tried is higher than ba_sisze
   mpdus[] is allocated with ba_size, it is observed that mpdu_tried
   is higher than ba_size, which can lead to buffer overlow.
   Added the check of ba_size along with mpdu_tried.

To avoid it, copied nbuf in the corner case, and left the actual nbuf
in the xretries queue.

Change-Id: Ifa57eaf62cf50aa2c356a6d1f41ef4b7283be52e
CRs-Fixed: 2643848
2020-03-19 16:11:22 -07:00
Linux Build Service Account
aaf81ea2a3 Merge "qca-wifi: CFR: Retrieve TA from Freeze TLV" 2020-03-19 12:14:37 -07:00
Linux Build Service Account
0aadda9d2b Merge "qca-wifi: Pass proper address to sta_kickout callback" 2020-03-19 06:37:59 -07:00
Vignesh U
2935efd278 qca-wifi: Change the current-channel-width to agile-channel-width mapping
For Pine, the agile channel width needs to be 160MHz when the current
channel width is 160MHz or restricted 80+80MHz.

Change-Id: Id1339400c6e86daf9febe364de62be42c9732f14
CRs-Fixed: 2628370
2020-03-19 04:31:45 -07:00
Linux Build Service Account
2419fe88d6 Merge "qca-wifi: Assign agile detector id based on true 160MHz" 2020-03-18 16:36:52 -07:00
Debasis Das
b51fd52ae0 qca-wifi: Pass proper address to sta_kickout callback
While invoking sta_kickout callback from dp layer, pass
proper mac-address.

Change-Id: I770a5b3f120fbfa53055348350005309f841867b
2020-03-17 02:34:07 -07:00
Linux Build Service Account
80056a908a Merge "qca-wifi: Convert target pdev id to host pdev id" 2020-03-16 13:07:30 -07:00
Linux Build Service Account
371e39c276 Merge "qca-wifi: fixing some compilation issues for WDS_VENDOR_EXTENSION" 2020-03-16 01:45:23 -07:00
Naga
56b668bb64 qca-wifi: Remove redundant data structure for wmi response extraction
Remove redundant data structure at wmi for vdev start
response extraction, instead use mlme host data structure.

Change-Id: Icc28493722546f3c37e8a90d3182becb3af6557b
CRs-Fixed: 2641083
2020-03-15 21:49:59 -07:00
Manoj Ekbote
b31db0ed49 qca-wifi: Convert target pdev id to host pdev id
In the response event for multi-vdev restart request, target pdev id
needs to be converted to host pdev id since pdev id mapping can change
based on HW mode and primary interface when dynamic HW mode feature is
used.
When feature is not used, regular conversion will be applied.

CRs-fixed:2631763

Change-Id: I5f0ce37ca2d3f138c25fa6e84f00da222ae72222
2020-03-14 18:25:04 -07:00
Linux Build Service Account
cea05d2bde Merge "qca-wifi: Add WMI support for dynamic Muedca" 2020-03-14 10:09:18 -07:00
Vignesh Mohan
764dcecbb9 qca-wifi: Assign agile detector id based on true 160MHz
For Pine chip, where true 160MHz (single detector for 160MHz)
is supported, the agile detector ID is 1 (instead of 2 for
chipsets like Hawkeye with two primary 80MHz detectors).
Assign the dfs_agile_detector_id to the proper value based on
true 160MHz capability.

Introduce a new API to get the agile_detector_id based on the
chip's capability. Use the new API to get the agile_detector_id
instead of using the existing enum.

CRs-Fixed: 2637793
Change-Id: I8033e541c09632a9e4c7be1a5067d1dbcedd0d48
2020-03-14 02:57:48 -07:00
Naga
319633ce31 qcacmn: Remove redundant data structure for wmi response extraction
Remove redundant data structure at wmi for vdev delete all peer
response extraction, instead use mlme host data structure.

Change-Id: I5dbd86a6ab64477830dd8ae2e69b75e6f9e623fa
CRs-Fixed: 2641263
2020-03-13 17:32:48 +05:30
Linux Build Service Account
c0a9fa10a7 Merge "qcawifi: Hold peer_ref while adding peer to multipass_list" 2020-03-11 05:57:31 -07:00
Pavankumar Nandeshwar
d4e7b67d7f qca-wifi: fixing some compilation issues for WDS_VENDOR_EXTENSION
Fix some compilations issues for WDS_VENDOR_EXTENSION

Change-Id: I82898aeb73b1512df85f937e36dfa7c70d57cac9
2020-03-11 15:03:51 +05:30
Linux Build Service Account
ee0b7860ae Merge "qca-wifi: Fix the issue on block ACK for BAR frame" 2020-03-11 02:16:30 -07:00
Pavankumar Nandeshwar
9efee1898c qcawifi: Hold peer_ref while adding peer to multipass_list
Hold peer_ref while adding peer to multipass_list
which will be released during the removal from the list.

Change-Id: I37ada3fd433dc9a8858dedb82dc9caee151fc88a
2020-03-10 01:37:00 -07:00
Linux Build Service Account
922817af53 Merge "qca-wifi: On mpdu copy expand, get reference of fraglist" 2020-03-09 19:14:54 -07:00
Kai Chen
f4aeb4b87e qca-wifi: Fix the issue on block ACK for BAR frame
Fix the issue on block ACK on response to BAR frame.

Change-Id: Ib8b8b55994ed44ed73a4272e0246f0f688118352
2020-03-09 15:56:18 -07:00
Linux Build Service Account
ac23ca682f Merge "qca-wifi: Fix compilation warning in peerstats" 2020-03-09 10:27:15 -07:00
Debasis Das
19657036e1 qca-wifi: Fix compilation warning in peerstats
Fix compilation warning:
 format '%u' expects argument of type 'unsigned int',
 but argument 2 has type 'long unsigned int' [-Wformat=]

Change-Id: I59b616b946ad9548379e7350b346c7688fbcf37c
2020-03-08 08:45:21 -07:00
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