Commit Graph

126 Commits

Author SHA1 Message Date
hangtian
c847946ced qcacld-3.0: Add qcs40x.snoc.perf_defconfig
Add qcs40x.snoc.perf_defconfig. Enable CONFIG_FEATURE_TSO_DEBUG by
default, avoid spinlock bad magic issue(without spin_lock_init() for
tso_stats_lock).

Change-Id: If2fb00bd2298aa6f43418b3e4694aa995887b4f3
CRs-Fixed: 2424181
2019-03-31 20:56:47 -07:00
jiad
bce4f0f520 qcacld-3.0: Enable SMMU S1 for sdxprairie
Enable ENABLE_SMMU_S1_TRANSLATION option for sdxprairie.

Change-Id: I3eedee61bce6fbe2442fd15b282c054b5dd935d2
CRs-Fixed: 2425028
2019-03-30 04:53:12 -07:00
Arun Kumar Khandavalli
deda5a812c qcacld-3.0: Add support to improve coex logging
Add support to get the various Coex data from the debugfs.
This commit adds the support to get the various coex data:
            * COEX STATE
            * COEX DPWB STATE
            * COEX TDM STATE
            * COEX IDRX STATE
            * COEX ANTENNA SHARING STATE
The specific state information can be read via the debugfs.
Example to read the COEX STATE logging:
            sm6150:/ # cat /sys/kernel/debug/wlan/mws_coex_state
                    vdev_id = 0
                    coex_scheme_bitmap =  0
                    active_conflict_count = 0
                    potential_conflict_count = 0
                    chavd_group0_bitmap = 0
                    chavd_group1_bitmap = 0
                    chavd_group2_bitmap = 0
                    chavd_group3_bitmap = 0

Change-Id: I92272ad7edf44df22730ac0fa992d876840ba632
CRs-Fixed: 2413943
2019-03-29 00:47:53 -07:00
Nirav Shah
6f26133120 qcacld-3.0: Disable sw index inline update for Genoa PCIe
Disable sw index inline update for Genoa PCIe.

Change-Id: I80c6947604dbe61cc68f61a2daefb29e124e0663
CRs-Fixed: 2424876
2019-03-28 09:04:34 -07:00
Sravan Kumar Kairam
7efc0136ea qcacld-3.0: Resolve ipa compilation issue
Resolve ipa compilation issue for targets with config
ipa unified api enable and have kernel version 4.9.

Change-Id: Ibf7c51e32850024ceeb154f18a272044482af5ba
CRs-Fixed: 2422172
2019-03-25 14:24:21 -07:00
Jiani Liu
00d2dc0cb8 qcacld-3.0: Disable coex priorities configuration module for mainline
Disable coex priorities configuration module by default for mainline

Change-Id: I1b640b4fc53b654913ef8fd2a13171f284ce692f
CRs-Fixed: 2410493
2019-03-22 03:08:47 -07:00
Nirav Shah
cd8405ca09 qcacld-3.0: Disable BMI for Lithium architecture
Disable BMI for Lithium architecture instead of
CNSS2 as CNSS2 also used for Rome architecture.

CRs-Fixed: 2416745
Change-Id: I2d646eac483ca44689445faa1b3bbf7b0b3a05bb
2019-03-21 23:04:29 -07:00
Ajit Pal Singh
1d28d35436 qcacld-3.0: Disable packet log for Genoa USB
Disable packet log for Genoa USB

Change-Id: Ie7621540659aa6eabb558042992c2711f26e0134
CRs-Fixed: 2419936
2019-03-21 05:11:45 -07:00
Lin Bai
de6c5537d3 qcacld-3.0: Disable monitor mode for SDXPRAIRIE
Monitor mode feature not required on SDXPRAIRIE, and disable
it to save memory.

