Commit Graph

319 Commits

Author SHA1 Message Date
Rajeev Kumar
20bc080b98 qcacld-3.0: Compile out WMI non_tlv file from Kbuild
WMI non_tlv is not used for MCL targets and hence compile
out WMI non_tlv object file from Kbuild.

Change-Id: I0ee9376065dffb0f959ef8ba47435cc38a3d7d55
CRs-Fixed: 2216856
2018-04-14 16:50:40 -07:00
Tushnim Bhattacharyya
7b5b137807 qcacld-3.0: Remove WLAN_AP_STA_CONCURRENCY feature flag
STA+SAP concurrency is a default feature now. Remove
WLAN_AP_STA_CONCURRENCY feature flag.

Change-Id: I1200fa57b27ded67b0a17aa9e43c88926a822034
CRs-Fixed: 2223507
2018-04-14 07:37:33 -07:00
Jeff Johnson
81132daa02 qcacld-3.0: Kbuild: Define CONFIG_FEATURE_SKB_PRE_ALLOC
Currently the switch -DFEATURE_SKB_PRE_ALLOC is inferred by examining
three different configuration options. In order to clearly separate
setting the configuration from applying the configuration create a new
CONFIG_FEATURE_SKB_PRE_ALLOC configuration parameter.

Change-Id: I301031a03fdae394748cf4cb6259044324eec6f1
CRs-Fixed: 2222914
2018-04-14 07:37:29 -07:00
Jeff Johnson
f20b4befc5 qcacld-3.0: Kbuild: Define CONFIG_FEATURE_WLAN_D0WOW
Currently the switch -DFEATURE_WLAN_D0WOW is inferred by examining two
different configuration options. In order to clearly separate setting
the configuration from applying the configuration create a new
CONFIG_FEATURE_WLAN_D0WOW configuration parameter.

Change-Id: Ie278011a309a18673eabb4bc4f8f8bb691815018
CRs-Fixed: 2222913
2018-04-14 04:53:10 -07:00
Jeff Johnson
84f243c437 qcacld-3.0: Kbuild: Define CONFIG_ENABLE_SMMU_S1_TRANSLATION
Currently the switch -DENABLE_SMMU_S1_TRANSLATION is inferred by
examining two different configuration options. In order to clearly
separate setting the configuration from applying the configuration
create a new CONFIG_ENABLE_SMMU_S1_TRANSLATION configuration
parameter.

Change-Id: Ibfa0cfbad5342895d90a32ddcf46a9d851253dcb
CRs-Fixed: 2222912
2018-04-13 12:15:48 -07:00
Jeff Johnson
fe6f0b0dc8 qcacld-3.0: Kbuild: Replace unnecessary references to CONFIG_ROME_IF
In Kbuild CONFIG_ROME_IF is used to calculate the interface used by
the WLAN hardware. Once this is determined, one of the boolean
CONFIG_HIF_[PCI|USB|SDIO|SNOC|...] variables is configured. In
anticipation of refactoring the Kbuild in a manner which will remove
the necessity of having CONFIG_ROME_IF, replace all tests of
CONFIG_ROME_IF with tests of CONFIG_HIF_* once the CONFIG_HIF_*
variables have been set.

Change-Id: If80d465500b6b99181d470fa6bff3dc8c20e4409
CRs-Fixed: 2222911
2018-04-13 12:15:45 -07:00
Jeff Johnson
8daf7687a2 qcacld-3.0: Kbuild: Define CONFIG_FEATURE_WLAN_WAPI
Currently WAPI support is being unconditionally enabled in the
driver. However support may not be required on all targets, so add a
configuration flag

Change-Id: I1344620d4cff38dc9d780c9a272d2de07a423e8d
CRs-Fixed: 2222910
2018-04-13 12:15:42 -07:00
Jeff Johnson
6a08830bc5 qcacld-3.0: Kbuild: Decompose the mobile router feature
Currently in Kbuild the "profile" variable CONFIG_MOBILE_ROUTER is
defined based upon a set of tests. Subsequently CDEFINES is updated
with specific feature flags based upon the CONFIG_MOBILE_ROUTER
value. In anticipation of refactoring profile information into
per-target configuration files, create a separate configuration
variable for each feature that is currently controlled by
CONFIG_MOBILE_ROUTER. This will allow each target to have fine-grain
control over its features.

Change-Id: I5fb78f8c49c9ea2b970e547049d565cc1e9243f0
CRs-Fixed: 2222151
2018-04-11 03:38:08 -07:00
Jeff Johnson
c4fedd0a67 qcacld-3.0: Kbuild: Remove obsolete CONFIG_CNSS_EOS
CONFIG_CNSS_EOS is an obsolete configuration item so remove all
references to it.

