Commit Graph

223 Commits

Author SHA1 Message Date
Wu Gao
aa5e3f7476 qcacld-3.0: Remove legacy P2P codes in SAP
To reduce code size, remove legacy P2P codes in SAP layer. Remove
P2P files from Kbuild.

Change-Id: I83a704d3f03e9cb9e6a7420f32d609a323799a12
CRs-Fixed: 2111575
2017-10-18 23:50:55 -07:00
SaidiReddy Yenuga
744073fd06 qcacld-3.0: Fix wlan module loading issue
As part of configure default filters over suspend code
changes wlan module loading broken.

Fix the loading issue by adding the newly added files
to Kbuild.

CRs-Fixed: 2017259
Change-Id: Ib33efa8f7f5e2ca8d9734181df94f70557e9f9cd
2017-10-17 05:05:26 -07:00
Poddar, Siddarth
348727860d qcacld-3.0: Add new data stall detection module in hdd
Add data stall detection module in hdd which handles data
stall reported by host or fw and take necessary recovery
steps based on the data stall type.

Change-Id: Idf6c43f55d1bc115a0c06b4c6ef766ff3ed09bee
CRs-Fixed: 2090643
2017-10-06 12:27:29 -07:00
Frank Liu
1b8212057d qcacld-3.0: TDLS: remove legacy event process
Clear up the tdls legacy tdls firmware events and
implicit tdls discovery request process.

Change-Id: I2e2380b1789cce7841ff0be4120184d1bce0b7e7
CRs-Fixed: 2105075
2017-09-28 09:39:45 -07:00
Arun Khandavalli
08479ba85b qcacld-3.0: Register the netdev notifier before the netdevices
Applications in the userspace can sleep on the RTM events from
the driver. One such application waiting of RTM_NEW_LINK indication
does interface up as soon as it recieves the indication, so the
kernel takes rtnl_lock to call the dev_open on the interface.
Load/unload of the driver and dev_open of the interfaces are
synchronized with hdd_init_deinit_lock. So the __hdd_open is waiting
on the hdd_init_deinit_lock which is currently held by the driver
loading context. After registering the interfaces driver goes to
register the netdev notifier which is blocked on the rtnl_lock
currently held by the dev_open resulting in deadlock.

To mitigate the issue register the netdev notifier before the
interfaces are registered.

Change-Id: Ibb0c187a43ad87fa535ff583316af430e1ddf04f
CRs-Fixed: 2078720
2017-09-26 20:43:43 -07:00
Dustin Brown
0bec9a9259 qcacld-3.0: Prepend kernel includes with "kernel/"
To avoid include conflicts, prepend all kernel includes with "kernel/"

Change-Id: I8a3f037c4abf07b129875b919225825701dc1046
CRs-Fixed: 2094774
2017-09-14 15:41:51 -07:00
Zhu Jianmin
35fcd0dbe7 qcacld-3.0: Enable log to cnss_diag for non-perf sdx
sdx/mdm:
  no-perf: Enable log to cnss_diag by default, have rich debug log.
           Avoid system crash when turn on much log in printk
           QXDM can be used too
  perf:    Disable log to cnss_diag by default for better performance

change-Id: I3b8011b327c78625abe56e9b51167d6ca2e3757f
CRs-Fixed: 2101171
2017-09-06 11:27:13 -07:00
Lin Bai
59b79768d3 qcacld-3.0: Turn on WLAN_NL80211_TESTMODE properly
WLAN_NL80211_TESTMODE need to be controlled by CONFIG_NL80211_TESTMODE,
or compiler will throw error, like - API cfg80211_testmode_* not defined.

CRs-Fixed: 2103007
Change-Id: I84536b8527656d8d0d4a0a7961ca8a83e8dd733c
2017-09-02 00:17:53 -07:00
Sridhar Selvaraj
8c6f5e82b0 qcacld-3.0: Changes to support FILS authentication
Add changes to add support of sending and parsing
authentication packets based on 80211ai specifications.

Change-Id: I684dbc89945ba3aef3186c872e5e1f7564d7e44c
CRs-Fixed: 2028113
2017-08-30 10:45:10 -07:00
Venkata Sharath Chandra Manchala
5e2fef5d39 qcacld-3.0: Remove NAPIER EMULATION flag
Remove QCA_WIFI_NAPIER_EMULATION flag for
Mohave bringup and cleanup the
necessary code under the emulation flag.