Change-Id: I206ef4441cc64218cbdcea08aaa3ce584aa99bf0
CRs-Fixed: 2418590
2019-03-20 22:09:18 -07:00
hangtian
9a05f43a18 qcacld-3.0: Disable QCA_LL_TX_FLOW_CONTROL_V2 for QCS405
Disable QCA_LL_TX_FLOW_CONTROL_V2 for QCS405, for SCC imbalance issue:
when there is a vdev running TCP RX traffic, another vdev is running
UDP/TCP TX, the UDP TX vdev will be paused/unpaused frequently and
interfered by the TCP RX vdev, which is sending few TCP ack frames and
it's never get paused, successfully sending TCP ack will trigger more
TCP data packets from peer which compete with the UDP TX vdev for channel
access. When disable QCA_LL_TX_FLOW_CONTROL_V2, no vdev could send
packets to firmware when the tx_desc is in shortage, which makes the
throughput between vdevs more balance.

Change-Id: I2c4a36dae9a81905e6b92a80db9703a7342742c8
CRs-Fixed: 2376550
2019-03-19 02:24:18 -07:00
Jiani Liu
a5f17228c1 qcacld-3.0: Set Coex priorities among WLAN/BT/ZB
Coex priority on some scenarios need to be updated.
Host will transfer the chosen coex config attributes
by WMI command.

Change-Id: Ic28ad6af462b305ec9aaf3027d76bce9ae6320b1
CRs-Fixed: 2410493
2019-03-18 13:07:08 -07:00
stonez
2d68648140 qcacld-3.0: Add MPTA helper support
Due to PTA matser limitation, zigbee joining network success rate
is low while wlan is working. Wlan host driver need to configure
some parameters including Zigbee state and specific WLAN periods
to enhance PTA master. This mechanism is called MPTA helper.
Vendor subcommand QCA_NL80211_VENDOR_SUBCMD_MPTA_HELPER_CONFIG
is added to realize this feature. NL attributes
qca_mpta_helper_vendor_attr is used to deliver parameters from
uplayer to host driver.

Change-Id: Ic76130e4b92c88e8034f6a0c6c0447c9c6dee945
CRs-Fixed: 2407801
2019-03-15 07:46:59 -07:00
bings
2f0f9f056e qcacld-3.0: Replace CONFIG_MCL_REGDB with CONFIG_REG_CLIENT
Do not use MCL in the macro. Use feature name to define macro.

This is for CONFIG_MCL_REGDB cleanup.

Change-Id: I12af832d81815277ec6014ff5047bf960f01534a
CRs-Fixed: 2411995
2019-03-12 00:56:11 -07:00
Ajit Pal Singh
f9a4a38bcf qcacld-3.0: Remove flag CONFIG_PER_VDEV_TX_DESC_POOL
Remove flag CONFIG_PER_VDEV_TX_DESC_POOL.
Legacy per vdev flow control implementation under
CONFIG_PER_VDEV_TX_DESC_POOL was never used in cld3.0 driver.
For a Genoa a new per vdev flow control implementation for HL systems,
was added under the flag QCA_HL_NETDEV_FLOW_CONTROL.
Hence remove CONFIG_PER_VDEV_TX_DESC_POOL and replace it with
QCA_HL_NETDEV_FLOW_CONTROL or QCA_LL_LEGACY_TX_FLOW_CONTROL whereever
applicable.

Change-Id: Ibdf88e60cff7d3be46924ce7605f468781b5b856
CRs-Fixed: 2373790
2019-03-11 11:14:27 -07:00
Sravan Kumar Kairam
5c802f74f7 qcacld-3.0: Enable IPA offload for lithium dp
In default config file enable IPA offload feature for
lithium dp.

Change-Id: Id51d424bcb685be9387f800133af11eaf85b9cb9
CRs-Fixed: 2377094
2019-03-09 04:06:50 -08:00
Krunal Soni
888d401f27 qcacld-3.0: Add ENABLE_VERBOSE_DEBUG macro to Kbuild
Add ENABLE_VERBOSE_DEBUG macro to Kbuild to trigger DP/HAL/HIF
excessive logging controlling mechanism.

