Commit Graph

105 Commits

Author SHA1 Message Date
Jeff Johnson
522db00cbf qcacld-3.0: Enable -Wmissing-prototypes
Enable the compiler's -Wmissing-prototypes switch. This will help
catch two types of issues:

1) Implementations which do not include their header file which
   prevents the compiler from verifying that the signature of the
   implementation matches the signature of the prototype.

2) Functions which should be static but which are missing the 'static'
   keyword.

Change-Id: I4f8e45b40e57bdf7bec40e3d72cc48e7bfe15b7b
CRs-Fixed: 1074336
2017-01-23 07:58:17 -08:00
Venkata Sharath Chandra Manchala
5d714d821c qcacld-3.0: Added CONFIG_LITHIUM check for Hal and DP files
Added CONFIG_LITHIUM checks to selectively compile Hal and DP
files only for lithium based chipsets. Also added
QCA_WIFI_QCA6290 define for conditional compilation in
ce_main.c

Change-Id: I9e9aac0070aaf4b8292e9f3a6b0ceb8738d0e696
CRs-Fixed: 1103135
2017-01-18 20:05:45 -08:00
Debashis Dutt
237c6149c9 qcacld-3.0: Add .c files for REO CMD/STATUS ring processing
Add dp_reo.c & hal_reo.c for REO CMD/STATUS ring processing
dp_reo.c implements the logic & hal_reo.c implements the
HW abstractions.

Change-Id: I1150b66d3505101645430a1e64403a20716d1d59
CRs-Fixed: 1103135
2017-01-18 20:05:41 -08:00
Rajeev Kumar
699debfa8f qcacld-3.0: Create object manager API files in HDD
Create HDD object manager API files and move HDD object manager
APIs implementation inside it.

Change-Id: I762c8a4aafb67c35ef1eb07a7efa5b826659754e
CRs-Fixed: 1108557
2017-01-12 10:03:01 -08:00
Himanshu Agarwal
2fdf77a63c qcacld-3.0: UMAC Converged driver init/deinit with mgmt txrx comp
MCL driver interactions with mgmt txrx component in init deinit
of driver. Also, changes to make legacy path to go through mgmt
txrx component for both tx and rx mgmt. frames.

Change-Id: Icf368358fef3b9204bed5195a2502b0ea5f052d8
CRs-Fixed: 1103247
2017-01-10 03:05:58 -08:00
Himanshu Agarwal
b180aede62 qcacld-3.0: Enable UMAC converged southbound interface by default
Enable UMAC converged southbound interface by default by removing
CONFIG_WLAN_CONVERGED_INTERFACE in Kbuild and WLAN_CONVERGED_INTERFACE
based API definitions in wma_main.c.

Change-Id: I3b849192b667e8c2f9fb628355c80b3d817f741a
CRs-Fixed: 1103247
2017-01-10 03:05:54 -08:00
Sridhar Selvaraj
dc400d2572 qcacld-3.0: Add Host Driver support for Chip Power stats debugfs
Implementation of Host driver support to collect chip power stats
from firmware and display the stats in
    "adb shell cat /sys/kernel/debug/wlan0/power_stats".

Change-Id: I19595ebf5a6870a0ee4d3cc2ff47d18eb24d213c
CRs-Fixed: 1045057
2017-01-09 11:21:43 -08:00
Selvaraj, Sridhar
0672a1213d qcacld-3.0: Add support for init/deinit with obj manager framework
Create the psoc, pdev, vdev, peer hierarchy by calling obj manager
API's in driver init/deinit code.

Change-Id: I804fd56fff0f72d69274dda2667efb6b681e4dda
CRs-Fixed: 1097219
2017-01-06 11:40:26 -08:00
Rajeev Kumar
ebb0a73519 qcacld-3.0: Rename control path scheduler from sch to scheduler
Legacy protocol engine already has a module name 'sch' rename
control path scheduler from sch to scheduler to avoid naming
conflict with protocol sch.

Change-Id: I94ce9aa5037aa75319aaad2287116462444c03f4
CRs-Fixed: 1105115
2016-12-27 16:37:40 -08:00
Frank Liu
65b17d9609 qcacld-3.0: Support southbound interface
Attach southbound interface. Each individual component is supposed
to define tx_ops and rx_ops function to attach with southbound.

Change-Id: I622a53ab76bc3bab3774e90569af53ad49b95053
CRs-Fixed: 1096553
2016-12-21 03:12:35 -08:00
Krunal Soni
d32c6bc3fd qcacld-3.0: Enable converged control path scheduler
Enable converged control path scheduler for cld driver
and disable legacy cds MC thread scheduler.

Change-Id: I11ecc6a5ee930a1039ed3460b3a3d4e5f7b75ac6
CRs-Fixed: 1095867
2016-12-14 14:25:00 -08:00
Rajeev Kumar
1705fc275e qcacld-3.0: Add Kbuild changes for control path converged scheduler
Add Kbuild changes for control path converged scheduler.

Change-Id: I62381d9a3ca4d950f9c44223222c68484f856188
CRs-Fixed: 1095867
2016-12-14 14:24:57 -08:00
Samuel Ahn
c9c48ca408 qcacld-3.0: Add support for multiple instances of the host driver
Propagation from qcacld-2.0 to qcacld-3.0.

If the module name is changed to something other than wlan in
Makefile or Kbuild, then MULTI_IF_NAME is defined to be the module name.
When MULTI_IF_NAME is defined, the names for the config files, log files,
and firmware files are prepended or appended with MULTI_IF_NAME. This
prevents file name collisions allowing multiple instances of this driver
to be loaded with different module names.

