Commit Graph

78 Commits

Author SHA1 Message Date
Yue Ma
e93d52557a qcacld-3.0: Remove obsolete codeswap feature
Codeswap feature is introduced for a WLAN chipset which is already
cancelled. It is no longer used in host driver. Remove the feature
to avoid any confusion for future development.

Change-Id: I70ae291ded2d2e290408e2f5b177e872f1f3d7e8
CRs-fixed: 1082183
2016-11-03 17:54:05 -07:00
Srinivas Girigowda
6147c58dff qcacld-3.0: Replace DEBUG macro with WLAN_DEBUG
This is a qcacld-2.0 to qcacld-3.0 propagation.

pr_debug() should not appear by default in kernel log (kmsg).
DEBUG is a kernel macro, since host driver is using the same name macro,
pr_debug log statements are appearing in kmsg.

Fix this by moving the code under DEBUG to WLAN_DEBUG and
remove DEBUG macro from Kbuild.

Change-Id: I5bb385f91f9b6ba15629a5878625fefc21d4a7e1
CRs-Fixed: 1003261
2016-10-19 10:45:28 -07:00
Mohit Khanna
e7a4357688 qcacld-3.0: Use correct flag to compile USB-PLD file
Currently we are using different flags to enable compilation of pld_usb.c
and one to enable/disable PLD USB stub functions. Use the same flag for
both cases - CONFIG_PLD_USB_CNSS

Change-Id: Icc89405d785f3fc0ebc4a97d234013ac86ebd068
CRs-Fixed: 1076326
2016-10-17 21:58:34 -07:00
Padma, Santhosh Kumar
d7cc079983 qcacld-3.0: Add changes for DISA certification
Add changes to parse DISA parameters received from
user space and pass them to firmware for firmware
to encrypt data and send back to driver. Also, add
changes to print encrypted data received from firmware.

Change-Id: Ic6928a93f799c47518fbbad96564062f595287dd
CRs-Fixed: 1064970
2016-10-04 12:40:51 -07:00
Jeff Johnson
a6300253f0 qcacld-3.0: Enable Green AP feature on msmcobalt
Currently the Green AP feature is only enabled on mobile router
platforms. Enable it on the msmcobalt platform as well.

Change-Id: Ib5000b2201cc2c7bd88e3d322b186afcdb0a72e3
CRs-Fixed: 1072412
2016-10-04 12:07:01 -07:00
Poddar, Siddarth
eefe348b69 qcacld-3.0: Store pktlog events when pktlog is enabled by default in INI
Host should not honor any vendor pktlog disable command
if NO vendor pktlog enable command is sent previously.

Currently, vendor sends pktlog disable command without sending enable
command during init and because pktlog is enabled in ini by default,
Host sends the pktlog disable command to firmware which is not as expected.

To fix this, host uses reserved flag in wifi_start_log to distinguish
vendor command from iwpriv or pktlog conf tool command and vendor disable
pktlog command will be sent to firmware only when vendor pktlog enable
commands is sent previously.

Moreover, pktlog INI enable by default and Pktlog buffer size are now
controlled using a macro FEATURE_PKTLOG depending on build variant.
For production/user build, pktlog is default disable and buffer size is
1 MB, whereas for dev build, pktlog is default enable and buffer size is
10 MB.

Change-Id: If64cd522e91cbe9a6d94d8626eb758282fcfd1bd
CRs-Fixed: 1072584
2016-10-03 17:39:04 -07:00
Agrawal Ashish
b141b09b36 qcacld-3.0: Add feature flag for DSRC feature
qcacld-2.0 to qcacld-3.0 propagation

Currently DSRC feature is compiled for all the
targets even if DSRC is not required.
Fix to protect DSRC changes with DSRC enabled feature.

Change-Id: I2e6f975366e1de8aa8afb818a073e1591f76d7fb
CRs-Fixed: 1053362
2016-09-21 17:02:26 -07:00
Sandeep Puligilla
0e64b614b8 qcacld-3.0: Enable HT20/40 coexistance functionality
Enable HT20/40 co-existance functionality.