CRs-fixed: 2405032
Change-Id: I2af5f9bf39540f952138aa8308401a387fe62bf1
2019-03-07 05:15:15 -08:00
Sandeep Puligilla
feba0b1d96 qcacld-3.0: Enable VDEV manager module
Modify configuration file to enable the VDEV
manager functionality.

Change-Id: I97787eb2a94db87b33fd0eb33146cca783e8a04d
CRs-Fixed: 2402489
2019-03-06 10:59:46 -08:00
Ajit Pal Singh
a70e315601 qcacld-3.0: Add config option for CFG_TGT_NUM_MSDU_DESC
Add driver config option for CFG_TGT_NUM_MSDU_DESC

Change-Id: I9c738de779d03819e6920e9d3e260ec3d1fbd524
CRs-Fixed: 2390958
2019-03-02 13:31:05 -08:00
Qun Zhang
ef65562bcd qcacld-3.0: Support firmware state check through cfg80211 vendor cmd
Add the support to allow user space applications through cfg80211
vendor command to check if wlan firmware is alive or not.

Change-Id: I96bb16e01974f7689493577741a36e3832963996
CRs-Fixed: 2399508
2019-03-01 09:23:49 -08:00
Nirav Shah
6aeecf9cc4 qcacld-3.0: Fix epping mode for QCN7605
Epping mode is currently borken in qcacld-3.2 codebase.
Fix epping mode for QCN7605 for USB and PCIe interface.

Change-Id: I12a11989d86f255e7ec61c98e328fbb755fc39ae
CRs-Fixed: 2400179
2019-02-21 01:46:24 -08:00
Jeff Johnson
2de587987d qcacld-3.0: Replace CONVERGED_TDLS_ENABLE feature flag
The CONVERGED_TDLS_ENABLE feature flag was originally introduced when
the TDLS feature was being componentized so that one could select
either the legacy implementation or the componentized implementation.
That componentization activity has concluded and the legacy
implementation no longer exists. To align with the current usage
switch to exclusively using the FEATURE_WLAN_TDLS feature flag since
that more accurately describes the code being protected.

Change-Id: I2cdb4c6ddba22c5b1d29e87403e5e1c87ce5cbfe
CRs-Fixed: 2395728
2019-02-20 09:09:34 -08:00
Ashish Kumar Dhanotiya
ddeb4d7b6d qcacld-3.0: Move 11d offload to separate file
Currently 11d offload functionality is in reg_host_11d.c and
reg_host_11d.h files and are getting controlled with a
feature flag HOST_11D_SCAN.
HOST_11D_SCAN flag is to enable host 11d scan and 11d offload
feature should not be controlled with this flag.

Move 11d offload functionality to separate files
reg_offload_11d_scan.c and reg_offload_11d_scan.h and
compilation rule for these files.

Change-Id: I9bb73a5d995083cb746b76901a2db0d37a9b9827
CRs-Fixed: 2382525
2019-02-07 07:53:26 -08:00
Krunal Soni
f9ba53dbbc qcacld-3.0: Implement iwpriv cmd to get WLM stats from FW
As per new requirements to debug game latency related issues,
implement an iwpriv command which:
1) sends a bitmask to FW's Wireless Latency Manager module (WLM).
2) receives from WLM a measurement header along with measurement data.
3) converts both the header and data to a hexadecimal encoded string.
4) returns the hexadecimal encoded string to userspace

Change-Id: Ic79c4b757fe2d4e806306750250e3c102745c486
CRs-Fixed: 2388920
2019-02-05 23:44:10 -08:00
Dustin Brown
a19834ba8b qcacld-3.0: Add max vdev/pdev/psoc build config options
To reduce hard coding in the driver, add the following build config
options with defaults to the Kbuild:
 * CONFIG_WLAN_MAX_PSOCS
 * CONFIG_WLAN_MAX_PDEVS
 * CONFIG_WLAN_MAX_VDEVS (supercedes CONFIG_SIR_MAX_SUPPORTED_BSS)
 * CONFIG_WLAN_PSOC_MAX_VDEVS
 * CONFIG_WLAN_PDEV_MAX_VDEVS

