Commit Graph

1776 Commits

Author SHA1 Message Date
Jeevan Kukkalli
2ddb03c7cb qca-wifi: Send HMWDS ast add status WDI event
Function to notify HMWDS ast add status to upper layers via
newly added WDI event WDI_EVENT_HMWDS_AST_ADD_STATUS

Change-Id: Ib6fad7a48425ce7de16d94bb401af0c428c8e556
CRs-Fixed: 2745460
2020-07-31 18:53:39 +05:30
Linux Build Service Account
a05a705913 Merge "qca-wifi: Fix user index for rts, cts frame" 2020-07-07 14:09:18 -07:00
Linux Build Service Account
3a90a2e495 Merge "qca-wifi: tx capture modify config lock with user mode flag" 2020-07-07 10:37:37 -07:00
Linux Build Service Account
6e35159528 Merge "qca-wifi: Add srng history for monitor mode" 2020-07-01 09:06:46 -07:00
nobelj
1c7273d13c qca-wifi: tx capture modify config lock with user mode flag
user mode flag is added instead of config lock.

Change-Id: Ie83823d1bfff9b50fe3e87faa929882cfeb8b5c7
2020-06-30 12:44:18 -07:00
Vignesh Mohan
3b5fc93c6b qca-wifi: Set Agile DFS active for the calling PDEV
As part of vdev start response, dfs_precac_agile_start() is
called which is intended to set the agile active bit for
the VAP's pdev and start preCAC if possible and not already
running. The active bit for a dfs/pdev indicates that there
is at least one active VAP for that dfs/pdev object.

To set the "agile_precac_active" bit, the "cur_precac_dfs_index"
is used instead of the index of the "dfs" that calls the function.
"cur_precac_dfs_index" need not always indicate the "dfs" that
calls the function.

Consider a case where there are two active 5G radios (DBS_SBS),
both with preCAC enabled. For the first vdev start response of
radio A, dfs_precac_agile_start() is called which sets the agile
precac active bit for radio A and starts preCAC. Now for the
first vdev start response of radio B, dfs_precac_agile_start will
set the current preCAC index as active, which is radio A (which
was already set). The agile preCAC active bit is never set for
radio B even though it has an active VAP and agile capable.
Because of this, after radio A completes preCAC, radio B does
not get a chance to run preCAC for it's channels.

Set the agile precac active bit for the calling radio,
irrespective of which pdev is currently running preCAC, to allow
preCAC when the radio get's a chance.

CRs-Fixed: 2705681
Change-Id: Id11c910c69c85ce9ae03e7989e784a272d5cd905
2020-06-30 19:38:02 +05:30
Linux Build Service Account
2e7ea6f5d0 Merge "qca-wifi: Assert if HAL srng is NULL or not initilized" 2020-06-29 22:40:02 -07:00
Linux Build Service Account
c31c165fa3 Merge "qca-wifi: Remove double validation of Tx Stats" 2020-06-26 14:40:27 -07:00
Linux Build Service Account
fd82563e25 Merge "qca-wifi: Add ATF stats enable command" 2020-06-24 10:39:13 -07:00
phadiman
a8a1a96806 qca-wifi: Remove double validation of Tx Stats
Remove double validation of ppdu_user tx_ratekbps
and ppdu_user rate index while updating per peer 
Tx statistics

Change-Id: I9d4b65556928b21ee6caa10fb15193c8705ad2af
2020-06-24 13:08:42 +05:30
Linux Build Service Account
d0fcd6b5d3 Merge "qca-wifi: fix deauth in tx capture on peer filter" 2020-06-23 16:12:33 -07:00
Linux Build Service Account
54ab893d1a Merge "qca-wifi: Assign proper precac_index for legacy preCAC" 2020-06-23 12:10:19 -07:00
Subrat Mishra
1898a5b975 qca-wifi: Add ATF stats enable command
Add Airtime Fairness stats enable command with stats timeout command.

