Граф коммитов

59 Коммитов

Автор SHA1 Сообщение Дата
Arun Khandavalli
2476ef58f4 qcacld-3.0: Add support for BPF data offload
qcacld-2.0 to qcacld-3.0 propagation

Currently wlan firmware has multiple different packet filters,
offload features such as Magic Pattern filter, MCBC filter,
RA filter and Bitmap pattern filter.
Firmware has to maintain different filter settings and different
source code to compare the filters.

BPF data offload is common architecture for packet filter offload.
Implement BPF data offload in driver.

Change-Id: I63a5f7222de74cbb80d656f20f42d1b8453dce26
CRs-Fixed: 960473
2016-05-06 17:01:47 -07:00
Manishekar Chandrasekaran
5d46f70d35 qcacld-3.0: Replace soc level references of set mac config
Replace the WMI command WMI_SOC_SET_DUAL_MAC_CONFIG_CMDID
and event WMI_SOC_SET_DUAL_MAC_CONFIG_RESP_EVENTID with
WMI_PDEV_SET_MAC_CONFIG_CMDID and
WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID respectively since
the former are obsolete. The new WMI commands and events
additionally carry the pdev id.

Change-Id: I77eab3ead005bbb7f951ce7e077cd661813cb628
CRs-Fixed: 989502
2016-05-04 21:17:03 -07:00
Manishekar Chandrasekaran
d96403461f qcacld-3.0: Replace soc level references of set hw request and response
Replace the obsolete WMI command WMI_SOC_SET_HW_MODE_CMDID with
WMI_PDEV_SET_HW_MODE_CMDID and event WMI_SOC_SET_HW_MODE_RESP_EVENTID
with WMI_PDEV_SET_HW_MODE_RESP_EVENTID respectively. These new WMI
commands and events additionally carry the pdev id and all mac id
references are replaced with pdev id.

Change-Id: If2a3f93dcd1947eedce8d4eac8ed936166f7e078
CRs-Fixed: 989502
2016-05-04 21:14:01 -07:00
Govind Singh
efc5ccd7ca qcacld-3.0: Replace mac_id with pdev_id in WMI PDEV commands
Replace mac_id with pdev_id for WMI pdev commands and
vdev start response handler to support multi-radio in
converged firmware. In order to maintain backward
compatibility with old fw, host needs to check
WMI_SERVICE_DEPRECATED_REPLACE service id in service
bitmap and needs to fill pdev id or mac id accordingly.

Change-Id: I7e6b40b4c0bd20e967dc0a383b480068e256486f
CRs-Fixed: 994415
2016-05-02 23:28:03 -07:00
Manishekar Chandrasekaran
7009f25399 qcacld-3.0: Replace WMI_SOC_SET_PCL_CMDID with WMI_PDEV_SET_PCL_CMDID
Replace the obsolete WMI command WMI_SOC_SET_PCL_CMDID with
WMI_PDEV_SET_PCL_CMDID. WMI_PDEV_SET_PCL_CMDID carries the weightage
for all the channels (preferred and non-preferred) in the same order
and length as that of the command WMI_SCAN_CHAN_LIST_CMDID. This is
in contrast to the command WMI_SOC_SET_PCL_CMDID which carries only
the preferred channel list.

Change-Id: I040f4307491d3242d2e9409dbbe8005c4b307bf5
CRs-Fixed: 989502
2016-04-25 22:55:25 -07:00
Rajeev Kumar
daf1c61b87 qcacld-3.0: Increase target ready timeouts
WMA target ready timeout is not large enough for FW response.
Increase WMA target ready timeout value to FW recommended value
of 6 seconds.

Change-Id: I8b05dc79ead4cdae8d1ff44d76b405d6f4df164a
CRs-Fixed: 999277
2016-04-20 22:24:38 -07:00
Varun Reddy Yeturu
f907f91deb qcacld-3.0: Reduce packet loss while roaming
As soon as the firmware is done with the roaming scan and about to
start hand-off, it will notify the host that the roaming is about
to start using WMI_ROAM_NOTIF_ROAM_START. The host driver will
then notify the upper layers to stop sending the packets and
the host later informs them as part of roam synch propagation
after roaming is done to start sending the packets.