Change-Id: I14fce4bf34eb511214ad0b31be72336a2620b960
CRs-Fixed: 2393150
2019-02-04 23:21:01 -08:00
Nachiket Kukade
2fb1fdb1ac qcacld-3.0: Combine all NAN related flags with WLAN_FEATURE_NAN
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.

As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.

Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
2019-02-04 10:44:30 -08:00
Sandeep Puligilla
1952217001 qcacld-3.0: Enable MBSSID feature
Enable MBSSID feature through compilation flag.

Change-Id: If8cdfad35bb55d201d4b90f78f57406e404edbf6
CRs-Fixed: 2382918
2019-01-30 14:31:24 -08:00
Yu Wang
6c4599c854 qcacld-3.0: add support for multi ko
To build multiple ko for different wlan targets

CRs-Fixed: 2381715
Change-Id: I50593edd316df33486d208abdb2d1019403a53ae
2019-01-30 00:02:51 -08:00
hangtian
2b9856fdde qcacld-3.0: Bind ol_rx_thread to perf CPU
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).

Change-Id: I411f5ce67b04a70b194b0e8a7f8014b9c2c9bef7
CRs-Fixed: 2373936
2019-01-29 14:31:39 -08:00
Jeff Johnson
0187c628e3 qcacld-3.0: Implement temporary WAR for BT coex issue
Implement a WAR to address a BT coex issue, along with a private ioctl
which can be used to switch the WAR on or off dynamically.

Change-Id: I9d29c141106db479039789d67c45a455e96a118b
CRs-Fixed: 2383150
2019-01-24 12:30:04 -08:00
Jeff Johnson
ba19429916 Revert "qcacld-3.0: Bind ol_rx_thread to perf CPU"
Revert change I4e2a8d7f98907c205cc6988d8af309e7a5515b89 since
it introduced a build failure on some platforms along with an
inappropriately copyright change.

Change-Id: I1450c69211347afaa79642d99dd153f99f349694
CRs-Fixed: 2386432
2019-01-24 12:30:00 -08:00
Ashish Kumar Dhanotiya
aa9fdbb777 qcacld-3.0: Add support for new regulatory files
Regulatory component is getting updated to reduce the
code size based on different regulatory features. In this
process new regulatory files are getting added and some
of the files are getting removed.

To compile the newly added files update the required changes
in driver Kbuild file.

Some of the functins which are not supposed to be invoked from
outside the component directly, replace those function calls
with the appropriate wrapper functions.

Change-Id: I31a25268250b99f4f156c4f149966213746d999e
CRs-Fixed: 2373780
2019-01-23 15:14:09 -08:00
hangtian
0ec24dc0ab qcacld-3.0: Bind ol_rx_thread to perf CPU
When RX_PERFORMANCE is set, bind ol_rx_thread to perf CPU.
Do not update tdls stats and acquire rx_wakelock while
throughput is high, to avoid station drop packets caused
by slow process of ol_rx_data_cb(hdd_rx_packet_cbk).

Change-Id: I4e2a8d7f98907c205cc6988d8af309e7a5515b89
CRs-Fixed: 2373936
2019-01-23 06:37:20 -08:00
Arunk Khandavalli
5ff0375477 qcacld-3.0: Enable beacon reception stats only if sys is enabled
In some platforms sysfs entry is not enabled, beacon reception stats
which is dependent on sysfs is not correctly protected under sysfs
definition this can lead to symbol missing error in these platforms.

WARNING: "hdd_sysfs_destroy_adapter_root_obj"
WARNING: "hdd_sysfs_create_adapter_root_obj"