Change-Id: Id9bf0a5a94a171344f2606205a6c7a439353f039
2020-06-22 22:01:33 -07:00
Ananya Barat
aa031969f9 qca-wifi: Assign proper precac_index for legacy preCAC
Bring up a Cascade AP in HT80 mode, country DK and enable preCAC config.
During vap start, a preCAC channel is chosen by invoking
tgt_dfs_find_vht80_precac_chan_freq() and then
dfs_start_precac_timer_for_freq() is invoked to start the preCAC timer.

In dfs_start_precac_timer_for_freq(), the dfs pdev object is fetched
indexing cur_precac_dfs_index in DFS SOC object as follows:
"dfs_soc_obj->dfs_priv[dfs_soc_obj->cur_precac_dfs_index].dfs".

The cur_precac_dfs_index is initialized to 0xFF in dfs_rcac_sm_create().
This index is then over-written to the current DFS pdev index in case
of agile preCAC in dfs_prepare_agile_precac_chan() API. This API is not
invoked in case of legacy preCAC and hence cur_precac_dfs_index continues
to hold 0xFF. This leads to kernel paging request failure
and the system crashes.

Initialize 'cur_precac_dfs_index' to dfs->dfs_psoc_idx which holds
the index of the active dfs pdev.

CRs-Fixed: 2708233
Change-Id: I3aae7ea8f611d72bfe23c20cc2a34d94bba83485
2020-06-22 13:32:41 +05:30
Himanshu Batra
6a0b7ae928 qca-wifi: Correct cfg80211 display_me_info param type
Correct cfg80211 display_me_info param type from set to get

Change-Id: Ib8c2b98b31d2ed179a9791d54ecf482060883f32
CRs-Fixed: 2715344
2020-06-21 19:54:45 -07:00
Linux Build Service Account
f5b44af464 Merge "qca-wifi: Stop precac timer for OCAC completion on 165MHz channel" 2020-06-19 23:41:34 -07:00
Linux Build Service Account
53c4faba84 Merge "qca-wifi: Multilink FR for 5.4" 2020-06-19 12:20:30 -07:00
Linux Build Service Account
cfa713ccf2 Merge "qca-wifi: Add cfg80211 cmd for rpt_max_phy feature" 2020-06-19 06:10:14 -07:00
Linux Build Service Account
17d1f8b455 Merge "qca-wifi: Convert host pdev to target pdev id" 2020-06-19 06:10:14 -07:00
Debasis Das
7fcd532cf1 qca-wifi: Multilink FR for 5.4
Kernel API's used for multilink FR have been modified.
Use version-appropriate API's for the feature to work
with 5.4 kenel.

Change-Id: Id5bb90136fcefccd9c6ab4c8378991695b195c7b
2020-06-19 14:54:12 +05:30
Linux Build Service Account
f09b017ac0 Merge "qca-wifi: Correct the DCS command" 2020-06-18 23:11:58 -07:00
Abhiram Jogadenu
668283c69f qca-wifi: Correct the DCS command
DCS command was assigned wrong enum value.
'get_nominal_noisefloor' command has duplicate entry in the table.
Correct the enum value and remove the duplicate entry.

CRs-Fixed: 2708425
Change-Id: I27c85b26e261bbe6f201bc434bcb97b1b9c75fa4
2020-06-17 17:14:10 +05:30
Shreedhar Parande
5394db9ecd qca-wifi: Add cfg80211 cmd for rpt_max_phy feature
Add new commands to set and get the rpt_max_phy feature.
This is radio specific configuration.

Commands:
cfg80211tool wifiX rpt_max_phy 0/1 - To disable/enable feature.
cfg80211tool wifiX g_rpt_max_phy -  To get feature flag state.

Change-Id: I421e2af15a0415596fbddb552673efd3d3be2070
2020-06-17 04:09:19 -07:00
Linux Build Service Account
0e79976e0c Merge "qca-wifi: Support Rolling CAC in DFS_MKKN region" 2020-06-17 02:48:50 -07:00
Nandha Kishore Easwaran
43707528ce qca-wifi: Convert host pdev to target pdev id
Convert host pdev id to target pdev id before sending
WMI_PDEV_UPDATE_PKT_ROUTING_CMDID cmd. This is needed for HK_PHYB
RDP where 0 host pdev corresponds to target pdev 2