Once the firmware sends the notification and if it fails to roam
for some reason, then it will send another notification
WMI_ROAM_NOTIF_ROAM_ABORT to let the host know the upper layers
to resume sending the packets again.

Introduce an operation code for the CSR roaming callback to determine
what it needs to do when called by the lower layers.

CRs-Fixed: 996949
Change-Id: I674262b95f1781747b34fb675ad179952a8ae4d1
2016-04-20 22:24:17 -07:00
Tushnim Bhattacharyya
7624a18def qcacld-3.0: disallow concurrency with 160Mhz or 80+80Mhz
When there is a VHT160 or VHT80+80 connection present disallow
concurrency as no other connection is supported in VHT160/80+80
mode.

Change-Id: I6ec6fe3e7883cef34d141ee78311c1d8a0966208
CRs-Fixed: 996928
2016-04-20 22:23:34 -07:00
Varun Reddy Yeturu
bbbbe237f9 qcacld-3.0: Enable compile time enable/disable for roaming
Enable compile time featurization support for both LFR2.0
and LFR3.0 using WLAN_FEATURE_HOST_ROAM and
WLAN_FEATURE_ROAM_OFFLOAD respectively

CRs-Fixed: 978905
Change-Id: Ib5976cd0cd5a6e117a1334bfc73a043e36e25f77
2016-04-17 18:10:33 -07:00
Srinivas Girigowda
515a9efb36 qcacld-3.0: Remove FEATURE_WLAN_ESE_UPLOAD compile macro
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach supporting ESE. Hence there is no need of two compile macros
FEATURE_WLAN_ESE and FEATURE_WLAN_ESE_UPLOAD.

Instead Remove FEATURE_WLAN_ESE_UPLOAD and Keep only FEATURE_WLAN_ESE.

Change-Id: If1a04e95211a0d639db7b60a57a6d5f215d26f4e
CRs-Fixed: 950762
2016-04-17 18:07:30 -07:00
Kiran Kumar Lokere
13644679a2 qcacld-3.0: Move the channel width enum to cds
Currently channel width has different enum values in
different modules. Move the channel width enum definition
to CDS to maintain single channel width enum value in
the driver

Change-Id: I6a46d0c02546263080a15a3ec7c52486fc51e98e
CRs-Fixed: 983914
2016-04-17 18:06:59 -07:00
Nirav Shah
93e789e6d5 qcacld-3.0: Fix firmware statistics mask and format
Send prorper firmware statistics mask and fix
firmware statistics format

Change-Id: I786a7a6e3cec46660c497a001b4b39fb1a049b3a
CRs-Fixed: 986060
2016-04-17 17:55:45 -07:00
Vishwajith Upendra
bf673e7258 qcacld-3.0: Add support for SAP DFS-3 160MHz, 80+80MHz NOL
Add support for DFS Master mode NOL channel blacklisting.
In 80+80MHz mode add only the channels to NOL based on the segment
id on which radar has been detected and in 160MHz add all or only
DFS channels skipping the Non-DFS channels,  part of the 160MHz bond.

Acked-by: Rakesh Sunki <rsunki@qca.qualcomm.com>

Change-Id: Ie56d14b17997a86e12eacd0ea86cf1742899feb4
CRs-Fixed: 964262
2016-04-17 17:48:41 -07:00
Amar Singhal
c1f9c1af05 qcacld-3.0: Remove sub-ctl codes.
Firmware does not require the sub-ctl codes from the host. Therefore,
remove the calculation of sub-ctl codes from the host APIs. Also
remove the associated data structures.

Change-Id: Ib5d5f074b45f2dae2bb9a7c172ee7f8750ad5355
CRs-Fixed: 961806
2016-04-17 17:05:12 -07:00
Archana Ramachandran
d41c3ed58c qcacld-3.0: Add interface files for dynamic antenna selection
Add interface files for dynamic antenna selection feature

CRs-Fixed: 931250
Change-Id: Ieafe368a25c3a69e32cd5de6822ef84130528096
2016-04-17 17:05:12 -07:00
Rajeev Kumar
8e3e283a82 qcacld-3.0: Add extended IBSS feature on qcacld-3.0
Add extended IBSS feature on qcacld-3.0

