Commit Graph

117 Commits

Author SHA1 Message Date
Tang Yingying
4c0e83ee98 qcacld-3.0: Disable LRO feature when linux kernel version < 4.4
Currently kernel LRO API is only provided in version 4.4. There will
be compilation error if kernel version < 4.4. Add fix to disable
LRO feature when linux kernel version < 4.4.

Change-Id: I69198e55bb3c4ee7c5844e2b7b55e12cb8075d7c
CRs-Fixed: 1112463
2017-02-15 19:11:21 -08:00
Yu Wang
58e1cad939 qcacld-3.0: fix compilation errors for HL target on MDM
1. sdio related source files are not included due to
   CONFIG_HIF_SDIO is not enabled.
   Enabled CONFIG_HIF_SDIO if CONFIG_ROME_IF is sdio.

2. Paramters for nl_srv_init/nl_srv_exit are incorrect
   if MULTI_IF_NAME is defined.
   Correct the parameters, to align with the prototype.

Change-Id: I4e395e07b12e3b1904cabfa4a40fa10845d8e735
CRs-Fixed: 2004368
2017-02-14 16:28:18 -08:00
Rajeev Kumar
fe98146f84 qcacld-3.0: Remove obsolete NAPIER_CODE feature flag
NAPIER_CODE feature flag is no longer needed and hence
remove it.

Change-Id: Ide612ca55722d8defbee6d37a81ad55ffd0fba5f
CRs-Fixed: 2006308
2017-02-14 14:38:12 -08:00
Houston Hoffman
d4ba43143b qcacld-3.0: Enable lock stats features with CONFIG_SLUB_DEBUG_ON
Enable lock stats feature in non perf mode builds.

Change-Id: I088e216cea64293d206c8a780072d2b53f2c6173
CRs-Fixed: 2004702
2017-02-10 18:10:46 -08:00
Houston Hoffman
06fd5662b2 qcacld-3.0: define CONFIG_SHADOW_V2
Define CONFIG_SHADOW_V2 to continue using shadow
registers for QCA6290.

Change-Id: I342759910950489c53f69874a6e70f371ae04bca
CRs-Fixed: 2004391
2017-02-10 18:10:44 -08:00
Jeff Johnson
b90ab57f0c qcacld-3.0: Fix Kbuild path for wma_ocb.o
When CONFIG_WLAN_FEATURE_DSRC is enabled the resulting build fails
because there is no rule to make wma_ocb.o. The issue is that there is
a typo in the rule, so fix the rule.

Change-Id: I1b724736fcac175b9bf83e4a98878e1333a54b57
CRs-Fixed: 2002874
2017-02-09 15:50:20 -08:00
Mukul Sharma
c3e7a78d8f qcacld-3.0: Add target_if support for components
Add target_if support for components.

Change-Id: I5110460afff7c4f5797b3441719dddf9a37c8a50
CRs-Fixed: 2001969
2017-02-08 22:25:31 -08:00
Rajeev Kumar
39ff01fc84 qcacld-3.0: Remove obsolete cds_mq.h and cds_mg.c files
After control path scheduler componentization cds_mq header and
source files are not needed hence delete obsolete cds_mq.h and
cds_mq.c files.

Change-Id: I9cef1086e805d0e5ea7b377d0a2de3512b452572
CRs-Fixed: 2000240
2017-02-02 18:38:56 -08:00
Dhanashri Atre
33e147e59f qcacld-3.0: Enable MCL buffer replenishment
Enable the MCL buffer replenishment compile flag.

CRs-Fixed: 1116939

Change-Id: Id98504a9324fea76662e261e35d432543a5371bc
2017-02-01 16:23:32 -08:00
Poddar, Siddarth
1bec7aeaa0 qcacld-3.0: Enable FEATURE_METERING for SDM660 and SDM630 in Kbuild
Enable FEATURE_METERING for SDM660 and SDM630 in Kbuild
to get any IPA stats by Wlan driver.

CRs-Fixed: 1115310
Change-Id: I44ad270735c91b9642612307d223da7f5e25fcf0
2017-01-31 23:47:49 -08:00
Mahesh Kumar Kalikot Veetil
c0233a7d73 qcacld-3.0: Add debugfs support flag in Kbuild
Turn on debugfs support only if CONFIG_DEBUG_FS is enabled in kernel
configuration.

Change-Id: I0b63bff056123fe29b0880bbe98da7a5c204fae7
CRs-Fixed: 1083744
2017-01-30 16:06:10 -08:00
Himanshu Agarwal
795b7f756c qcacld-3.0: Inline funcs for mgmt_txrx southbound API's
Use inline functions to access mgmt_txrx southbound API's.
This will remove the need to invoke these directly from the
structures.

Change-Id: I50f71261618fd6812265738597bd6f2968cef692
CRs-Fixed: 1110551
2017-01-27 04:51:43 -08:00
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