Change-Id: Id26ac1fb6969af845730b57f1bef6a4903c2b71e
CRs-Fixed: 2222022
2018-04-11 03:38:05 -07:00
Jeff Johnson
fe2489c451 qcacld-3.0: Kbuild: Relocate HELIUMPLUS definitions
Currently if the driver is built directly within the kernel the
following Kconfig parameters will NOT be taken from the kernel
configuration:
- CONFIG_HELIUMPLUS
- CONFIG_64BIT_PADDR
- CONFIG_FEATURE_TSO
- CONFIG_FEATURE_TSO_DEBUG

Inversely, if the driver is built outside the kernel the following
parameter does not enforce the "depends on HELIUMPLUS" that is found
in the Kconfig:
- CONFIG_WLAN_LRO

Resolve these issues by relocating the HELIUMPLUS definition to inside
the "ifeq ($(KERNEL_BUILD), n)" portion of the Kbuild, and relocating
the other configurations such that they only get initialized when
HELIUMPLUS is enabled.

Change-Id: Ie41cd0a59bfa39fed39779e508bebbd6e29f6c0c
CRs-Fixed: 2222020
2018-04-11 03:38:03 -07:00
Jeff Johnson
63ec8ed89d qcacld-3.0: Remove CONFIG_SUPPORT_HOST_STATISTICS from Kbuild
CONFIG_SUPPORT_HOST_STATISTICS is set but then never referenced, so
remove it from Kbuild.

Change-Id: Ib2ec5dfe1a1e10e04116b097296c5bacc6ece9cd
CRs-Fixed: 2221853
2018-04-11 03:38:00 -07:00
Jeff Johnson
20f84ba9bc qcacld-3.0: Remove obsolete HAL_SELF_STA_PER_BSS condition
Currently Kbuild unconditionally sets -DHAL_SELF_STA_PER_BSS=1. There
is only one place where this macro is referenced, and it actually
requires that the macro be set for the driver to work. Since this
logic isn't really conditional, remove the conditional compilation.

Change-Id: I09a03339df086146b81b3012fb281e166fccd5da
CRs-Fixed: 2221852
2018-04-11 03:37:57 -07:00
Jeff Johnson
550b6a7a18 qcacld-3.0: Remove setting HIF_MESSAGE_BASED
Kbuild has conditional logic to set CONFIG_HIF_MESSAGE_BASED which is
subsequently used to pass -DHIF_MESSAGE_BASED to the driver. But
HIF_MESSAGE_BASED is not actually used by the driver, so remove this
support.

Change-Id: Id0650c2c44d7b20d58b30e405c2e8f4aa1082e99
CRs-Fixed: 2221851
2018-04-11 03:37:53 -07:00
Jeff Johnson
b5e486e4cf qcacld-3.0: Remove obsolete CONFIG_PRIMA_WLAN_11AC_HIGH_TP
Kbuild conditionally defines CONFIG_PRIMA_WLAN_11AC_HIGH_TP but then
never uses it. Since it is obsolete, remove it.

Change-Id: I4002197c3068c58e542ab0b7bcc55b642e04624c
CRs-Fixed: 2221850
2018-04-11 03:37:50 -07:00
Jeff Johnson
8fba4d7a8e qcacld-3.0: Consolidate Kbuild configuration variables
In Kbuild, configuration variables are used to determine which files
are included in the build and what flags are given to the C compiler.
Currently most of the configuration variables are set in the top
portion of the file.  In preparation for futher featurization identify
those configuration variables which are being set in the bottom
portion of the file, and relocate them to the top portion of the file.