Change-Id: I2bb63453a19d899896b7d87d90ac4c78721c7a31
2020-06-15 23:59:45 -07:00
Vignesh U
e1a0290847 qca-wifi: Stop precac timer for OCAC completion on 165MHz channel
When OCAC completion event with status success is given to Host, Host will
trigger a zero second precac timer so that the precac timeout callback
function is called.

For a 165MHz agile channel, FW gives OCAC completion in terms of center
frequency 1 and center frequency 2. The center frequency 2 is non-zero
only for the 165MHz channel. This center frequency 2 information from
OCAC completion event is not stored in host before the zero second timer
is triggered.

Store the center frequency 2 information from OCAC completion event in
adfs params before triggering zero second timer.

CRs-Fixed: 2709894
Change-Id: I74af82d29a3fde859c8a3e1ea13835ebf24578b8
2020-06-15 07:17:02 -07:00
Vignesh U
48615cf86f qca-wifi: Check if OCAC completion event is received on current channel
Consider a case where the current operating channel is 36HT80 and Agile
channel is 5290. When a radar is injected on agile channel 5290, Host
aborts agile on channel 5290, changes the timer status to not running  and
configures agile to the next channel 5530 and then changes the time status
again to running. But the FW might send the OCAC completion event, with
status as OCAC CANCEL for the previously configured channel 5290. Host will
now change the precac timer status as not-running even though Host has
changed the agile channel to 5530. This is an undesirable state change.

As a consequence, when a radar is injected on the agile channel 5530, Host
will add the channels to NOL but will not trigger a channel change because
according to Host, the precac timer is not running(Host will change agile
channel on radar detection only if the precac timer is running).

Whenever an OCAC completion event is received, check if the event is
received for the currently configured agile channel, else ignore the event
without processing.

CRs-Fixed: 2677927
Change-Id: I18788857bc97a8f78426185f00596079ae2cbfd5
2020-06-15 19:43:09 +05:30
Amir
05bd05a954 qca-wifi: Add srng history for monitor mode
Add srng history for monitor mode

Change-Id: I3103a48cc96fa17ad4b35772c352d4597721e27b
CRs-Fixed: 2690176
2020-06-14 23:50:35 +05:30
Amir
0f916220bf qca-wifi: Assert if HAL srng is NULL or not initilized
Assert if HAL srng is NULL or not initilized

Change-Id: I7af824f4c691ad9bc5c5c7537ba3513067a55eff
CRs-Fixed: 2709532
2020-06-13 02:51:59 +05:30
Linux Build Service Account
0d19542bc1 Merge "qca-wifi: Fix ppdu_id mismatch issue" 2020-06-12 09:39:36 -07:00
nobelj
390f02100d qca-wifi: Fix user index for rts, cts frame
for MU frame, rts and cts are transmitted only for first user.
fix other place to use index from caller instead of 0.

Change-Id: I672d91c3df2fac358942304ad6613ee32313e442
2020-06-11 12:11:40 -07:00
Linux Build Service Account
f9e75aa59e Merge "qca-wifi: Qcn9000 changes for rx flow identification" 2020-06-11 02:38:25 -07:00
Linux Build Service Account
fa0ac117da Merge "qca-wifi: Correct entries in command table" 2020-06-10 20:38:24 -07:00
Linux Build Service Account
ac213a8504 Merge "qca-wifi: Fix tbtt offset WMI for multi pdev" 2020-06-10 12:13:12 -07:00
Amir
ee09492ea5 qca-wifi: Fix ppdu_id mismatch issue
For full monitor, it is observed destination ppdu_id
and status ppdu_id mismatches.

a. If status ring ppdu_id is leading compared to destiantion ring
ppdu_id, drop destination ring ppdus
b. If status ring ppdu_id is lagging compared to destiantion ring
ppdu_id, drop status ring ppdus
c. Handle warp around scenarios

CRs-Fixed: 2686747
Change-Id: Ie059c891347d4ff59b230881d5a9049d8acf279e
2020-06-10 21:27:11 +05:30
Abhiram Jogadenu
4b4b373956 qca-wifi: Correct entries in command table
Few entries have return type as s32 which is not compatible with
the optimization. So move them back to XML files