Also when the CONFIG_MOBILE_ROUTER is disabled there is an
skip_acs_scan_timer leak. skip_acs_scan_timer is initialized in the
ACTIVE_DOMAIN, move it to the INIT_DOMAIN to resolve the timer leak.

Change-Id: I75fb97aa69d7f84ead4a8b693123162d9940d78c
CRs-Fixed: 2379766
2019-01-20 05:52:40 -08:00
hangtian
cd2b2860b9 qcacld-3.0: Set cds_ol_rx_thread schedule policy to SCHED_RR
On QCS405 platform, it's observed that cds_ol_rx_pkt_freeq is empty
while receiving UDP packets, driver try to allocate cds_ol_rx_pkt in
ol_rx_data_process but failed. This leads to lots of frames got dropped.
Raise cds_ol_rx_thread scheduler policy to SCHED_RR to compete with
CE tasklet scheduler speed. With this change, found cds_ol_rx_pkt_freeq
is not going to be empty while receiving UDP packets.

Change-Id: I4bee3d69c2754ec6be10a2b623b4ebe8b2c0859b
CRs-Fixed: 2373936
2019-01-18 21:28:30 -08:00
Harprit Chhabada
253e36ad50 qcacld-3.0: Modify Kbuild to add new beacon header file
In wmi new file, wmi_unified_bcn_api.c is added.
Add this file in Kbuild.

Change-Id: I4fdbf041b53b5f1606d324714f01088742a9307f
CRs-Fixed: 2366772
2018-12-26 20:27:24 -08:00
Rachit Kankane
2a3fd3981a qcacld-3.0: Enable FT_IEEE8021X and FT_PSK for Genoa
Enable FEATURE_WLAN_FT_IEEE8021X and FEATURE_WLAN_FT_PSK for Genoa as
targeted kernel version is 4.4.

Change-Id: I599be887b0021e7f53622c840dc76d5e3b47376a
CRs-Fixed: 2359886
2018-12-26 07:47:30 -08:00
Ajit Pal Singh
25caf99381 qcacld-3.0: Enable QCN7605 support in Genoa USB config files
Enable QCN7605 support in Genoa USB config files

Change-Id: I540ab3aeaee40841696a26612c2d69f151946113
CRs-Fixed: 2369619
2018-12-26 01:21:09 -08:00
Anjaneedevi Kapparapu
c285e926bd qcacld-3.0: disable CONFIG_CRYPTO_COMPONENT for Genoa
This reverts Ieef727e49cedd3e95fabd14f47591ce0006a82d4

Change-Id: I6e217104db158e2fb8538158195458d28034fa3a
CRs-Fixed: 2358016
2018-12-18 00:07:42 -08:00
Dustin Brown
d315c4570c qcacld-3.0: Enable talloc feature
Enable the talloc feature, recently added in
I6308c96061e125b2e5a9c424ec2d2298c1c503ab.

Change-Id: I37c48d63dd1598710611d4c2ab5d26fec92c2250
CRs-Fixed: 2359468
2018-12-13 16:45:39 -08:00
Dustin Brown
ebb16d1886 qcacld-3.0: Enable qdf types tests
Enable the unit test cases for qdf_types, recently added in
I7536a973141a6311662390e42da749f48239bef8.

Change-Id: I4264696d61443acf1bd0993f91de06119471b25f
CRs-Fixed: 2359296
2018-12-11 17:25:55 -08:00
Arunk Khandavalli
ca56d4b488 qcacld-3.0: Add Host Driver support for Beacon reception stats
Implementation of Host driver support to collect per Vdev Beacon
reception  Stats from firmware and display the stats in sysfs.

	"adb shell cat /sys/class/net/wlan0/beacon_stats"
vdev id: 0
Total Beacon Count: 255
Total Beacon Miss Count: 21
Beacon Miss Bit map [0x800] [0x10000000] [0x22000400] [0x100]
[0x84000000] [0x4030002] [0x5034000] [0x28084]