Change-Id: I43fcadc7b5e8743b762526157a5a41c5caecebf1
CRs-Fixed: 2096674
2017-08-30 10:40:40 -07:00
gaolez
76d2a16f03 qcacld-3.0: Channel hopping for 2_4G and 5G band
qcacld-2.0 to qcacld-3.0 propagation

Allow device switch to a different channel if the current channel is
congested, using the 11h channel switch announcement.

Change-Id: I1766785017e43f17cc800039b383ee5dabcd6ea5
CRs-Fixed: 2082632
2017-08-22 20:57:57 -07:00
Rajeev Kumar
01e64368ce qcacld-3.0: Enable power offload unit test framework for NP builds
Enable power offload unit test framework for napier emualtion and
SoD builds such that FW low power paging requirement can be profiled.

Change-Id: I961cf7ebfbc529fd1243040aed5d124987ccaed0
CRs-Fixed: 2096444
2017-08-22 13:50:28 -07:00
tfyu
350d9f7552 qcacld-3.0: Add macro protection for HIF CE
Add macro protection for HIF CE, it shouldn't include the ce head file
when the module is usb or sdio.

Change-Id: I426d10fdb4fd7e479f0bc683d857feab8d4d80d8
CRs-Fixed: 2090621
2017-08-17 03:26:59 -07:00
Dustin Brown
48efd5be0a qcacld-3.0: Enable Green AP by default
Currently Green AP is controlled by CONFIG_MOBILE_ROUTER and other
feature flags. Instead, enable Green AP by default in Kbuild.

Change-Id: I2570076f1dd2663f57630aa9808fbcb33b9b0dd2
CRs-Fixed: 2081715
2017-08-15 16:27:59 -07:00
Manjunathappa Prakash
143a24e732 qcacld-3.0: Missing FW interface, disable CONFIG_IPA_OFFLOAD
htt.h FW interface file has missing interface for
WLAN_WDI_IPA_GET_SHARING_STATS_REQ and WLAN_WDI_IPA_SET_QUOTA_ReQ.
Disable IPA until we have them coming from FW file

Change-Id: I0fdec26c6a6b9d5e0f97cb31f344cd6f446b2e53
CRs-Fixed: 2084537
2017-08-11 19:38:13 -07:00
Yingying Tang
71961045fd qcacld-3.0: Disable LFR3.0 for SDX20
Since wifi chip do not supprot LFR3.0 on SDX20, disable LFR3.0
feature in Kbuild, and fix a compilation error.

CRs-Fixed: 2009403
Change-Id: I16eb3bd68d5564801be9cbcf9db1386cb0e3953b
2017-08-09 16:07:53 -07:00
Yun Park
b4f591d8aa qcacld-3.0: Enable WLAN host data path support for IPA WDI3.0
Change to support WLAN Napier host autonomy data path architecture.

Change-Id: I80e8f609587d0df85d2da9fb0f41cb49e02a9d2f
CRs-Fixed: 2033368
2017-08-07 17:47:45 -07:00
Amar Singhal
9583b116c9 qcacld-3.0: Add config for channel enumeration
Add configuration for legacy channel enumeration. This is needed
to conditionally support new dynamic channel enumeration.

Change-Id: Id8ca6a0a0f28de84a4cc0933b466a8b99714aefd
CRs-Fixed: 2048784
2017-08-06 00:59:59 -07:00
c_manjee
36b61839c1 qcacld-3.0: Enable Driver MEMDUMP in Kbuild
MEMDUMP is disabled in Kbuild, Hence the driver memory dump
command is failing.

Enable WLAN_MEMDUMP in Kbuild

CRs-Fixed: 1117348
Change-Id: Ic468a78305a5df409cf95096dfea38cb27aa7c7c
2017-07-30 14:00:43 -07:00
Govind Singh
98b6255df6 qcacld-3.0: Remove QCA_WIFI_3_0_EMU flag from Kbuild
QCA_WIFI_3_0_EMU flag is introduced for IHelium emulation
platform, where wait/error timeouts are kept for larger values.
Remove this flag for production target.
Increase tx completion drain delay to 1sec from 500ms to avoid
unwanted suspend abort.

