Commit Graph

1495 Commits

Author SHA1 Message Date
nobelj
c870ef44c4 qca-wifi: tx capture grouping ppdu with same schedule cmd id into list.
Grouping ppdu with same schedule command id into list
as there is no finite number on ppdu count with a same
schedule command id.

Change-Id: Ibf0fe7e29923b641ff6330c12200b351f42b6efb
2019-08-27 13:23:23 -07:00
Vignesh Mohan
e1b684588c qca-wifi: Fix FIND_IF_OVERLAP_WITH_WEATHER_RANGE API
While checking if the current channel overlaps with the
weather channel range, the first sub channel was checked if it is to
the left of weather channel start and the last sub channel was
checked if it is to the right of the weather channel end.

By the above logic, the API returns true only if the entire
weather channel range is within the current channel.

Fix the formula by checking if the first sub channel of the current
channel is to the left of the weather channel end and the last sub
channel is to the right of the weather channel start to find if any
of the current channel is a weather channel.

CRs-Fixed: 2515365
Change-Id: I8ca779f6dd8116a85121185e3ea71bca610f9ba4
2019-08-27 11:45:47 +05:30
Vignesh Mohan
46d8993c09 qca-wifi: Reset the picked agile channel if it is an excluded channel
While selecting a channel for aDFS, the current channel(s) are skipped
for preCAC (since they are CACed by the primary detector).

If no other channels are found and if the current channel
is the last in the preCAC list, aDFS is started on this channel.
This is because, the channel variable defined in the API locally
is not reset if it is an invalid channel.

Reset the agile channel at the end of the loop if it is one of the
excluded (current) channel.

Change-Id: I48cbfc3c511c05bed86b60eb9e2ca22f9b8e0362
CRs-Fixed: 2515324
2019-08-26 17:01:54 +05:30
Abhiram Jogadenu
fb6844f781 qca-wifi: Fill extracted phase information in CFR header
As part of FR 56301, phase data is being captured in CFR.
Fill the extracted information in CFR header.

Change-Id: Ia1f6245a1a18d1d11b266328b17e6506bd8439f4
CRs-Fixed: 2501944
2019-08-24 07:41:19 -07:00
Linux Build Service Account
6b4a50d0d5 Merge "qca-wifi: Add support for CFR capture on unassociated clients" 2019-08-23 05:37:30 -07:00
Linux Build Service Account
5d6f16d239 Merge "qca-wifi: Move protocol and flow tagging code out of common host components" 2019-08-22 15:37:30 -07:00
Abhiram Jogadenu
ea20fa5e53 qca-wifi: Add support for CFR capture on unassociated clients
As part of FR 56301, add support to capture CFR data for
unassociated clients on its Probe response's ACK

Change-Id: I14a4eead4ceeb3eb21d8f2bdf76007f873db1f4e
CRs-Fixed: 2501938
2019-08-22 11:48:38 +05:30
Linux Build Service Account
3bc0b63914 Merge "qca-wifi: Add Application support for tx msdu, bytes, retries" 2019-08-20 11:11:28 -07:00
Linux Build Service Account
e83248443e Merge "qca-wifi: Add support for msdu, bytes and retries" 2019-08-20 11:11:27 -07:00
Linux Build Service Account
6d05195a88 Merge "qca-wifi: Get Rix from 64-bit encoded value" 2019-08-20 04:37:49 -07:00
Linux Build Service Account
e0bc53fce5 Merge "qca-wifi: Move config files into component dev" 2019-08-19 03:52:44 -07:00
Ankit Kumar
e2b621246b qca-wifi: Change event dump log size
Changing event dump size to 25 to make it same for all
events as qdf has limitation on event size.
If size is more than 25 then event of type command doesn't
gets printed.

Change-Id: Iaf2d4c52242b99194f7405d7d69a4566db71ff01
CRs-Fixed: 2510317
2019-08-16 14:40:00 +05:30
Linux Build Service Account
e64c7e9cc6 Merge "qca-wifi: Smart Antenna WMI support for 11bit ratecode" 2019-08-15 21:37:31 -07:00
Linux Build Service Account
ea01bdde6b Merge "qca-wifi: Add support to enable/disable tx packet cap on per-peer basis" 2019-08-14 18:08:32 -07:00
Amir Patel
312cdd3f49 qca-wifi: Add Application support for tx msdu, bytes, retries
Add Application support for tx msdu, bytes, retries for
RDK stats