Change-Id: Id880c5fe423eb0b2a2c01677d8fa7c4a784c74df
CRs-Fixed: 946520
2016-12-14 14:08:37 -08:00
Ashwini Muduganti
7964982baa Rename msmcobalt to msm8998
Change-Id: I55b17306cdcc6f8653e4a72e86a95320b5e27139
2016-12-14 14:07:56 -08:00
Ankit Gupta
120b9b0ca3 qcacld-3.0: Enabling per vdev tx descriptor pool
Change to enable per virtual device transmit descriptors
in Kbuild for lithium.

Change-Id: I2824de2daa5bce7b0ab6993fb7f85ea01ac0849d
CRs-Fixed: 1089685
2016-12-12 13:34:38 -08:00
Houston Hoffman
435cd44d2f qcacld-3.0: Introduce CONFIG_PLD_PCIE_INIT
CONFIG_PLD_PCIE_INIT indicates that pcie initialization
and io remap have allready been done by the platform driver,
and should not be re-done by the wlan driver.
This is to facilitate shared controll between the MHI & wlan
drivers.

Change-Id: I97704076d1efe2a8d980c8f659f05367ca82a5f6
CRs-Fixed: 1097375
2016-12-10 18:07:38 -08:00
Srinivas Girigowda
0a85ccd9aa qcacld-3.0: Enable -Wheader-guard compiler option
This is a qcacld-2.0 to qcacld-3.0 propagation.

Enable the compiler's -Wheader-guard switch. This will help
catch mismatches between #ifndef and #define lines in header guard.

Change-Id: Ic05a829eadbf974598370c494a5cff10201ec600
CRs-Fixed: 1091052
2016-12-09 17:51:59 -08:00
Dustin Brown
cd756941d2 qcacld-3.0: Make RX wakelock duration configurable
Propagation from qcacld-2.0

Change hard coded RX wakelock duration into an ini configuration item.
Only aquire the wakelock for unicast traffic, and if the configured
wakelock item is greater than 0.

Change-Id: I46b946ddfeae510a5446ff4ab012c09e4964a50c
CRs-Fixed: 1068594
2016-12-08 16:39:17 -08:00
Dustin Brown
8b28e08535 qcacld-3.0: Enable unit-test suspend/resume for SLUB builds
Enable unit-test suspend/resume ioctls for all SLUB builds, for a
better out-of-the-box debug experience.

Change-Id: Iab6662a39125371ab700c8482e06cd98a3d171a5
CRs-Fixed: 1098034
2016-12-08 07:47:44 -08:00
Rajeev Kumar
97767a0297 qcacld-3.0: Define init-deinit basic framework for phase 3 convergence
Define basic dispatcher framework for init/deinit. Each individual
component is supposed to define its init/deinit primitives and replace
dummy place holder primitives.

Change-Id: I35140ea7af03ce568e1732435458caf78ab28996
CRs-Fixed: 1095741
2016-12-01 19:19:17 -08:00
Ravi Joshi
fc2ed78279 qcacld-3.0: Disable PKTLOG & enable polling for DP on Lithium
For Napier end-to-end bringup:
 -- Disable PKTLOG, this is not ready on the new HW design
 -- Enable timer based polling on DP UMAC rings
 -- Modify cdp_soc_attach() to attach to Lithium DP

Change-Id: I096644887848dd8eae75bf4c497acc0b19f89833
CRs-Fixed: 1074199
2016-11-26 13:35:43 -08:00
gbian
e55c956d40 qcacld-3.0: Add sanity check for tx desc
qcacld-2.0 to qcacld-3.0 propagation

Add sanity check for tx desc to avoid crash if firmware report the invalid
msdu id to the host.

Change-Id: I5a339e81f3de882b5f7cc42b0628ea4738141c58
CRs-Fixed: 1071620
2016-11-24 20:21:17 -08:00
Houston Hoffman
a0f93495d3 qcacld-3.0: Only compile QCA6290 registers for lithium
QCA6290 is part of the Lithium chipset family. Without
support for lithium, compiling in the register deffinitions
for QCA6290 does not make sense.

Change-Id: Id251a931287d2662e0b910da299c12e9d45b719c
2016-11-22 15:35:00 -08:00
Leo Chang
395cbb57fa qcacld-3.0: clean up build options fit into emulation platform
Introduced emulation specific flag

Change-Id: I6783f43974274ff8c9d0265133339a8d8a33329b
CRs-fixed: 1086846
2016-11-21 15:20:10 -08:00
Aravind Narasimhan
4ed314d52c qcacld-3.0: Kbuild change to build QCA6290 register definitions
Add qca6290defs.c and define QCA6290_HEADERS_DEF

Change-Id: I0c583542fc18f28c4a9da1f804aa33227dfbdda8
CRs-Fixed: 1089874
2016-11-19 19:32:19 -08:00
Leo Chang
5f7a1e0299 qcacld-3.0: enable wifi 3.0 build
Enable wifi 3.0 compile and feature sets

Change-Id: Ifbff91bfd97eaeaef50b5caed902bb24e1034f3c
CRs-fixed: 1086846
2016-11-17 19:13:20 -08:00
Yue Ma
e6a7a32b00 qcacld-3.0: Enable to use CNSS2 platform driver
Enable the flags to use CNSS2 platform driver for host driver.

Change-Id: I18996443ab8e7c24fb65b6003cfc368b664b5837
2016-11-16 16:37:49 -08:00
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