Change-Id: I7faaf646df363a74954defbef103afbb4b72af92
CRs-Fixed: 766181
2016-04-17 17:05:12 -07:00
Sandeep Puligilla
e087566368 qcacld-3.0: UMAC: Add support for 2.4Ghz HT40 STA
- Add support for 2.4Ghz HT40 STA.
- Add HT40 OBSS scan start and stop operation.
- Add support for extraction of OBSS scan paramters from beacon
  and probe response.

Change-Id: I58e8d72b8ee922f710af0474ed3efd0438fff3a7
CRs-Fixed: 947086
2016-04-13 21:51:26 -07:00
Kiran Kumar Lokere
9a733a7fcc qcacld-3.0: Remove WLAN_FEATURE_11AC feature flag
Remove WLAN_FEATURE_11AC feature flag

Change-Id: I8c521502a44f2e8a0647843cd7a972497e900c17
CRs-Fixed: 980682
2016-04-13 21:51:25 -07:00
Amar Singhal
e4f28eedfd qcacld-3.0: Re-arrange regulatory code.
Re-arrange core regulatory code between HDD and CDS
layers. Move the OS dependent code to HDD.

Change-Id: I8ac26a48d0e8d613b2f6c23fd764e5cf94365c39
CRs-Fixed: 856727
2016-04-13 21:51:25 -07:00
Deepak Dhamdhere
4fc968d17f qcacld-3.0: Remove WLAN_FEATURE_VOWIFI_11R option from WMA
Conditional compilation option WLAN_FEATURE_VOWIFI_11R is always
defined in cld3.0 and underlying code is permanent in the driver.
Hence, remove #ifdef WLAN_FEATURE_VOWIFI_11R check from WMA source
code.
Remove -DWLAN_FEATURE_VOWIFI_11R compilation flag from Kbuild.

CRs-Fixed: 960105
Change-Id: Idbcea2faf9aa31ef62920ef322d6de61378198a6
2016-04-13 21:51:23 -07:00
Varun Reddy Yeturu
30bc42cbe8 qcacld-3.0: LFR2.0 Ignore STA kickout when roaming is in progress
If roaming is in progress, then there is a good chance to connect
to a better AP very soon, so ignore the sta kickout event that is
received from the firmware.

CRs-Fixed: 947880
Change-Id: I9197ed09a40d9acb706d1bfa535a4eb292a1af74
2016-04-13 21:51:22 -07:00
Houston Hoffman
c45db899eb qcacld-3.0: Prevent runtime suspend untill clean-up completes
qcacld-2.0 to qcacld-3.0 propagation

When runtime suspend fails because of wma_suspend_req() not
completing in time, PM runtime workqueue posts resume request to
MC thread to clean-up. If MC thread is busy or slow in processing
resume request and after the timeout Runtime PM framework posts
another suspend request then there may be race condition between
MC thread processing resume request (Or even suspend request) and
Runtime PM workqueue posting subsequent suspend request.
Synchronize subsequent suspend request by not allowing the
runtime suspend till resume requests completes in MC thread
context.

Change-Id: Ie9aaf72fbced41f8d23640b9032a3c2236dc6826
CRs-fixed: 921373
2016-04-13 17:58:16 -07:00
Dhanashri Atre
12a0839cd6 qcacld-3.0: Data path changes to use converged APIs (Part 1)
Change the data path and external modules to use the new
converged common data path APIs.

Change-Id: Ifb48178efd012b6ad9ea6f6d5230d0a809922b1c
CRs-Fixed: 994638
2016-04-01 15:46:10 -07:00
Govind Singh
f25a0f1553 qcacld-3.0: Refactor formation of wmi init command
Move tlv formation of wmi init and wmi main commands to common wmi
layer from wma layer. Move diag events logs list and saved wmi
init command to wmi handle from of wma handle.

Change-Id: Ie58e10408ea52952021c22f63dd9f3c499e63e74
CRs-Fixed: 976998
2016-03-29 21:22:58 -07:00
Govind Singh
d76a5b05cb qcacld-3.0: Adapt wma layer with common wmi layer
Modify wmi layer API calls with respect to new common wmi layer.
Register all wmi service events using standard wmi event register API.
Remove TLV formation of common API from wma layer.
Pass rx scheduling context of wmi events during event registration.

CRs-Fixed: 976998
Change-Id: Id490db96c28778ec371dd633d43dfa002c08c16a
2016-03-28 15:54:44 +05:30
Anurag Chouhan
f04e84f24a qcacld-3.0: Add qdf references in place of cdf
Replace CDF references with QDF references.

