Wykres commitów

1321 Commity

Autor SHA1 Wiadomość Data
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
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
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
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
Kai Chen
4e7be2911c qca-wifi: Add support for OFDMA UL per user info
Add support for OFDMA UL per user info such as
nss, mcs, ofdma RU start and ofdma RU size for
RX enhanced capture mode.

Change-Id: I5dce2d5ee9fcabc8a782eaf2919a943d4e7921c4
2019-07-16 13:57:12 -07:00
Linux Build Service Account
685bdc85a1 Merge "qca-wifi: Enable non-TLV support for vdev delete all peer" 2019-07-16 13:52:49 -07:00
Linux Build Service Account
b86767583c Merge "qca-cmn: Remove send_pdev_set_chan_cmd_non_tlv" 2019-07-16 07:22:02 -07:00
Subrat Mishra
ab79f95873 qca-wifi: Extract Peer Ratecode list event data
Extract peer ratecode list event data for Smart Antenna.

Change-Id: I3c2b710f9cc6a8483efb145a6ff1a447d6fc62b6
CRs-Fixed: 2476518
2019-07-16 04:09:21 -07:00
Linux Build Service Account
e1e452b9bb Merge "qca-wifi: Kale ToT compilation Fixes" 2019-07-16 00:43:42 -07:00
Linux Build Service Account
4a81f34e20 Merge "qca-wifi: Enable TLV support for vdev delete all peer" 2019-07-14 21:18:50 -07:00
Hariharan Basuthkar
4d8a290f9a qca-cmn: Remove send_pdev_set_chan_cmd_non_tlv
Remove send_pdev_set_chan_cmd_non_tlv as it is unused.

Change-Id: I1bd49429a6192e0e308a1db14793311386411700
CRs-Fixed: 2489591
2019-07-14 17:38:15 -07:00
Naga
caf7c0cc78 qca-wifi: Enable non-TLV support for vdev delete all peer
Enable non TLV support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I77a27544fecedffa803e795d901829eb2e9b7a19
CRs-Fixed: 2477607
2019-07-13 07:40:25 -07:00
Linux Build Service Account
1beb51e065 Merge "qca-wifi: Provide 20/40/80MHz Agile DFS support" 2019-07-12 02:04:39 -07:00
Linux Build Service Account
30a9e4a754 Merge "qca-wifi: Add stats mcs, nss and bw" 2019-07-11 23:09:43 -07:00
Linux Build Service Account
bfa82607b5 Merge "qca-wifi: Free ppdu when wbm completion comes out of order" 2019-07-11 12:37:19 -07:00
Linux Build Service Account
eaf615c3ad Merge "qca-wifi: Replace void * wmi_hdl with abstract type" 2019-07-11 12:37:19 -07:00
Linux Build Service Account
f505348a4c Merge "qca-wifi: Replace void * wmi_hdl with abstract type" 2019-07-11 12:37:18 -07:00
Naga
1e88b85a04 qca-wifi: Enable TLV support for vdev delete all peer
Enable TLV support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I9a4e50a97b234f8e39b0d5e7896138f1e76b3c2f
CRs-Fixed: 2477605
2019-07-11 02:56:06 -07:00
Chaitanya Kiran Godavarthi
6d13ce0f35 qca-wifi: Add stats mcs, nss and bw
Add encoding macros for mcs nss and bw stats

Change-Id: Icc1b238380be8d8d5596e3c7117696c0b0b4cbeb
2019-07-11 01:52:46 -07:00
velagapudi suresh
c8fc5d961f qca-wifi: Kale ToT compilation Fixes
Modified some of print formats to required print format identifiers.

Change-Id: I15191c534572cd50ab5e961c622fad1fe4b6726f
2019-07-11 11:29:07 +05:30
Linux Build Service Account
92d227899a Merge "qcawifi: Introducing event logger for HTT command/event Tx/Rx" 2019-07-09 20:09:48 -07:00
Vignesh Mohan
245170b6a6 qca-wifi: Provide 20/40/80MHz Agile DFS support
In the current Agile DFS design it is assumed that the agile detector's
bandwidth is always 80Mhz. However, the agile detector inherits the
bandwidth of the current operating channel with the following
mapping:
Current Chan BW --- > AGILE BW
20                    20
40                    40
80/80+80/160          80