Change-Id: Id096f174f63280f55ad7c89c74416434d9309170
CRs-Fixed: 1060104
(cherry picked from commit 11e46bd4cf480721b203c01487a5231579963ab6)
2016-09-11 17:53:21 -07:00
Orhan K AKYILDIZ
c16426aaef qcacld-3.0: Kbuild change as hif_napi_cpu changes moved to hif_napi
Remove compile dependency for hif_napi_cpu.c

Change-Id: Icf25c3df738a548f3e8cd312fa8dfcfaa3e7a031
CRs-Fixed: 1064917
2016-09-11 17:40:51 -07:00
Orhan K AKYILDIZ
1481aff562 qcacld-3.0: Add multi-queue NAPI function
Add throughput policy handler which triggers irq/CPU mananagement
functions as required.
Adapt NAPI enablement code to recent changes to the init sequence.
Add to the new files to build.

Change-Id: I8c16667a08982e419c2f2152cf31afcd3a535eb4
CRs-Fixed: 1064917
2016-09-08 21:31:49 -07:00
Houston Hoffman
1158c0a444 qcacld-3.0: Enable runtime pm compilation by default
Compile in runtime pm code for mcl. Maintain compilation
of runtime pm for future product lines and discrete chipsets.

Change-Id: Ieb34a64bf4624e959ae64aafa8ab03085aad9164
CRs-Fixed: 1044155
2016-09-05 01:23:17 -07:00
Deepak Dhamdhere
f2a7d8be0e qcacld-3.0: Use OkcEnabled .ini flag to control firmware OKC
Turn off opportunistic key caching (OKC) in firmware based on
"OkcEnabled" parameter in WCNSS_qcom_cfg.ini.
It is enabled by default and can be turned off with value 0.
Remove FEATURE_WLAN_OKC compilation option because OKC is always
compiled in for cld3.0. Remove underlying empty routine
cb_notify_set_okc_feature_enabled().

CRs-Fixed: 1057181
Change-Id: I174e860abef0532d62517635fe56927d8c3c9fd3
2016-09-02 21:27:00 -07:00
Mohit Khanna
da4f443792 qcacld-3.0: Add USB bus support (Kbuild)
Add kbuild specific changes for USB bus support.

Change-Id: Icc6e8378ba3cbfca8aeb54b5084840e621639582
CRs-Fixed: 1023663
2016-08-19 18:33:21 -07:00
Yuanyuan Liu
9135361da5 qcacld-3.0: Remove platform stub files
Remove platform stub files as PLD takes care of platform APIs.

CRs-Fixed: 1056957
Change-Id: I0364d8a58f272f3646b913063f6484c83c2b7985
2016-08-19 11:01:34 -07:00
Rajeev Kumar
ea4eb0b037 qcacld-3.0: Disable suspend/resume unit test framework in Kbuild
APPS suspend/resume support is ready. By default disable WLAN suspend
resume test framework and enable it in engineering builds on need basis.

Change-Id: If1e23ed41987a1f8b40cfae6504f6b69f8a06932
CRs-Fixed: 1055093
2016-08-17 17:06:40 -07:00
Krishna Kumaar Natarajan
bbbf2ef17b qcacld-3.0: Remove unused data structures related to OEM message
Remove unused data structures related to OEM message

Change-Id: I33c5190b78ffff2bf160e57a6edaf4b67189062c
CRs-Fixed: 1038872
2016-08-04 12:35:34 -07:00
Rajeev Kumar
a78a0a4578 qcacld-3.0: Add unit test framework to validate WLAN suspend/resume features
WLAN suspend/resume feature has tight dependency on APPS platform
suspend/resume support. On new targets APPS suspend/resume is not
supported until target is feature complete. In absence of APPS
suspend/resume support testing WLAN offload features become
difficult. Add unit test framework to test WLAN suspend/resume
features using private IOCTL command by simulating APPS
suspend/resume behaviour.

Trigger WLAN suspend:
iwpriv wlan0 wlan_suspend 0 0

To resume WLAN run a ping test from access point side and very 1st
ping request unicast packet should trigger wake up.

If FW is not waking up APPS then use below command to do a manual
wake up:

Trigger WLAN resume:
iwpriv wlan0 wlan_resume 0 0

This unit test framework is only for SNOC.