Change-Id: I962edf666ba7ed8c37a28e448b8675249a759975
CRs-Fixed: 2220924
2018-04-11 03:37:48 -07:00
Jeff Johnson
3a7a9c6e35 qcacld-3.0: Align Kbuild with Linux guidelines
Fix the following issues in Kbuild:
- 'Managment' may be misspelled - perhaps 'Management'?
- 'Endianess' may be misspelled - perhaps 'Endianness'?
- Use of EXTRA_CFLAGS is deprecated, please use `ccflags-y instead.

Change-Id: Ie2d2940bbf5b143b2185bf88bc8fd33abb16817a
CRs-Fixed: 2220923
2018-04-11 03:37:45 -07:00
Jeff Johnson
eadeb93a96 qcacld-3.0: Consistently use y/n for Kbuild flags
In the Kbuild most of the local flag variables use y/n but there are
some that use 0/1. For consistency change all 0/1 flags to y/n.

Change-Id: Ic436d7f1cf8a75eae9d3542b458094ed6442740d
CRs-Fixed: 2220922
2018-04-11 03:37:42 -07:00
Jeff Johnson
1cdba1a666 qcacld-3.0: Remove obsolete AH_BYTE_ORDER macro
Kbuild currently has conditional code that is used to set the macro
AH_BYTE_ORDER. But this macro is unused by the code, so remove it.

Change-Id: If694bdb492645eda5d314f7240e42677d9e4413d
CRs-Fixed: 2220921
2018-04-11 03:37:39 -07:00
Jeff Johnson
ec884ea161 qcacld-3.0: Consolidate setting of endian macros
There are a multitude of endian macros currently supported by the
driver. Consolidate them in one place as a precursor to future
consolidation.

Change-Id: Id4e57eb6e409aa0c84d46b8ce9eb85f3be56716e
CRs-Fixed: 2220920
2018-04-11 03:37:36 -07:00
Jeff Johnson
151c30c6dc qcacld-3.0: Remove unused SPECTRAL_USE_NETLINK_SOCKETS macro
Kbuild currently passes the macro SPECTRAL_USE_NETLINK_SOCKETS to the
compiler.  However this macro is now obsolete, so remove it.

Change-Id: Id88028cceddcaaf8f35c708451fa5bf21c4695dd
CRs-Fixed: 2220919
2018-04-11 03:37:33 -07:00
Jeff Johnson
8018ecec87 qcacld-3.0: Remove unused WLAN_FEATURE_RX_FULL_REORDER_OL macro
Kbuild currently defines the macro WLAN_FEATURE_RX_FULL_REORDER_OL.
However the change "qcacld-3.0: wma: change legacy data path api to
cdp api" removed the only reference to this macro. Since it is now
obsolete, remove it.

Change-Id: I72e770874150cbac69e8efbb9e5dd7027a2e8869
CRs-Fixed: 2220918
2018-04-11 03:37:30 -07:00
Jeff Johnson
2540c551fe qcacld-3.0: Remove unused WLAN_FEATURE_MBSSID macro
The Kbuild currently defines the macro WLAN_FEATURE_MBSSID.  However
this macro is not actually referenced in the driver, so remove it.

Change-Id: Id2254c298b5db2a18a75160d22904af3a6f90c06
CRs-Fixed: 2220916
2018-04-11 03:37:27 -07:00
Jeff Johnson
78772177b6 qcacld-3.0: Remove obsolete WLANTL_DEBUG code
Macro WLANTL_DEBUG is currently used to define some SAP debug
counters, but these counters are unused, so remove this obsolete code.

Change-Id: Ie7d976efcb5fb335b3f60a5af48a70dd214b3bd0
CRs-Fixed: 2220915
2018-04-11 03:37:24 -07:00
Jeff Johnson
a635938a0e qcacld-3.0: Remove unused WCN_PRONTO macros
The Kbuild currently conditionally defines the macros WCN_PRONTO and
WCN_PRONTO_V1.  However these macros are not actually referenced in
the driver, so remove them.

Change-Id: I173fb8ee9bcc89faa3d03be91dc1628f561c561e
CRs-Fixed: 2220914
2018-04-11 03:37:21 -07:00
Jeff Johnson
b8b3976823 qcacld-3.0: Remove unused IGTK_OFFLOAD macro
The Kbuild currently conditionally defines the macro IGTK_OFFLOAD.
However this macro is not actually referenced in the driver, so remove
it.

Change-Id: I0c1bf314ad222e2348419950a462f5ce72163ec6
CRs-Fixed: 2220913
2018-04-11 03:37:19 -07:00
Jeff Johnson
b45dba43e5 qcacld-3.0: Remove unused ATH_SUPPORT_SHARED_IRQ macro
The Kbuild currently defines the macro ATH_SUPPORT_SHARED_IRQ. However
this macro is not actually referenced in the driver, so remove it.

Change-Id: I526038c83380da2526c403cba3bedeaa0e347983
CRs-Fixed: 2220912
2018-04-11 03:37:15 -07:00
Jeff Johnson
a3005a1c1a qcacld-3.0: Remove obsolete ANI_COMPILER_TYPE macros
Currently a set of ANI_COMPILER_TYPE macros are checked against, but
other than that they serve no purpose. As part of ongoing Kbuild
cleanup remove these obsolete macros.

Change-Id: Ia112d7d5ae8d12eae46144b53addc8ad54393bba
CRs-Fixed: 2220285
2018-04-11 03:37:13 -07:00
Paul Zhang
fa2cd5cd61 qcacld-3.0: Define CONFIG_MCL_REGDB in Kbuild
Currently, CONFIG_MCL_REGDB does not define for MCL,
then the driver uses the g_all_countries[] which is
for WIN.

Change-Id: If1b5873b65005381eabca95f530504d599a38e3b
CRs-Fixed: 2210854
2018-04-05 01:29:50 -07:00
Jeff Johnson
8bb6111e1f qcacld-3.0: hdd: Refactor the Green AP feature
Refactor the hdd portion of the Green AP feature so that it can be
easily excluded when the feature is not enabled.

Change-Id: I986c5ab7640b3182a12bef93748affefba067251
CRs-Fixed: 2216247
2018-04-04 11:07:19 -07:00
Dustin Brown
63ef318a90 qcacld-3.0: Enable NBUF_MEMORY_DEBUG for SLUB builds
Network buffer debugging is being featurized as a separate feature from
regular memory debugging, and being controlled via the NBUF_MEMORY_DEBUG
build config flag. Enable NBUF_MEMORY_DEBUG for SLUB DEBUG builds to
retain the existing set of build time debug features.

Change-Id: Ib2ac2823ea5231508f4cca7d718ed266acd91274
CRs-Fixed: 2216804
2018-04-03 16:50:09 -07:00
Naveen Rawat
73e1ca9663 qcacld-3.0: Add control path stats header files to include path
Add Kbuild changes to include control path stats component's header
file paths.

Change-Id: I5e4efc92658fde8ee657d33265a55ae84f5f4723
CRs-Fixed: 2215999
2018-04-03 11:11:22 -07:00
Yun Park
5027b7c504 qcacld-3.0: Disable IPA offload feature
While freeing IPA CE descriptor ring during driver unload, data abort
occurs due to double free.
Disable IPA offload feature flag until completing IPA offload feature.

Change-Id: Ia54e94dc9a0a21761ac1b05b45bf9334e6ff9613
CRs-Fixed: 2211078
2018-03-30 17:00:06 -07:00
Alok Kumar
b64650c29a qcacld-3.0: Handle NUD events within driver
Currently NUD events are used by Framework to detect
the Network Reachability. Framework issues disconnection
for NUD_FAILED event.

Now, NUD events are tracked within driver to detect the
reachability and based on TxRx traffic, driver takes decision
to issue disconnection.

Change-Id: I461610c220288ff1fd718bb7bc2dd8375588505c
CRs-Fixed: 2195796
2018-03-30 02:46:29 -07:00
Dustin Brown
9b217c00ec qcacld-3.0: Define WLAN_HOST_ARCH_ARM in Kbuild
Some features depend on whether the host architecture is ARM or not.
Define WLAN_HOST_ARCH_ARM so these features are included correctly.

Change-Id: Ibd19858edf5c24841fc31d342ab448e635ae0d68
CRs-Fixed: 2215586
2018-03-30 02:46:04 -07:00
Tushnim Bhattacharyya
a2c18de55c Revert "qcacld-3.0: Refactor Kbuild to add profile support"
This reverts commit Ic9eb552c183143b4a2e0738c52b2e0c50db63a93.

Change-Id: I45f232d2ed003de5ffebb2865815ec9f06f9f775
CRs-Fixed: 2200122
2018-03-27 23:38:35 -07:00
Nirav Shah
e8ac340750 qcacld-3.0: Refactor Kbuild to add profile support
Changes to enable/disable feature based on
profiles, debug mode, interface type and
architecture in Kbuild.

Change-Id: Ic9eb552c183143b4a2e0738c52b2e0c50db63a93
CRs-Fixed: 2200122
2018-03-27 12:16:15 -07:00
Wen Gong
55f15d32f2 qcacld-3.0: Add P2P debug feature flag
Add config flag to enable / disable WLAN_FEATURE_P2P_DEBUG

Change-Id: Ibd43ebb5c0be91d3ede2110f0fa3e2868c7a6c88
CRs-Fixed: 2209865
2018-03-26 00:25:29 -07:00
Dustin Brown
0634ba3ba9 qcacld-3.0: Enable WLAN_WARN_ON_ASSERT for debug builds
QDF_ASSERT is being featurized in
I39e3ab6499210569b6ce09d77ee72f0081741989. Enable the QDF_ASSERT feature
in debug builds by default.

Change-Id: I96484e6dbebcecf17ae7877dc30906ed8fa90bd7
CRs-Fixed: 2211987
2018-03-24 02:51:16 -07:00
Yue Ma
72b09b17fc qcacld-3.0: Enable HTT_PADDR64 for LITHIUM architecture device
Enable HTT_PADDR64 to send DMA address over 32 bits to firmware.

Change-Id: I9260f0e648a8369495f3f26d0eb3e915505467c5
CRs-fixed: 2201824
2018-03-23 21:38:47 -07:00
Arif Hussain
02c2b63099 qcacld-3.0: Separate macros for dfs offload
Separate macros for dfs offload and non offload
to reduce the code size.

Change-Id: I909ed6502530988cc584690cb434ba2600bbccaa
CRs-Fixed: 2206653
2018-03-23 03:18:22 -07:00
Sravan Kumar Kairam
271fab287a qcacld-3.0: Move IPA stats and debug info API to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA stats and debug info  APIs to
the IPA component.

Change-Id: Ieb68a1579986c835f66c84e5e3b7aa2a4004383d
CRs-Fixed: 2177925
2018-03-21 18:57:17 -07:00
Sravan Kumar Kairam
2e7aae9fdb qcacld-3.0: Move IPA RM functionalities to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA RM APIs to the IPA component.

Change-Id: Iaff12ae3cec9ee6ff20543579692385c9a555613
CRs-Fixed: 2177925
2018-03-21 18:57:11 -07:00
Sravan Kumar Kairam
d01b445db4 qcacld-3.0: Move IPA setup and initialization to IPA component
IPA module has been moved to CLD component under the converged
driver model. Move the legacy IPA setup and initialization code
to the IPA component.

Change-Id: I63717eb2601c569131c6642f7330e4182e604424
CRs-Fixed: 2177925
2018-03-21 18:57:08 -07:00
Sravan Kumar Kairam
4af61cf612 qcacld-3.0: Create IPA CLD component
As part of converged driver model remove IPA from
HDD and create a new IPA CLD component. Add files for
IPA core, dispatcher and target_if. Define IPA related
public and private structures.

Change-Id: I8848331edc7dd878f9fc51ef9f5e311ad91ed70b
CRs-Fixed: 2177925
2018-03-21 18:57:03 -07:00
Abhinav Kumar
49d08a742f qcacld-3.0: Move Channel convert and frame indication logic to lim_utils.c
Move Channel convert and frame indication logic from lim_p2p.c
to lim_utils.c and remove unused timer
pMac->lim.limTimers.gLimP2pSingleShotNoaInsertTimer.

Change-Id: I71de90d5fb88462e52148a434d43ea80c41cfe36
CRs-Fixed: 2191282
2018-03-20 07:38:17 -07:00
Himanshu Agarwal
edf30dc042 qcacld-3.0: Add support for WLAN-IPA SMMU Stage 1 translation
Update WLAN-IPA datapath buffer sharing for SMMU Stage 1
translation support. When SMMU Stage 1 translation is enabled,
DMA APIs return IO virtual address(IOVA) instead of physical
address. This IOVA needs to be mapped to physical address by IPA
module before accessing them.

Change-Id: I6b24cde7b7805395053a8fd8f9afbad202e6105f
CRS-Fixed: 2072960
2018-03-19 09:34:23 -07:00
Rajeev Kumar
a6268de325 qcacld-3.0: Register fw down callback with QDF
Register fw down callback with QDF such that new UMAC
components can check if FW is down or not.

Change-Id: I86346db08ced59bb5f77c640eb7f9257cc0bb42c
CRs-Fixed: 2203498
2018-03-16 10:35:37 -07:00
Vignesh Viswanathan
45fc4b0a5e qcacld-3.0: Add makefile flag for ObjMgr Debug Enhancements
Add new CONFIG_WLAN_OBJMGR_DEBUG flag in qcacld Kbuild for ObjMgr
Debug enhancements and use the flag to enable the existing
WLAN_OBJMGR_DEBUG CFlag.

Change-Id: I295c9b6822ab0c1396368ecc719b2ba1c8c834dd
CRs-Fixed: 2184785
2018-03-15 09:32:38 -07:00
Rachit Kankane
0baf6e723f qcacld-3.0: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I400933feecc54b46bd9aebdbc2cb5440c882112b
CRs-Fixed: 2189869
2018-03-15 08:04:44 -07:00
Dustin Brown
92def29b24 qcacld-3.0: Enable level-specific logging wrappers
Change Ie062ada403f8a31aebcde691396987ad9e5352b5 introduced level-
specific logging wrappers to support compiling out entire levels of
logging messages. Enable these logging wrappers in the build config.

Change-Id: Ia866d28d1581f2baa69967a9c342da5a5432ef62
CRs-Fixed: 2205917
2018-03-15 08:04:42 -07:00