Change-Id: Ifb4571174719b5fce61dd305545d05628265f317
CRs-Fixed: 981188
2016-03-24 11:58:26 -07:00
Nirav Shah
cbc6d72570 qcacld-3.0: Update driver to use QDF NBUF APIs(1/2)
Update driver to use QDF NBUF APIs

Change-Id: I4409b6c046de1221b57baed45088d5f3b898b565
CRs-Fixed: 981188
2016-03-24 11:58:23 -07:00
Anurag Chouhan
df2b26883d qcacld-3.0: Fix compilation issues after rebase
Remove the compilation issues for references to cdf after rebase

Change-Id: Ia39c5c72fe5c95f9a91d5f6967ea60904b46f756
CRs-Fixed: 981188
2016-03-24 11:58:14 -07:00
Anurag Chouhan
b2dc16fefe qcacld-3.0: Add QDF trace API's
Replace CDF trace API's with QDF trace API's.

Change-Id: I5b99dce73297f7de8f0755fa0b47dc3f84c78747
CRs-Fixed: 981188
2016-03-24 11:58:11 -07:00
Anurag Chouhan
210db07644 qcacld-3.0: Add QDF MC timer API's
Replace CDF MC timer API's with QDF MC timer API's

Change-Id: If18069e9cb8dbd24c5cdc8bd8def6932f55c0168
CRs-Fixed: 981188
2016-03-24 11:58:08 -07:00
Anurag Chouhan
a37b5b783a qcacld-3.0: Add QDF lock API's
Replace CDF lock API's with QDF lock API's.

Change-Id: I7c4a59920e17915f077c87457c513e763738c062
CRs-Fixed: 981188
2016-03-24 11:57:57 -07:00
Anurag Chouhan
6d760664ee qcacld-3.0: Add QDF types
Replace CDF types with QDF types

Change-Id: Idd6e65b148efb54f22d6951572957f1c6166465b
CRs-Fixed: 981188
2016-03-24 11:57:54 -07:00
Anurag Chouhan
42958bb929 qcacld-3.0: Add QDF defer API's
Replace CDF defer API's with QDF defer API's

Change-Id: I67a9f57a76813bf2c35c42d69013133aad0b2393
CRs-Fixed: 981188
2016-03-24 11:57:46 -07:00
Anurag Chouhan
8e0ccd330b qcacld-3.0: Add QDF atomic API's
Replace CDF atomic API's with QDF atomic API's.

Change-Id: I18b4ab3487357d150bdfb96f9a078e1b5abb3156
CRs-Fixed: 981188
2016-03-24 11:57:44 -07:00
Anurag Chouhan
fb54ab0eac qcacld-3.0: Add QDF status
Replace CDF status with QDF status

Change-Id: I7170c8ae4c5bd97a8f0f383af637bb2ec312f082
CRs-Fixed: 981188
2016-03-24 11:57:39 -07:00
Anurag Chouhan
ffb2154eff qcacld-3.0: Add QDF list API's
Replace CDF list API's with QDF list API's

Change-Id: Id7a3ec93fe6821450ef70e50649af8a4de285eeb
CRs-Fixed: 981188
2016-03-24 11:57:37 -07:00
Anurag Chouhan
ce0dc99ca8 qcacld-3.0: Add qdf event API's
Replace CDF event API's with QDF event API's

Change-Id: I1d75c9ca01cc6bd7cac42f1ae4c1dd78f37b3d26
CRs-Fixed: 981188
2016-03-24 11:57:34 -07:00
Komal Seelam
02d0934a4a qcacld-3.0: update WMA with ini config for max_peers
Max_peers configuration is needed only by WMA. Remove dependency of
ol layer for max_peers and move it WMA.

Change-Id: I336b02ae84c72c70ca459425b38b197e5fe551a0
CRs-Fixed: 967765
2016-03-23 13:45:07 -07:00
Houston Hoffman
b58d8be3c4 qcacld-3.0: Reduce wma timeout values
Linux kernel would crash before the timeout values were reached.