Change-Id: Ifb335065cc1b3d4aa9a6a2b74b9a88cc6aafd816
CRs-Fixed: 2509069
2019-08-14 02:50:27 -07:00
Amir Patel
8c9bc8c685 qca-wifi: Add support for msdu, bytes and retries
Add support for msdu, bytes and retries for RDK stats

Change-Id: Ifb20833cfc77bef8f4c14b9c04930d26a64d5b63
CRs-Fixed: 2509049
2019-08-14 15:14:30 +05:30
Amir Patel
56cf95a5a5 qca-wifi: Get Rix from 64-bit encoded value
Get Rix from 64-bit encoded value from
Rix, MCS, NSS, Preamble

Change-Id: I1794313166e740cf77240f4ab28a9772ce820099
CRs-Fixed: 2499069
2019-08-14 09:54:38 +05:30
Linux Build Service Account
52c8ecc843 Merge "qca-wifi: Add dfs_set_cfreq2 flag in multivdev_restart channel params" 2019-08-13 06:14:40 -07:00
Subrat Mishra
27912b929d qca-wifi: Smart Antenna WMI support for 11bit ratecode
Smart Antenna support for extracting 11bit ratecode and packing
for tx packet training.

Change-Id: I8b838f3af8a6d2060b40c912e282dd3f11bf0339
CRs-Fixed: 2506480
2019-08-13 01:45:06 -07:00
Sumeet Rao
37a8fbeee9 qca-wifi: Move protocol and flow tagging code out of common host components
Move protocol and flow tagging code out of common host driver components

CRs-Fixed: 2501573

Change-Id: Ia3c9d036216c2fa914f6649a92abe8ca45578274
2019-08-12 12:37:38 -07:00
Shreedhar Parande
77ac19d602 qca-wifi: Separate APIs for getting values of precac and agile precac
Currently single API is used to get dfs_precac_enable and
dfs_agile_precac_enable. This API was wrongly returning value for
dfs_precac_enable since agile capability was set even for Cascade.

Sepate out the GET APIs for getting dfs_precac_enable and
dfs_agile_precac_enable so that getting these flags becomes independent
of each other.

Change-Id: Ie617c04269f91db32f851871880c4df884517a67
CRs-fixed: 2501266
2019-08-12 02:51:59 -07:00
Varsha Mishra
f3417a607e qca-wifi: Handle vlan tagged duplicate skb for multipass phrase feature
Duplicate vlan tagged frames which need to be sent to repeater should
have unique check to avoid infinite iteration. Infinite iteration leads
to creation of nbuf every time loop is executed.

Change-Id: I2601461edc9e144f1058ed031ba14410563d0755
2019-08-11 01:47:32 -07:00
Linux Build Service Account
5e090cdb98 Merge "qca-wifi: Add a new feature to support tagging of IPv4/v6 flows" 2019-08-09 04:51:21 -07:00
Akshay Kosigi
7026f86668 qca-wifi: Move config files into component dev
Move CONFIG files specific for AP into component_dev
instead of keeping them in cmn_dev

Change-Id: I8d44faec5b0e43d2197e1d08549637702be3848d
CRs-Fixed: 2506560
2019-08-09 16:41:21 +05:30
Linux Build Service Account
9ef0c191fe Merge "qca-wifi: Build the preCAC list only for ETSI domain" 2019-08-07 23:09:35 -07:00
Sumeet Rao
4338fc07aa qca-wifi: Add support to enable/disable tx packet cap on per-peer basis
Currently, tx_monitor mode is enabled/disabled for all peers on a
per-pdev basis. Since tx_monitor mode consumes significant amount of
MIPS and reduces throughput, new requirement is to enable/disable
tx_monitor mode on a per-peer basis as well.