Change-Id: I177a0047f460aa2a305a9e4e46fbfaa94a81dced
CRs-Fixed: 1042205
2016-08-03 18:34:46 -07:00
Manjunathappa Prakash
beeacb1071 qcacld-3.0: Kbuild: Enable LRO
Enable LRO. Depends on kernel LRO feature is enabled.

Change-Id: Idee37eb664046961c26d8619f7eb18c57ac0fb32
CRs-Fixed: 1035499
2016-07-19 18:18:26 -07:00
Sandeep Puligilla
e438cd1f6e qcacld-3.0: Remove unused macros from Kbuild
Kbuild contains several macros in CDEFINES that are no longer used

Removed these macros from Kbuild file

Change-Id: Ib34ada0b2a07b9d428e9b29ad13ce5fe0302d461
CRs-Fixed: 1023225
2016-07-11 18:11:24 -07:00
Poddar, Siddarth
29296fbb1c qcacld-3.0: Add hif-sdio support (Part 8: - HIF SDIO)
Add kbuild changes for HIGH latency and HIF
SDIO changes

Change-Id: I4d886090773a9b19d27a9f68115774b87299d84d
CRs-Fixed: 969334
2016-06-29 21:02:34 -07:00
Jeff Johnson
2b0a7b818b qcacld-3.0: Refactor WLAN_FEATURE_LPSS
Currently in HDD the WLAN_FEATURE_LPSS code is distributed amongst
multiple source files. In order to be more aligned with established
practices refactor most of the feature code into a feature-specific
file .

Change-Id: I7c743f32fd1455fc253a00d69bfc9abb7f6743da
CRs-Fixed: 1018553
2016-06-29 12:11:31 -07:00
Ravi Joshi
a063dd9f69 qcacld-3.0: Create new files for supporting NAN data path feature
Add new files for supporting NAN data path feature.

Propagation from qcacld-2.0 to qcacld-3.0

CRs-Fixed: 962367
Change-Id: If12d15789659d04559a9d65d6b7016d4cc595fcf
2016-06-27 18:17:22 -07:00
Krishna Kumaar Natarajan
e42bb17c5a qcacld-3.0: Disable FEATURE_MEMDUMP in Kbuild
Disable FEATURE_MEMDUMP in Kbuild.

FEATURE_MEMDUMP should be redesigned appropriately for
cld-3.0. Disable this feature until implementation is
complete.

Change-Id: I3190414ff32d8a75b07c2c311e257f4d388ef26d
CRs-Fixed: 1026747
2016-06-23 12:26:33 -07:00
Nirav Shah
1da7768385 qcacld-3.0: Remove PROTO_TRACE feature
Remove PROTO_TRACE feature and add MGMT packet
logging in DPTRACE.

Change-Id: I9bc019bb03e703cb8044cb5d4290fd438b1c3e69
CRs-Fixed: 1008087
2016-06-14 14:28:41 -07:00
Nirav Shah
cc1f1ae340 qcacld-3.0: Add ini support for DPTRACE
Add ini parameter and feature flag for
DPTRACE to enable/disable as per requirement.

Change-Id: I80db65adb7b8e82d5ea75cceac742fd229d7a2b5
CRs-Fixed: 1008087
2016-06-14 14:28:36 -07:00
Yuanyuan Liu
11f526acba qcacld-3.0: Use PLD internal flags
Use PLD internal flags in PLD layer instead of using CNSS/ICNSS
kernel flags.

CRs-Fixed: 1018099
Change-Id: Id32c62ccd1749ef5a38fd11aba6ce6e4fbe84a6e
2016-06-14 14:28:12 -07:00
Manjunathappa Prakash
c8e756412e qcacld-3.0: Enable DEBUG_Rx_RING_BUFFER to keep track of posted buffers
This enables the tracking of posted rx ring buffers. With this we can
identify if host/fw is wrong when we hit below issue:
"wlan: [0:E :QDF] rx hash: htt_rx_hash_list_lookup: no entry found for"
<physical address>

Change-Id: Ib973a2e2a69e881beddea23cdc1d2d994eeb1e12
CRs-Fixed: 864569
2016-06-14 14:28:02 -07:00
Poddar, Siddarth
ef1f30228f qcacld-3.0: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform.
Refactor fw and bmi download routines to get rid of compile
time bus specific macro.
Refactor allocation and free routines for high latency bus.