Change-Id: I958ea6b1023c6e847b578ed3d709dbf67a9d59e9
CRs-Fixed: 970658
2016-02-08 15:50:46 -08:00
Deepak Dhamdhere
d97bfb3a53 qcacld-3.0: Use scan for preauth from LIM in roaming
Use single channel scan request for preauth operation, similar to
remain-on-channel. Remove all roaming preauth logic from WMA.

Change-Id: Ie3783306e0ff5b8a5bbcb6437e982590b03fe040
CRs-Fixed: 957094
2016-02-08 15:50:45 -08:00
Dhanashri Atre
1f0cbe43e3 qcacld-3.0: Handle MIC Error in Chatter Mode
qcacld-2.0 to qcacld-3.0 propagation

Add support to handle an error indicated by the fw in offload mode.
In this case - MIC error type.

Change-Id: I53363bdbaafad7fab0a6e067a43892a3066abbb6
CRs-Fixed: 791274
2016-02-08 15:50:45 -08:00
Krishna Kumaar Natarajan
1ae4911ae5 qcacld-3.0: Add fine timing measurement capabilities from FW
Add support to use fine timing measurement capabilities coming
from the Firmware.

Currently INI config is being used for setting initiator
and responder roles. With this change, intersection of INI
config and FW indicated capability will be used.

Change-Id: If20bc8de2b6ec12bc638b75806e2a870a5ebc189
CRs-Fixed: 942290
2016-02-08 15:50:45 -08:00
Sandeep Puligilla
19ddda272c qcacld-3.0: Add wma handler for vdev delete and peer delete responses
- Add handler for the vdev delete and peer delete response at WMA.
- As part of timeout handler, assert if the response is not
  received in 3 seconds.

Change-Id: I7b20254013266414174f686e1f3918822adc65d8
CRs-fixed: 960173
2016-02-08 15:50:45 -08:00
Amar Singhal
a297bfa739 qcacld-3.0: More regulatory cleanups
Remove typedef tPowerdBm. Rename and use linux style for channel
enum, channel state, channel power and country source data
structures.

Change-Id: Iebc59e6f001ccdb403c7445f4cea02c6a8141366
CRs-Fixed: 856727
2016-02-08 15:50:43 -08:00
Houston Hoffman
a76591b583 qcacld-3.0: Provide wma runtime suspend resume apis
wma has to do some extra steps that were part of 802.11 suspend
for runtime suspend.

Change-Id: I91fbdcacd6c557f30e0d4f422324f2db67cb96dc
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
7260ecbc64 qcacld-3.0: Send one suspend indication message to wma
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.

Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Varun Reddy Yeturu
d5939f8b45 qcacld-3.0: Optimize LFR3 roam synch propagation
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.

CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
2016-02-08 15:50:40 -08:00
Ryan Hsu
3c8f79f22c qcacld-3.0: Add Enhanced Green AP interfaces and event handler
qcacld-2.0 to qcacld-3.0 propagation

The firmware reports the Enhanced Green AP (EGAP) service
(EGAP_SERVICE) feature flag to indicate the support of EGAP
feature.

The EGAP is to offload the legacy Green AP feature to firmware
in order to aggressively enable the Green AP other than wait
for host control latency.

Add the knob to hold the EGAP infomation when firmware support
it, also populate the information up to hdd target config.

And then add a SME interface to allow hdd layer to configure
the EGAP configuration.

Change-Id: I9be927369e7cf07731f8e9ba49d65224e05c340b
CRs-fixed: 929063
2016-02-08 15:50:35 -08:00
Ravi Joshi
61c3c7a927 qcacld-3.0: Interfacing files for LFR Subnet Detection support
Add interfacing files and configuration options to enable
LFR subnet detection feature support.

Change-Id: I46756dfb2dd8071fd2bb762038414709e6212c1c
CRs-fixed: 876335
2015-12-28 22:35:54 -08:00
Kabilan Kannan
421714b6c6 qcacld-3.0: Configure TDLS peer mac and kickout threshold to target
qcacld-2.0 to qcacld-3.0 propagation.

Add new TDLS mode for TDLS external control operation to
achieve power save on the target. Firmware will use this mode
to control timers precisely and save the power.
Add configuration "gTDLSPeerKickoutThreshold" to fine tune
TDLS peer sta kick out operation.

Change-Id: Ie941f93b54983ca6323ef4384a66e0807a56a7b1
CRs-Fixed: 929749
2015-12-28 22:20:26 -08:00