Change-Id: Ib70ccd3238dfd5fae1be92a81e9bf91fe441e228
CRs-Fixed: 2500931
2019-08-07 00:19:37 -07:00
Sumeet Rao
0ff576e867 qca-wifi: Add a new feature to support tagging of IPv4/v6 flows
Tags are programmed using wlanconfig commands. Rx IPv4/v6
TCP/UDP packets matching a 5-tuple are tagged using HawkeyeV2 hardware.
Tags are populated in the skb->cb in the REO/exception/monitor data
path and sent to upper stack

CRs-Fixed: 2470521
Change-Id: Id581159ae2b4a00c290a775aad526032e3a53a7f
2019-08-06 10:53:19 -07:00
Vignesh Mohan
1bf4fb8c2a qca-wifi: Add dfs_set_cfreq2 flag in multivdev_restart channel params
While switching to 36 HT160 as part of multivdev restart, the channel
params to be sent to FW are only updated with primary segment dfs set flag.

Consider if the primary channel is 36 (non DFS), in which case, the
primary HT80 segment is non DFS, but secondary HT80 segment is DFS. This
will be indicated to FW by sending the flags with dfs_set as FALSE and
dfs_set_cfreq2 as TRUE. But since dfs_set_cfreq2 is not updated incase of
multivdev restart, FW does not detect radar in the secondary detector.

Add proper dfs_set_cfreq2 flag in multivdev_restart channel params.

Change-Id: I875534c3f61b1d9a36efe1ec63505332a59a4dd1
CRs-Fixed: 2496923
2019-08-05 23:58:19 -07:00
Karunakar Dasineni
505d7d9c6c qca-wifi: Drop excessive PPDU status buffers
When CPU cores are fully loaded, PPDU stats process workqueue
is not getting enough time, resulting in excessive backlog of
PPDU status buffers. Check and drop buffers if the backlog is
beyond a threshold.

Change-Id: Ideef46cb4eec54dcd5a8315f36f2206653d81659
2019-08-05 07:27:37 -07:00
Linux Build Service Account
0e1d8dd797 Merge "qca-wifi: Handling vlan tagged frames for multipass phrase feature" 2019-08-05 01:09:04 -07:00
Linux Build Service Account
377dfe439d Merge "qca-wifi: Add a DFS API to reset ADFS config" 2019-08-04 11:05:52 -07:00
Varsha Mishra
52e3f7f1ae qca-wifi: Handling vlan tagged frames for multipass phrase feature
1. Remove vlan tag in tx and enqueue to hardware.
2. Add vlan tag in rx after peer-vlan_id lookup.

Change-Id: I37c34b1d54a497700101e78ad6930b91aa6b43e9
2019-07-31 20:22:06 +05:30
nobelj
b53625aefe qca-wifi: Fix skb under panic issue.
Handled SKB Null check while sending to
above stack as part of TX capture feature.

Change-Id: I4e4f8764f48c4ad9efcebae16830b3731169cf14
2019-07-30 07:01:23 -07:00
Vignesh Mohan
8d81493bc3 qca-wifi: Build the preCAC list only for ETSI domain
The preCAC list (forest) is built irrespective of the current DFS domain.
But since preCAC feature is only supported by ETSI spec., the list will
not be used by other domains.

Build the preCAC list only for ETSI domain.

Change-Id: I5949fda8b2c51237f80ce5335d9c9453f46ef3a4
CRs-Fixed: 2499643
2019-07-30 15:30:28 +05:30
Priyadarshnee S
4842dac1b4 qca-wifi: Add a DFS API to reset ADFS config
Add an API to reset Agile DFS config variables. This will make sure that
ADFS config variables are consistent when we dynamically disable/enable
a PDEV.

CRs-Fixed: 2481535
Change-Id: I3842ed45f8a071523c3de1face0463d21da737bb
2019-07-30 07:00:27 +05:30
Linux Build Service Account
b6bd878499 Merge "qca-wifi: Replace void * data members of mlme with specific type" 2019-07-29 09:38:19 -07:00
Linux Build Service Account
c6ba6596d7 Merge "qca-wifi: Replace void * data members of cp_stats with specific type" 2019-07-26 22:34:18 -07:00
Himanshu Batra
ada6f9d07d qca-wifi: Replace void * data members of mlme with specific type
Replace mlme void * data members having different types across
different drivers with specific type.