CRs-Fixed: 969334
Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
2016-06-14 14:27:55 -07:00
Nirav Shah
76291969a5 qcacld-3.0: Add logic in host to detect msdu_id duplication
Add logic in host to detect if host is using
musdu_id which is already in use.

CRs-Fixed: 929428
Change-Id: I10413ed4b5b76e16211aa0cbb9012cfb8f26cae0
2016-05-18 16:33:43 -07:00
Manikandan Mohan
5356c2b387 qcacld-3.0: Add vendor command for TSF operations
Update TSF feature for vendor command QCA_NL80211_VENDOR_SUBCMD_TSF
to support TSF operations.

Change-Id: I89abf14b9b7d8ee8fe1c12f7684c87e4dee9bfb0
CRs-fixed: 997799
2016-05-13 16:20:43 -07:00
Yuanyuan Liu
9a7ba50ddd qcacld-3.0: BMI: Clean up BMI unused code
Clean up bmi_2 related code. These code are hardware/platform
specific which is no longer supported.

CRs-Fixed: 1001252
Change-Id: I783f4a411044268d24ba660ce9f10dabe0cce8bf
2016-05-06 14:51:27 -07:00
Manikandan Mohan
dcc21ba7f6 qcacld-3.0: get tsf from fw
qcacld-2.0 to qcacld-3.0 propagation

Get tsf from fw. Provide ioctl interface cap_tsf/get_tsf.
Driver issue wmi cmd to fw to realize capture/get.
It can be used in station and softap mode. For sta, getting
tsf from connected ap. For softap, it will generate tsf by-
self

Change-Id: I00d30882bce2f49ee3de3fa189e094c04c0d9943
CRs-Fixed: 817527
2016-05-02 23:27:49 -07:00
Yuanyuan Liu
d9f7a36529 qcacld-3.0: Add PLD layer
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

CRs-Fixed: 979275
Change-Id: I3571fc70f502dc367c65f13b412cd5d37ee41d3c
2016-05-02 23:27:47 -07:00
Houston Hoffman
52ec669089 qcacld-3.0: Fix compilation errors for msmcobalt (2/2)
Fix compilation errors when building for msmcobalt.

Change-Id: I2e1d968e967f493fb927440777d1d01f7e3f66b0
CRs-Fixed: 1006068
2016-04-25 22:56:07 -07:00
Manjunathappa Prakash
fa345994b5 qcacld-3.0: Enable V2 FLOW CONTROL for SNOC
Enable "tx flow control v2" for SNOC.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: Ifaca9c97d78e6b09876e3d0a7a9e85d763e67e09
CRs-Fixed: 999422
2016-04-25 22:55:56 -07:00
Yue Ma
df224b8fb8 qcacld-3.0: Fix conditional logic checking in Kbuild
In msm-4.4 kernel, CONFIG_ARCH_MSM is replaced by CONFIG_ARCH_QCOM,
hence add it to the list so that MSM_PLATFORM can be correctly enabled
for the driver.

Also filter function works in a exclusive way that will causes problem
when several flags are defined at the same time. Fix it so that multiple
flags can be defined.

Change-Id: Ic5445951516c8d2cd79a71aefebd42b3f178c727
CRs-fixed: 1005069
2016-04-25 22:55:40 -07:00
Chandrasekaran, Manishekar
b2d9fa14f4 qcacld-3.0: Enable packet tracker for non performance builds
Enable the packet tracker feature for non performance builds
by enabling the macro QCA_PKT_PROTO_TRACE and set the
default packet tracker log level to dump the DHCP, EAPOL
and management packet details. The necessary log level can
be modified using the ini 'gEnableDebugLog' entry either at
compile time or at run time using the IOCTL 'setDbgLvl'.
The logs are dumped using the same IOCTL 'setDbgLvl'.

e.g.,
To enable all the packet trace features
- iwpriv wlan0 setDbgLvl 0x0f
To dump the packet trace
- iwpriv wlan0 setDbgLvl 9999

Change-Id: I4fe82e0091517f0614baedf620976dd37b94a974
CRs-Fixed: 998642
2016-04-25 22:55:29 -07:00
Yuanyuan Liu
5af44367d5 qcacld-3.0: Enable MSM_PLATFORM for Kernel 4.4
Kernel 4.4 is using CONFIG_ARCH_MSMCOBALT instead of CONFIG_ARCH_MSM.
Enable MSM_PLATFORM flag when CONFIG_ARCH_MSMCOBALT is defined.