Provide support for Agile DFS on 20/40/80MHz channels based on the
current channel's bandwidth. Maintain a Binary Search Forest,
with each Binary Search Tree (BSTree) rooted by an 80MHz channel
structure. These BSTrees are connected by the preCAC list.
The primary key (identifier) of each node in the BSTree is an IEEE
channel. Each level of the BSTree has a unique bandwidth.

Remove the three existing precac lists: precac_required_list,
precac_done_list, precac nol_list.
Maintain
1) regular CAC and preCAC
2) regular  NOL and preCAC NOL
information in the same Binary Search Forest.

Operations available on the preCAC BSF:
 1. Allocate nodes of each tree in the forest:
     Use level order BST insertion to create and add individual nodes of
     the tree.
 2. Deallocate nodes of each tree in the forest:
     Use an algorithm to add current node's right subtree to the last leaf
     node and remove left nodes (from the root) iteratively [O(N)].
 3. Print precac tree states:
     Use morris preorder tree traversal to print the states of the nodes
     in the entire forest.
     User space command: radartool -i wifi[x] showprecaclists.
     Example: For a HT80 channel list,
   [Syntax of each node: <center_channel_ieee>(<CAC_status>,<NOL_status>)]

	106(0,0)
	|
	|------- 102(0,0)
	|        |
	|        |------- 100(0,0)
	|        |
	|        |------- 104(0,0)
	|
	|------- 110(0,0)
	|        |
	|        |------- 108(0,0)
	|        |
	|        |------- 112(0,0)

 4. Find a channel for preCAC for a given bandwidth:
     Use the current status of the node to find the appropriate channel
     from the Forest based on it's bandwidth. [O(N)]
 5. Find if channel is preCAC done:
     Search the tree (Binary tree search) which has the channel requested
     and return the CAC status.
 6. Mark/unmark the channel as CAC done:
     Given a channel, find all 20MHz subchannels and mark/unmark as CAC
     completed.
 7. Mark/unmark the channel as NOL:
     Given a channel, find all 20MHz subchannels and mark/unmark as NOL.

CRs-Fixed: 2464929
Change-Id: If4a806207025edfd9e9b99de310963bb8a3a5007
2019-07-08 09:57:49 -07:00
Himanshu Batra
273a72dfcc qca-wifi: Replace void * wmi_hdl with abstract type
Replace void * wmi handle with abstract type handles
provided by wmi component.

Change-Id: I767d6bc9a285cb1c874fe61708f4413c264beb1b
CRs-Fixed: 2484978
2019-07-08 10:40:59 +05:30
Himanshu Batra
c34f66f1e1 qca-wifi: Replace void * wmi_hdl with abstract type
Replace void * wmi handle with abstract type handles
provided by wmi component

Change-Id: Ia30a5fde2c949771ef46a51fec16dd938d346325
CRs-Fixed: 2484978
2019-07-05 20:49:20 +05:30
Naga
d4a15603c0 qca-wifi: Add WMI support for vdev delete all peer
Add WMI support for vdev delete all
peer request which will replace individual peer
delete of peers under a vdev during vdev down.

Change-Id: I797519868c3e9b8e6a163f2857dfa2bd93e630d9
CRs-Fixed: 2477638
2019-07-03 21:42:27 -07:00
Linux Build Service Account
749cde6605 Merge "qca-wifi: Add cp_stats support for vdev delete all peer" 2019-07-03 07:05:02 -07:00
Linux Build Service Account
1a7c6e1eef Merge "qca-wifi: user_id check while accessing ppdu_info->rx_msdu_info" 2019-07-02 18:34:33 -07:00
Ankit Kumar
5bb1127c34 qcawifi: Introducing event logger for HTT command/event Tx/Rx
htt_command_record, htt_event_record, htt_wbm_event_record
function is used to log command,event, wbm event to
in-memory data-structure.This function is exported and can
be called to record htt comamnd/event.

Change-Id: I8f917183d26a219543d235d4dc6117839e3f33db
CRs-Fixed: 2428751
2019-07-02 14:42:43 +05:30