Change-Id: I8d16fe8fb8af65c30b2ee17b9b018b9903e968fa
CRs-Fixed: 2463030
2019-07-26 04:44:49 -07:00
Himanshu Batra
dd4f3f1e19 qca-wifi: Replace void * data members of cp_stats with specific type
Replace cp_stats void * data members haing different types
across different drivers with specific type

Change-Id: I1a5ed35428607dbfb070459b88358b68f49f8cb3
CRs-Fixed: 2462355
2019-07-26 10:33:06 +05:30
Shashikala Prabhu
d24065d0ce qca-wifi: Fix compilation errors for smart antenna disable case
Smart antenna feature is disabled for 256M config. This change
fixes the compilation errors.

Change-Id: Ie43a5ddf0a88d8a022e052490601ac57e184b8ac
CRs-Fixed: 2494385
2019-07-25 10:39:35 -07:00
Linux Build Service Account
d735f5e25d Merge "qca-wifi: Extract Peer Ratecode list event data" 2019-07-25 01:06:51 -07:00
Linux Build Service Account
603df432f8 Merge "qca-wifi: Add support for OFDMA UL per user info" 2019-07-25 01:06:44 -07:00
Linux Build Service Account
8b73b3c50d Merge "qca-wifi: Configure proper agile preCAC timeout value" 2019-07-23 20:35:16 -07:00
Linux Build Service Account
2ea12f29e2 Merge "qca-wifi: Update pdev restart bmap from restart send bitmap" 2019-07-20 06:05:14 -07:00
Linux Build Service Account
7cec258273 Merge "qca-wifi: Replace void * tgt_if_handle with abstract type" 2019-07-19 04:10:12 -07:00
Santosh Anbu
4fde2e5169 qca-wifi: Update pdev restart bmap from restart send bitmap
Add change to copy the contents of multivdev restart send bitmap
to the pdev restart attribute holder which will be reset when all
the vdevs of the pdev are in the UP state

Change-Id: Ieef13fd5b5db25ddd2b8736c9d01786c537c3483
CRs-Fixed: 2492538
2019-07-19 16:20:29 +05:30
Vignesh Mohan
fb2c9f9864 qca-wifi: Configure proper agile preCAC timeout value
According to the ETSI speculation, off-channel CAC  has a
minimum timeout value of 6 mins (non-weather) and 1 hour (weather). The
maximum timeout value is 4 hours (non-weather) and 24 hours (weather).

Current implementation always took 60 seconds (1 min) as the default
preCAC timeout value. Add changes to implement proper timeout values
based on the channel (weather or non-weather). As part of this change,
add an API to determine if a channel is within this range based on
the edge channels of the given bandwidth.

The API (dfs_start_agile_precac_timer) is called inside
dfs_get_ieeechan_for_agilecac which is used to find the next channel
for agile CAC. Move dfs_start_agile_precac_timer outside
to functionally differentiate each APIs.

Change-Id: Idf3f371b0ab839a746cfba69e86f58202698f3c3
CRs-Fixed: 2482929
2019-07-18 15:29:24 +05:30
Linux Build Service Account
bdf813bfc8 Merge "qca-wifi: Check for proper channel width during Agile CAC" 2019-07-18 01:20:36 -07:00
Vignesh Mohan
2ec51b254e qca-wifi: Check for proper channel width during Agile CAC
While picking a channel to start Agile CAC on, the current channel
width enum is checked if it is non zero and only then a channel is picked.

However, the channel width value of 0 indicates the width is 20MHz.
Check if the channel width value is not CH_WIDTH_INVALID and only then
start Agile CAC.

Change-Id: Id024631fc7b034fe87f2070d150da64cf07c49ae
CRs-Fixed: 2491517
2019-07-17 14:41:45 +05:30
Himanshu Batra
37b16cda06 qca-wifi: Replace void * tgt_if_handle with abstract type
Replace void * tgt_if_handle of objmgr psoc/pdev with
abstract type handles provided by target interface

Change-Id: I903bbae99ec784fe445dc55f954792542d91f380
CRs-Fixed: 2467129
2019-07-16 22:40:06 -07:00