Commit Graph

1759 Commits

Author SHA1 Message Date
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
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
Linux Build Service Account
0d19542bc1 Merge "qca-wifi: Fix ppdu_id mismatch issue" 2020-06-12 09:39:36 -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
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
Chaithanya Garrepalli
887962ea4b qca-wifi: use peer_id instead of peer_ids array from dp_peer
use peer_id instead of peer_ids array from dp_peer

Change-Id: I7a3692b0260be5fdbc5d7670ead27f6ff8336c00
2020-05-21 21:47:28 +05:30
Aditya Sathish
c48ab01b3c qca-wifi: Add support for FW cap for chan_width_switch_cmd
WMI_PEER_CHAN_WIDTH_SWITCH_CMDID sent from host fragments the
command based on the size of the WMI buffer.

Add support to instead use a FW regulated value taken from the
WMI service ready extended_2 event.

CRs-Fixed: 2684549
Change-Id: I9577ad11658c7be9f69f868b92640d2d4285635c
2020-05-21 01:15:19 -07:00
Linux Build Service Account
6cfa3df987 Merge "qca-wifi: Add sched_cmdid check for tx cap retry queue" 2020-05-20 12:10:35 -07:00
Linux Build Service Account
86cf37791f Merge "qca-wifi: Fix compilation errors when ADFS macro is disabled" 2020-05-20 08:39:46 -07:00
Linux Build Service Account
7b5820ce1d Merge "qca-wifi: Use precac entry's BW instead of hardcoded values" 2020-05-20 04:40:04 -07:00
Santosh Anbu
37f84d48a4 qca-wifi: Define restart bitmap using qdf_bitmap
Add change to define restart bitmap using the generalized bitmap
declaration. Also use generalized function to check if any of the
bits are set in the bitmap.

Change-Id: I2c14a43982eb6e7cb5965253633ac00b357314e1
2020-05-20 14:54:01 +05:30
Linux Build Service Account
10165e6630 Merge "qca-wifi: Use node's subchannel count instead of hardcoded values" 2020-05-19 08:08:24 -07:00
Vignesh Mohan
8fb7a00b04 qca-wifi: Fix compilation errors when ADFS macro is disabled
Fix compilation errors when QCA_SUPPORT_AGILE_DFS macro is disabled
by adding the macros in certain APIs that were wrongly placed
outside the ADFS macro.

CRs-Fixed: 2689702
Change-Id: I89a4e43926625743b9f41ae142c6a45272b0c1a2
2020-05-19 03:43:10 -07:00
Vignesh Mohan
3324ba5945 qca-wifi: Use precac entry's BW instead of hardcoded values
While determining the preCAC entry in which a channel falls
under, the range of the entry is calculated from the center frequency
and the hardcoded offset of +- 75 (for 160 MHz).

In certain RDPs which supports only a maximum of 80MHz, the
entries have a range of +- 40MHz from the center, but since this value
is always hardcoded to +- 75MHz, certain channels are wrongly
misinterpreted to fall in a preCAC entry even though the entries
do not have that channel.

To avoid such anamolies, use the precac entry's BW value to
determine the range of the entry instead of hardcoding it to
+- 75MHz (offset for 160MHz/165MHz).

CRs-Fixed: 2684927
Change-Id: I412cd433d50bad82e45af1d9f34bcd566381eccf
2020-05-19 15:55:11 +05:30
Adwait Nayak
a118459804 qcawifi : Allocate lut based on number of DBR entry
In case of low memory, it could be difficult to allocate luts at
once. So, allocate lut based on number of DBR entry and
split memory allocation.

Change-Id: Ib9d3940147f2adc2a22d0cc7a82210e29c9cd7d7
2020-05-18 07:18:05 -07:00
Linux Build Service Account
7a28bb183e Merge "qca-wifi: Define restart bitmap using qdf_bitmap" 2020-05-18 03:08:21 -07:00
Christopher Chopp
cf092b85d9 qca-wifi: Add sched_cmdid check for tx cap retry queue
Before adding a ppdu to the retry queue, check if the
sched_cmdid matches that of the first ppdu in the queue.
If it does not, then the retry queue should be freed as
the received ppdu is not a retry of the ppdu in the queue.

Change-Id: I96a097f57d86539c8395af28f6fd57c13f4cad49
2020-05-15 14:06:31 -07:00
Linux Build Service Account
a37692e48e Merge "qca-wifi: remove dependency of public files from wlan_objmgr_psoc_obj.h" 2020-05-15 12:12:14 -07:00
Vignesh Mohan
6479cf57b1 qca-wifi: Use node's subchannel count instead of hardcoded values
While finding the CAC status of a channel, the tree root's
subchannel count is hardcoded to 8 (subchannel count for 160MHz
channel) after the Pine ADFS changes.

In certain RDPs, the maximum bandwidth of a channel is only 80MHz
and in those cases, the preCAC tree roots are 80MHz channels. Now
while checking if a channel is CAC done, the number of CAC done
subchannels should be equal to the number of subchannels in the
corresponding tree node. But since the tree root's subchannel count
is not calculated but is hardcoded to 160MHz, it fails in these
RDPs (with 80MHz channels) and a channel is never considered CAC
done.

To avoid this issue, use the tree root's n_valid_subchs value
as the number of subchannels instead of hardcoding it to 8.

CRs-Fixed: 2684954
Change-Id: I85e5ea6e4bb71dc9b1ba951b8e227f487e3d11f6
2020-05-15 16:29:07 +05:30
Linux Build Service Account
a69813a789 Merge "qca-wifi: Multi-Link Repeater Functionality" 2020-05-14 11:09:17 -07:00
Linux Build Service Account
2fe87301eb Merge "qca-wifi: data rate set incorrectly due to corrupted mcs" 2020-05-13 13:39:57 -07:00
Neha Bisht
16e5cb38d2 qca-wifi: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_lmac_if_def headerfile from
wlan_objmgr_psoc_obj.h in component_dev

Change-Id: I5aa8f43845538e65d25c14776ec4ec9db174f0a8
CRs-Fixed: 2643301
2020-05-13 11:56:40 -07:00