Change-Id: Iadd31042320f7815a6a6f4733f5393dba93b5b3e
CRs-Fixed: 2360913
2018-12-11 12:27:05 -08:00
Ajit Pal Singh
721004499c qcacld-3.0: genoa: Add config for max beaconing entities
Add config option for max beaconing entities for Genoa.

Change-Id: I4b38911b3a0e4a032baa9d101c21e4f400fac755
CRs-Fixed: 2360873
2018-12-07 04:28:10 -08:00
Abhishek Singh
5d921548f2 qcacld-3.0: Replace legacy string in vdevmgr with ext
Replace legacy string in vdevmgr with ext string.
Also adds new compile CMN_VDEV_MLME_CMPT_ENABLE macro
for VDEV MLME component.

Change-Id: I40ce0c2ee4d653d2f4ce68093e8ad1b2c78bece8
CRs-Fixed: 2361525
2018-12-06 10:27:50 -08:00
jiad
6ee0ab11de qcacld-3.0: Enable MOBILE_ROUTER feature on SDXPRAIRIE
Enable MOBILE_ROUTER feature flag on SDXPRAIRIE, which is
a MDM platform.

Change-Id: I039b56b639cd5afb13fba23f4463dc9979c82412
CRs-Fixed: 2359660
2018-12-03 05:48:05 -08:00
Rachit Kankane
15d9dcd10a qcacld-3.0: Enable CONFIG_CRYPTO_COMPONENT for Genoa
Enable CONFIG_CRYPTO_COMPONENT for Genoa

Change-Id: Ieef727e49cedd3e95fabd14f47591ce0006a82d4
CRs-Fixed: 2357952
2018-11-30 03:40:30 -08:00
Rakshith Suresh Patkar
384a28ae48 qcacld-3.0: Add timestamp debug info in ol_tx_desc_t
Add descriptor timestamp debug info in ol_tx_desc_t and
add APIs to set these values.

Change-Id: I686fccff4268811474630dbea8369fabe82d1517
CRs-Fixed: 2333654
2018-11-10 04:02:04 -08:00
Dustin Brown
93abc2cb79 qcacld-3.0: Enable excessive logging detection
Excessive logging detection was recently added via
If83c6dfccb9d191b02a3a7166b065c0a0704f969. While we would like to enable
this feature with a maximum number of logs per second of 100, there are
still a few outstanding problem areas, like dumping stats via IOCTL.
Instead enable the feature with a max of 500 to catch egregious
regressions, and plan to decrease this to 100 or less once the problem
areas are addressed.

Change-Id: I5b880c2354ec4828e1773eeb43de43a4649d4803
CRs-Fixed: 2340011
2018-11-08 13:39:22 -08:00
Sandeep Puligilla
3a1e42a31c qcacld-3.0: Disable VDEV manager
Disable vdev manager feature through Kbuild option.

Change-Id: If89029c0f428b9b6d1d053ac23170192602e0333
CRs-Fixed: 2344437
2018-11-05 14:47:52 -08:00
Krunal Soni
457ec247dd qcacld-3.0: Enable Shadow register V2 in defconfig build
All the changes related to Shadow register V2 are added to
defconfig build for lithium platform.

Kickstart them by enabling CONFIG_SHADOW_V2 in config.

CRs-Fixed: 2343779
Change-Id: I07c93b5d43edc5010e501ab06cc7050a6e8c9c7f
2018-11-01 23:03:52 -07:00
Jeff Johnson
a0b912c10a qcacld-3.0: Correctly disable FASTPATH on Lithium
Change "qcacld-3.0: Compile hif_main_legacy file for non-lithium
architecture" (Idd8623612c057380e9bd9704be0538923f37be08) introduced
flawed logic to disable FASTPATH for lithium architecture, so fix the
logic.

Change-Id: I8010c04c7e9e7e4d74dfe1679b0e9b22f5d8ae18
CRs-Fixed: 2342057
2018-10-31 11:50:40 -07:00