Change-Id: Ie0633b3a2bbc9e2237039311af7417952961aada
CRs-Fixed: 2047750
2017-07-27 16:59:14 -07:00
Rajeev Kumar
f46083e0e5 qcacld-3.0: Move CLD components outside core folder
Core is legacy module folder in CLD. Hence move MCL specific
components folder outside core.

Change-Id: Iba3f9fdb06ad10dc4a5b19f3ff1ffa23f7372605
CRs-Fixed: 2077963
2017-07-18 01:58:53 -07:00
Manjunathappa Prakash
6c54736903 qcacld-3.0: Add changes for Napier flow control
Adds support for flow control on convergence branch.
We will have global pool and each vdev coming up will have the
descriptors allocated from global pool. Tx queue is paused and unpaused
internally in host based on the stop and start thresholds.
Changes are added under compilation flag QCA_LL_TX_FLOW_CONTROL_V2.

Change-Id: I0ccb80b0099f39efad52ccd7d47f2709fdee2a93
CRs-Fixed: 2040457
2017-07-16 07:01:28 -07:00
Mukul Sharma
d75a667472 qcacld-3.0: Move PMO from CMN to CLD
Move PMO from CMN to CLD.

Change-Id: I31380da668ac3305731b8c9906d343a829777591
CRs-fixed: 2071528
2017-07-14 17:36:11 -07:00
Houston Hoffman
b4d4567fa0 qcacld-3.0: Enable NAPI for lithium
Enable napi and irq affinity for lithium.

Change-Id: Icd90dd6f9e5f4d9b88b8493021e1e6a934678cf6
CRs-Fixed: 2057228
2017-07-13 03:38:06 -07:00
Naveen Rawat
9383625dd6 qcacld-3.0: Add option to avoid timestamp in version string
Adding timestamp in version string is causing long compile times
for wlan project. Add option to avoid timestamp so that developers
can avoid long compile times.

Change-Id: Iaa5fd4f432549844ae319451cb43929a2d4b68ea
CRs-Fixed: 2064805
2017-07-06 15:41:27 -07:00
Jeff Johnson
6fa1e0113b qcacld-3.0: Add HDD FIPS infrastructure
As part of the support for the FIPS certification feature add the
HDD infrastructure.

Change-Id: I76a545c42b10a662db04b5994de100c713a46c59
CRs-Fixed: 2065002
2017-06-29 19:05:58 -07:00
Jeff Johnson
6136fb90e2 qcacld-3.0: Add WMA FIPS infrastructure
As part of the support for the FIPS certification feature add the
WMA infrastructure.

Change-Id: I7e113cee8ba9a08c2efd1141bef84e43d530cdcb
CRs-Fixed: 2065002
2017-06-29 19:05:56 -07:00
Jeff Johnson
7869aadbd4 qcacld-3.0: Add Kbuild support for FIPS feature
In order to get FIPS certification the driver will need to support a
userspace API and accompanying logic to exercise the FIPS WMI
interface exposed by firmware. Since this logic need not be enabled on
production devices, expose a configuration knob so that it can be
enabled or disabled on demand.

Change-Id: I979be0175ea89e9147b07b222f54a7c3fc23dbd9
CRs-Fixed: 2065002
2017-06-29 19:05:54 -07:00
Yu Wang
000dc2f19c qcacld-3.0: add support for target-host synchronization
To map target time to host time, implement a timer
to capture TSF and host time periodically.
The timer will be started when connection state of
sta/p2p_gc being changed from not associated to
associated; and stopped when from associated to
not associated.

Change-Id: I697080b95f01f173beddc038ab9ad89ee394354b
CRs-Fixed: 2057693
2017-06-29 03:44:39 -07:00
Srinivas Girigowda
811c8d58a2 qcacld-3.0: Fix Kbuild to enable packet log
Currently, the CONFIG_FEATURE_PKTLOG is not enabled for
statically loaded driver.
The reason for that is enabling of this macro is conditionally
done under KERNEL_BUILD=0.

This commit enables the macro conditionally for
all values of KERNEL_BUILD

Change-Id: I6adc090545589df1a6a91ecc12246daeedec2ebd
CRs-Fixed: 2058745
2017-06-22 13:37:58 -07:00
Krishna Kumaar Natarajan
c7e2bb7c83 qcacld-3.0: Add support to read link layer stats via debugfs
Add support to read link layer stats via debugfs. This change set
will issue get_req and store the received stats response is debugfs
entry.

