Commit Graph

1285 次程式碼提交

作者 SHA1 備註 提交日期
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
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
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
Chaithanya Garrepalli
5a6f740f71 qca-wifi: user_id check while accessing ppdu_info->rx_msdu_info
Add max user_id check while accessing ppdu_info->rx_msdu_info[]
to avoid out of bound array access.

Change-Id: I776aaec4d4e18e0f9af0b28718e61c81e9e32eab
2019-07-02 14:22:59 +05:30
Aakanksha Doda
65b54add36 qca-wifi: Fix compilation warnings
Fix incompatible pointer types

Change-Id: Ib607ac495b23b8743671fe5b03654b43ad8a2061
2019-07-01 14:45:10 +05:30
nobelj
68866584a3 qca-wifi: Free ppdu when wbm completion comes out of order
In TX packet capture, we expect wbm to comes in order
but sometimes we see it comes out of order. During that case we
free msdu and mpdu that we recreate for ppdu.

Change-Id: Id8e6082ade4e3d24937af490014c0fe4152906d8
2019-06-26 06:50:16 -07:00
Naga
43742fe519 qca-wifi: Add cp_stats support for vdev delete all peer
Add counters for vdev delete all peer requests
and responses in cp_state component.

Change-Id: Ifbd9a35abe32b3e20db1ac784e1db78b415e46f2
CRs-Fixed: 2477610
2019-06-24 17:17:30 +05:30
Subrat Mishra
33d83c6dd0 qca-wifi: Set attribute for Tx antenna WMI TLV cmd
Set right attribute for SMART Antenna Tx config WMI TLV command.

Change-Id: I8c4404ac8987605d9372846768bed6cde86cdf90
2019-06-21 05:22:11 -07:00
Linux Build Service Account
daa6bcf667 Merge "qca-wifi: Fix for removal of common_wmi_handle" 2019-06-20 14:36:50 -07:00
Akshay Kosigi
b247d8e689 qca-wifi: Fix for removal of common_wmi_handle
Add changes to remove usage of common_wmi_handle
Instead use wmi_unified_t as opaque pointer

Change-Id: Icaad5f740e4a3c7de5cbe7a5713ae0a9b550b542
2019-06-19 11:29:25 +05:30
Amir Patel
53eceec86d qca-wifi: Free TX/RX_PPDU nbuf after processing
Before this change when peer rate stats are enabled,
TX/RX_PPDU_DESC nbuf was getting free in ol_ath_sched_ppdu_stats()
which is not proper as whoever is consumer should free the buffer.

Change-Id: I0543072ddca7aa14e9092864a8c07229072925a5
CRs-Fixed: 2451257
2019-06-18 09:56:56 -07:00
Linux Build Service Account
504ff4d4b4 Merge "qca-wifi: Fix use after free when bpr flag enabled" 2019-06-15 01:07:29 -07:00
nobelj
c0b383c43a qca-wifi: Fix use after free when bpr flag enabled
tx capture flag check added and corresponding check added
during skb free.

Change-Id: I5f367b59fd715a56766fa5614b650c6486197775
2019-06-13 21:23:02 -07:00
nobelj
70bf56fc09 qca-wifi: Increased maximum supported ppdu count in a burst
Increased maximum supported ppdu count in a burst from 10 to 50.
added some additional fix.

Change-Id: I1aed76a25f769d5689b23c92797779328e34a169
2019-06-13 12:22:42 -07:00
Linux Build Service Account
68ba7c9fdc Merge "qca-wifi: Add rssi_chain support for peer rate stats" 2019-06-13 02:36:23 -07:00
nobelj
d4503ac191 qca-wifi: Fix cpu stall on TX capture feature
Fix cpu stall during TX capture feature enable
and copy and expand sk_buff is used instead of
expanding sk_buff header alone.

Change-Id: I100e13304f4e1cd3dfabd3d6177d658be8fcb31f
2019-06-10 11:17:29 -07:00
Linux Build Service Account
8a8ca31d60 Merge "qca-wifi: Free precac_entry from ETSI Precac required list on radar detect" 2019-06-07 08:35:17 -07:00
Pranita Solanke
4c04bc9724 qca-wifi: Move ME feature to component dev
We are moving multicast enhancement feature out of common code.
As part of this change move the APIs to component dev.

Change-Id: I2e6cecdf7a690416544825e8c51e04c4484ddde0
2019-06-05 08:07:46 -07:00
Hariharan Basuthkar
4a439c7a2a qca-wifi: Free precac_entry from ETSI Precac required list on radar detect
When the CAC timer is in progress and radar is detected, a NULL pointer
dereference is observed when the radar detected channels are removed
from etsi required lists and added to NOL.

This issue is seen as the next etsi precac entry in the etsi required
list is freed instead of the current etsi precac entry.

This issue is fixed by freeing the current etsi precac entry in the
etsi precac required list.

Change-Id: I609174b23b0d6d2ea36ca26b011359dcf5876c3a
CRs-Fixed: 2463762
2019-06-04 03:18:22 -07:00
Linux Build Service Account
7ca2a2fdee Merge "qca-wifi: Protocol tag support in lite rx monitor" 2019-05-30 20:35:42 -07:00
Linux Build Service Account
527241866d Merge "qca-wifi: Consolidate IEEE80211_ADDR_LEN to QDF_MAC_ADDR_SIZE" 2019-05-30 07:35:42 -07:00
Linux Build Service Account
3ebe25f3a4 Merge "qca-wifi: Capture ppdu_cookie in mpdu_info" 2019-05-29 17:34:26 -07:00
Linux Build Service Account
65ab50035d Merge "qca-wifi: Update feature wds APIs and move dp_peer_teardown_wifi3 to cmndev" 2019-05-29 13:05:05 -07:00
Prathyusha Guduri
76cd8648a3 qca-wifi: Capture ppdu_cookie in mpdu_info
ppdu_cookie extracted from ppdu htt completion in user stats tlv is
copied to mpdu_info which is delivered to upper layer