CRs-Fixed: 998798
Change-Id: I718560c7925376b1dd3b00bd56724ca67eda92b7
2016-04-20 22:24:22 -07:00
Prashanth Bhatta
6a6a555220 qcacld-3.0: hdd: Refactor wlan_startup (phase 5)
In HDD, hdd_wlan_startup which is called by probe is beast of a
function to maintain. Over time it has grown to such an extent
that it is almost 800 lines of code with in a single function.
Divide the beast into logical smaller functions.

Create separate function for Netlink service init and exit.

Change-Id: I3271784f06ad2a365c4b0ce767a2ba6df67f0b4d
CRs-fixed: 996332
2016-04-20 22:23:28 -07:00
Rajeev Kumar
a4d80b5879 qcacld-3.0: Fix IPA backward compatibility
Fix IPA WDI 1.0 update for overwrite of previous commit and use
only QCA_WIFI_3_0 build flag for qcacld-3.0.

Change-Id: I3bff4a4e10102e97aeb57fb0f67d48933e0bae9b
CRs-fixed: 994144
2016-04-20 22:20:52 -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
Varun Reddy Yeturu
86459d63ca qcacld-3.0: Isolate roaming related scan functionality
Move the scanning related code which is pertinent to roaming
into a separate file so that any future maintenace would be
easy across different projects

CRs-Fixed: 978905
Change-Id: Ia8c81726eb843d0a5aa89affa89d84d77994932e
2016-04-17 18:10:26 -07:00
Varun Reddy Yeturu
883c4f20f9 qcacld-3.0: Move CSR preauth related code to a separate file
Move the preauthentication related code in the CSR module
into a separate file so that it is easy to maintain
across different projects

CRs-Fixed: 978905
Change-Id: I56e8441f08dec180f080c305ba5c6541302f107c
2016-04-17 18:10:20 -07:00
Varun Reddy Yeturu
4204eed710 qcacld-3.0: Isolate roaming timers into a separate file
Move all the roaming related timers into a separate file
for easy maintenance and management across different projects

CRs-Fixed: 978905
Change-Id: I3bdbf13d9f962af36d74837bf50be7c9a93e824e
2016-04-17 18:09:59 -07:00
Varun Reddy Yeturu
b6ef113b4b qcacld-3.0: Move the code related to sending roam frames to a separate file
Move the routines which help in building and sending the roaming
related management frames into a separate file for easy
maintenance across different projects

CRs-Fixed: 978905
Change-Id: If8e5cbdabef7747e58359961c3b13c577eb3b777
2016-04-17 18:09:54 -07:00
Varun Reddy Yeturu
99ff7f0b1a qcacld-3.0: Move Reassociation utils into a separate file
Move all the reassociation related utilities to a separate
file for easy maintenance across different projects

CRs-Fixed: 978905
Change-Id: I86809ac48659dc91222624fec616bab6533d75dd
2016-04-17 18:09:50 -07:00
Varun Reddy Yeturu
c3843188c5 qcacld-3.0: Move Host based roaming MLM code into a separate file
Separate the host based roaming MLM code into a separate file
to maintain it easily across different projects

CRs-Fixed: 978905
Change-Id: I1fad25ffbaa49bb2380c32ca9612ad46e3bca65c
2016-04-17 18:09:46 -07:00
Varun Reddy Yeturu
dbbb9919e9 qcacld-3.0: Isolate the pre-authentication code into a new file
Move all the pre-authentication related code in LIM to
a separate file so that it is feature specific and easy to
maintain across different projects

CRs-Fixed: 978905
Change-Id: I3ca443139b974b25be8121fd6df040d858693708
2016-04-17 18:09:42 -07:00
Houston Hoffman
57d10c2115 qcacld-3.0: Make CONFIG_ICNSS set the bus to SNOC
Currently HIF_PCI and snoc are not supported at the same time.
Bus should be set to snoc when CONFIG_ICNSS is defined.

Change-Id: I900cb70136a9be5406df05d06419e57ca0fa71be
CRs-Fixed: 989686
2016-04-17 18:09:05 -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