Change-Id: If3af9f0a37283583ff011e35c7275a329a6e175d
CRs-Fixed: 2018087
2017-06-22 11:47:49 -07:00
Zhu Jianmin
04392c461d qcacld-3.0: Optimize ping latency
If tx frame is ICMP packet, disable bmps for N seconds to avoid
latency of waking up from bmps.

Change-Id: I91f7748bfca81524637e0e4cc39ace5abf53f7dc
CRs-Fixed: 2044602
2017-06-22 04:38:32 -07:00
Dustin Brown
0f8dc3d7b2 qcacld-3.0: Use refactored unit-test suspend APIs
The HIF portion of Unit-Test suspend has been refactored. Update HDD to
use the updated Unit-Test Suspend APIs.

Change-Id: Id10f6f5811e836844980b929f2747b1238bcf95d
CRs-Fixed: 2055332
2017-06-16 09:49:26 -07:00
Dustin Brown
ab482ac2b4 qcacld-3.0: Print build timestamp with driver version
As part of driver init, the version string gets printed. To help in
debugging, also print a timestamp from when the driver was compiled.

Change-Id: Icf064af6a0d84434d239b54603092bf2276df596
CRs-Fixed: 2059303
2017-06-14 19:26:41 -07:00
Venkata Sharath Chandra Manchala
1676defe7e qcacld-3.0: Enable TSO
Add FEATURE_TSO flag in Kbuild to enable the
TSO feature for Lithium based chipsets

Change-Id: Ie26b2b9a191828b3ce833000a7abbb09dd492713
CRs-Fixed: 2042950
2017-06-07 12:14:46 -07:00
Venkata Sharath Chandra Manchala
0b9fc63dd1 qcacld-3.0: Support for DPTRACE
1. Add an extra parameter pdev id to
   qdf_trace signatures to avoid compilation break.
2. This variable allows to collect records per pdev
   for Lithium based chipsets.
3. Set this variable to a default value QDF_TRACE_DEFAULT_PDEV_ID
   for older chipsets.

Change-Id: I2f4c2e3525ac0d1d53f1af3db7e43acadf6ab835
CRs-Fixed: 2049412
2017-06-05 22:52:39 -07:00
Varun Reddy Yeturu
fd6d164471 qcacld-3.0: Fix Kbuild to enable WLAN debugfs support
Currently, the CONFIG_WLAN_POWER_DEBUGFS and CONFIG_WLAN_DEBUGFS
are not enabled for statically loaded driver.
This results in missing subsystem power stats.
The reason for that is the enabling of this macro is conditionally
done under KERNEL_BUILD=0.
This commit enables the macro to be also
conditionally done under all values of KERNEL_BUILD

Change-Id: I2824fdbb438b37ee58a95a6ea889be5e7691bef5
CRs-Fixed: 2033114
2017-06-05 19:29:05 -07:00
Dustin Brown
1224e21a8f qcacld-3.0: Add gHwFilterMode ini item
Add a 'gHwFilterMode' ini item to control the DTIM mode hardware
filter. This ini item supersedes 'g_enable_non_arp_bc_hw_filter.'

	# disable feature (default)
	gHwFilterMode=0
	# drop all broadcast frames, except ARP
	gHwFilterMode=1
	# drop all multicast frames, except ICMPv6
	gHwFilterMode=2
	# drop all broadcast and multicast frames, except ARP and ICMPv6
	gHwFilterMode=3

Change-Id: I6bc8ac7585ffd0a62ab1c57558a798df9b63f2ce
CRs-Fixed: 2040420
2017-06-01 12:32:27 -07:00
Himanshu Agarwal
8e89ce70f0 qcacld-3.0: Record ol rx indication events
Record ol rx indication events in a global ol rx indication record
buffer to have history of msdus received, no. of buffers replenished,
etc. in rx indication messages.

Change-Id: I96cf27a209c81208c6f6566b5e57116b2cf233e8
CRs-Fixed: 2012485
2017-06-01 07:21:48 -07:00
Ravi Kumar Bokka
0b9ead35b8 qcacld-3.0: Configure and clear packet filter
Add PMO changes to configure and clear default packet filters
over suspend and resume.

Change-Id: I0089811ae626ff1a79c845acc997f00429ed88ed
CRs-Fixed: 2034398
2017-05-31 01:03:20 -07:00
Manjunathappa Prakash
4282a0137c qcacld-3.0: Do not tie LRO support to kernel version
Remove LRO dependency kernel version, instead make it only dependent
kernel config CONFIG_INET_LRO