Change-Id: I9c3b5a86b345b5f5545ec81b41b682c82547d5f5
2019-05-27 02:00:56 -07:00
Himanshu Batra
e460ccec98 qca-wifi: Consolidate IEEE80211_ADDR_LEN to QDF_MAC_ADDR_SIZE
Consolidate multiple (redundant) IEEE80211_ADDR_LEN to QDF_MAC_ADDR_SIZE

Change-Id: I30790ed7b8e6299353e639fc4cd39f72e8e699cd
CRs-Fixed: 2439274
2019-05-26 21:58:23 -07:00
Linux Build Service Account
85788ec51c Merge "qca-wifi: Add support for InterCAC channel switch in Hawkeye" 2019-05-24 09:35:04 -07:00
Linux Build Service Account
8ad1950ec3 Merge "qca-wifi: Remove unused peer mgmt stats" 2019-05-24 01:36:10 -07:00
Karunakar Dasineni
6169bd6e2a qca-wifi: Protocol tag support in lite rx monitor
Add protocol tagging support in lite rx monitor mode.

Change-Id: If95f43cade89d2a980dd6868f40fe7f5413bf019
CRs-Fixed: 2448531
2019-05-23 19:41:24 -07:00
Vignesh Mohan
445f14c8fc qca-wifi: Add support for InterCAC channel switch in Hawkeye
Currently if InterCAC support is enabled:

1. If the user configures a DFS channel in 80MHz mode, the
   radio switches to an intermediate channel and the user
   desired channel is added on the top of the lists of the
   channels to be CACed using AgileDFS.

2. If the user configures a DFS channel in 160MHz mode, the
   radio switches to an intermediate channel and the user
   desired channel is split into two 80MHz channels and are
   added on the top of the list.

3. After agile CAC is completed on the user configured channel,
   the radio stays on the intermediate channel.

Change the current channel (and mode) back to user desired
channel, after agile CAC is completed on the desired channel.

Change-Id: Ib3e7757316ebddfc75f1b1f1f4bb8c5debd04d62
CRs-Fixed: 2448224
2019-05-23 03:28:34 -07:00
Pranita Solanke
0b5337fd6b qca-wifi: Update feature wds APIs and move dp_peer_teardown_wifi3 to cmndev
dp_tx_mec_handleri,dp_rx_wds_add_or_update_ast,
dp_rx_wds_srcport_learn were changed inside common dp.
As part of cleanup we have moved it to component
dev.This change adopts to the latest dp_tx_mec_handler version.
With this change we are moving dp_peer_teardown_wifi3 to common code as
it is also required by MCL driver code.

Change-Id: Ieba59ceb2f3a3b21f3588fe2685e0dc720ee049a
2019-05-23 11:21:32 +05:30
Amir Patel
bd3e9bb9b3 qca-wifi: Add rssi_chain support for peer rate stats
Add rssi_chain support for peer rate stats

CRs-Fixed: 2445933
Change-Id: I98a0bb6e17cfc5ef22a36a1fe632b4dbe2c0d02a
2019-05-22 14:54:05 +05:30
Kai Chen
1cc9fe7b53 component_dev: Fix memleak issue on Rx enhanced capture
Fix memleak on Rx enhanced capture mode. Adding frag list on the
cloned buffer causing the memory leak. Allocate a MPDU control
block. The MPDU header(128 bytes) and mdsu headers(128 bytes)
link list is attached to MPDU control block frag list. The MPDU
control block is sent to osif layer to send to network stack.

Change-Id: If6c81b9d1027dfbb12277574fe9598f6fb8c5eca
2019-05-21 17:50:21 -07:00
Santosh Anbu
cf2e9f8ddc qca-wifi: Remove unused peer mgmt stats
Peer delete request and response stats has been moved to per vap
stats.

Change-Id: I9f46ead931d4b9f13166db9510394993575516d9
CRs-Fixed: 2455845
2019-05-20 14:17:19 +05:30
Linux Build Service Account
02c71a8024 Merge "qca-wifi: Move WIN specific code out of cmndev" 2019-05-15 18:35:56 -07:00
Linux Build Service Account
50d89ab4a6 Merge "qca-wifi: Use arrays for param conversion from host to target type" 2019-05-13 23:03:57 -07:00
Surya Prakash Raajen
da92110871 qca-wifi: Use arrays for param conversion from host to target type
Convert host param id to target param id using arrays
instead of switch case. This enables removal of
CONFIG_MCL compile time macro and use specific macro
ENABLE_HOST_TO_TARGET_CONVERSION for conversion

Change-Id: I4dae15baac0c74846155a5f1ee3328dfc2f28ad5
CRs-Fixed: 2418030
2019-05-13 17:49:27 +05:30
Linux Build Service Account
d3daa53e99 Merge "qca-wifi: Move peer delete req/resp stats from pdev to vdev" 2019-05-13 04:35:26 -07:00
Pranita Solanke
6d9b087650 qca-wifi: Move WIN specific code out of cmndev
Move WIN specific structures and features(WDS/AST/ME)
out of common code inside component dev

Change-Id: I9a9696fa891d3f5dac1a86813fc53af18d7be3a6
2019-05-13 13:33:45 +05:30
Linux Build Service Account
3dcc1794e9 Merge "qca-wifi: Move WIN ENH TX capture feature out of cmndev" 2019-05-10 13:36:54 -07:00