Change-Id: Ib14aba6a65d73b3fd430533d8cfbe8693f1ff249
2020-06-08 17:25:15 +05:30
Vignesh Mohan
c07de8251b qca-wifi: Support Rolling CAC in DFS_MKKN region
Rolling CAC is supported for FCC and MKK domains. MKKN is a new
variant of MKK DFS domain in which RCAC is not enabled.

Enable RCAC for MKKN DFS domain in addition to FCC and MKK.

CRs-Fixed: 2701619
Change-Id: I52ff8079d5cea9977cc49faa70af29ad44ce12d3
2020-06-05 16:32:22 +05:30
nobelj
c01e229231 qca-wifi: fix deauth in tx capture on peer filter
deauth frames are treated as speacial frame where peer id
point to bss peer id but payload RA points to station
mac address. Peer filter is done based on payload.

Change-Id: I4238a108a62accbf3a53f74332a10377675870b8
CRs-Fixed: 2692363
2020-06-05 01:37:42 -07:00
sumedh baikady
294eb261bc qca-wifi: Fix tbtt offset WMI for multi pdev
In case of multiple pdev in SoC, the pointer
to original buffer containing AP info(sent to
target) is manipulated. This causes wrong data
to be sent to target.

Fix is to keep a copy of pointer to manipulate
and retain original pointer for other pdev.

Change-Id: I85ea3d591ef486a945cf27a9c4a1c88b0fcc1b5f
2020-06-04 16:37:02 -07:00
Shikha Bakshi
ffbea7e091 qca-wifi: Updating get_whc_wds to appropriate vendor command list
1. get_whc_wds entry was mapped incorrectly in the structure.
This change corrects them.

Change-Id: I1653b9bfc00d7b37977687f2a4e0299395855a75
2020-06-03 15:48:36 +05:30
syed touqeer pasha
199387e145 qca-wifi: Qcn9000 changes for rx flow identification
Qcn9000 changes to handle offset changes
with respect to rx flow search entry.

Validation Details: Unit testing Rx FSE feature and MIG run

CRs-Fixed: 2595489
Change-Id: Ib470dadf9d3dcad4203e7e9af7e5af69a3628a7a
2020-06-03 11:50:30 +05:30
Linux Build Service Account
a14ca19104 Merge "qca-wifi: use peer_id instead of peer_ids array from dp_peer" 2020-05-29 14:37:51 -07:00
Linux Build Service Account
21c27f8c0a Merge "qca-wifi: Reinitialize len in while loop" 2020-05-29 00:37:28 -07:00
Linux Build Service Account
0dc3603f12 Merge "qca-wifi: Correct the entry for chainmask in table" 2020-05-27 08:09:51 -07:00
Linux Build Service Account
ffb62a6c0d Merge "qca-wifi: Include interface name in cfr dump file" 2020-05-27 05:41:03 -07:00
Nandha Kishore Easwaran
e05a18bc88 qca-wifi: Reinitialize len in while loop
Reinitilize len variable in the while loop. This change is needed so
that the value of len does not exceed the max wmi limit.

Change-Id: Ibc86c2ab4eecb6d9919765f64d8a259ddea5475f
2020-05-27 14:31:38 +05:30
Abhiram Jogadenu
a5ef7e242f qca-wifi: Correct the entry for chainmask in table
dump_chmsk_tbl was incorrectly filled as a set command instead of
get command. Correct the entry in the table

Change-Id: Iffa4a3bad427617ce70099761054f4db4b8cd5dd
CRs-Fixed: 2694965
2020-05-26 20:07:22 +05:30
Linux Build Service Account
38edc3dc7b Merge "qca-wifi: Add support for FW cap for chan_width_switch_cmd" 2020-05-26 01:15:12 -07:00
Linux Build Service Account
d2a2034198 Merge "qca-wifi: Define restart bitmap using qdf_bitmap" 2020-05-26 01:15:11 -07:00
Shwetha G K
f83c0a4dcd qca-wifi: Include interface name in cfr dump file
Include interface name in cfr dump file.

Change-Id: I57f7d570ee3e58c7ebd3925c03005903868f3738
2020-05-22 17:25:02 +05:30