Change-Id: I2f3503149026102803b347e1a674bd3ab747aacf
CRs-Fixed: 2042812
2017-05-26 16:11:29 -07:00
Mohit Khanna
3c4262dda9 qcacld-3.0: configure platform dependent 64-bit DMA support
We want to enable 64-bit DMA support only on a select platforms. If the
flag CONFIG_FORCE_ALLOC_FROM_DMA_ZONE is set on a platform, it indicates
that the platform supports 32-bit DMA only. We can use this flag to
enable ENABLE_DEBUG_ADDRESS_MARKING flag in the WLAN driver. This flag
ENABLE_DEBUG_ADDRESS_MARKING, when enabled, allows WLAN driver
to process DMA addresses > 32 bits.

Disable ENABLE_DEBUG_ADDRESS_MARKING  when
CONFIG_FORCE_ALLOC_FROM_DMA_ZONE is set for a platform.

Change-Id: I48afcc240d21fe9486c2bdf0f572b8b8d3e3cd71
CRs-Fixed: 2052030
2017-05-25 16:11:25 -07:00
Venkata Sharath Chandra Manchala
bcdfdb14f2 qcacld-3.0: Support for HTT Stats
1. Remove unused variable of type ol_txrx_stats_req
   passed through cdp_txrx_stats api to avoid
   compilation break.
2. Add dp_stats file to the Kbuild. This file is
   used to collect HTT Statistics for Lithium based
   chipsets.

Change-Id: I0252c996d47cc866291d25f35eb9bb9e19073a8b
CRs-Fixed: 2050798
2017-05-24 02:41:15 -07:00
Dhanashri Atre
f067b5887a qcacld-3.0: Hardware Header File Update for Napier (E6)
Compilation change to include the E6 hardware header files.

CRs-Fixed: 2033542
Change-Id: I8ef090873a9e41a7309dacade7bce635a303dc2c
2017-05-19 11:51:08 -07:00
Himanshu Agarwal
bfa44c2036 qcacld-3.0: Enable DPTRACE for perf and production builds
Enable DPTRACE for perf and production builds.

Change-Id: I2aebe9279fb8e3c4a56364e7897f4a4f7402213e
CRs-Fixed: 2047043
2017-05-16 00:46:25 -07:00
Rajeev Kumar
07c7769392 qcacld-3.0: Kbuild changes for renaming power_management_offloads to pmo
Power_management_offlaods is really a long directory name hence rename it
to pmo such that it aligns with existing naming convention. Add Kbuild
changes to support 'pmo' component compilation.

Change-Id: If0b260ee0e2d10e5a506d7c5e96e47d2f0611ead
CRs-Fixed: 2045420
2017-05-11 03:47:28 -07:00
Ravi Joshi
c4a41087af qcacld-3.0: Add support for rx defragmentation on converged data path
Add support for rx defragmentation on converged data path.

Change-Id: I2da758e03cec50451d5b6c04c3c152584c281807
CRs-Fixed: 1109359
2017-05-08 14:59:10 -07:00
Amar Singhal
eac6413bbe qcacld-3.0: Add regdb parser to regulatory component
Regulatory parsing code is present in file reg_db_parser.c.
Add this file to regulatory component.

Change-Id: I7fcf9db8b80fdfbef30409575cc1a63d684dded2
CRs-Fixed: 2012415
2017-05-06 18:31:22 -07:00
Poddar, Siddarth
d63954e481 qcacld-3.0: Enable debug address marking only for 64 bit DMA address system
Limit the detection of non posted rx buffers from FW only to
64 bit DMA address system. For systems, where IPA has 32 bit
DMA address limitation, this debug feature should be disabled.

CRs-Fixed: 2010583
Change-Id: I9a26d0a423acedb068d99f39929029182f7c6fa1
2017-04-28 05:22:24 -07:00
Srinivas Girigowda
fab25264ac qcacld-3.0: Remove log_dbg/debug() & obsolete file log_api.c
Remove log_dbg/debug() & obsolete file log_api.c.

Change-Id: I66cc59cd9c95dc019d9cf6032d3a3da772464d22
CRs-Fixed: 1093093
2017-04-26 15:50:08 +05:30