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
Resolve ipa compilation issue for targets with config
ipa unified api enable and have kernel version 4.9.
Change-Id: Ibf7c51e32850024ceeb154f18a272044482af5ba
CRs-Fixed: 2422172
Monitor mode feature not required on SDXPRAIRIE, and disable
it to save memory.
Change-Id: I206ef4441cc64218cbdcea08aaa3ce584aa99bf0
CRs-Fixed: 2418590
The API's added in qal & qdf for abstracting the
OS calls are inlined and moved to the OS-specific
src directories.
Remove compilation of these specific files from qcacld Kbuild.
Change-Id: I0416ae721d4c86000672168da396966dd452363c
CRs-Fixed: 2418669
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
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
Define the following scan related macros in the Kbuild.
This is part of CONFIG_MCL cleanup, where these macros
are removed from common.
MAX_SCAN_CACHE_SIZE 300
SCAN_MAX_REST_TIME 0
SCAN_MIN_REST_TIME 0
SCAN_BURST_DURATION 0
SCAN_PROBE_SPACING_TIME 0
SCAN_PROBE_DELAY 0
SCAN_MAX_SCAN_TIME 30000
SCAN_NETWORK_IDLE_TIMEOUT 0
HIDDEN_SSID_TIME (1*60*1000)
SCAN_CHAN_STATS_EVENT_ENAB (false)
Change-Id: I43e3a73e2b31c25ea688f913768cfd51d531bbbe
CRs-Fixed: 2412779
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
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
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
An ancestor of the current driver used mailboxes for communication
between SME and LIM, and serialization/deserialization routines were
used to encode and decode the mailbox messages. This mechanism is no
longer in use, but there are remnants still present.
One such remnant is the use of lim_get_session_info(). This API is
designed to extract the Session ID and the Transaction ID from a
serialized message. However this API is actually being used on
non-serialized messages, and as a result of struct padding by the
compiler it would never return a correct Transaction ID. Since we
should now never be sending serialized messages, remove the use of
lim_get_session_info() and instead directly access the elements in the
underlying structs.
Change-Id: Iadb548c36396226b14b904d3bd952c5b4260ff3b
CRs-Fixed: 2402359
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
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.
Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
Currently the TDLS component code is unconditionally built which will
bloat images where TDLS is not required. Fix this by only building the
TDLS component when the TDLS feature is enabled.
Change-Id: I7496b8f07ed495b00e62fc3cf50a96e1829d9341
CRs-Fixed: 2399966
Change Iaa2efa5f662be014a61a8490c3fab411ec0f2054 added qdf_status.c.
Include this file in the Kbuild.
Change-Id: I263924b4ec82d2e3137f659144251b4a43e5d30f
CRs-Fixed: 2395179
Move the contents of hdd_dsc to the new files added in osif/sync as part
of Ica94d32028d10d344294d6cc12d91a06efe1ab6c.
Change-Id: I556e9d2833edd2bd26266496b6000347649c5fbe
CRs-Fixed: 2396512
To better align with current organizational recommendations and allow
API use by os_if/nan, begin moving hdd_*_sync APIs to os_if. In step
one, create the new osif_sync file structure.
Change-Id: Ica94d32028d10d344294d6cc12d91a06efe1ab6c
CRs-Fixed: 2396511
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
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
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
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
Required sta interface to support to tx p2p action frames, this is
part of customer requirement.
Change-Id: I1ebebce4d70dcba34427bb2276cd3e1cc23c2bd8
CRs-Fixed: 2388414
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
Since all wni cfg is refactored based on legacy new cfg framework, no
legacy cfg files is needed now. Cleanup related files in this change.
Change-Id: If46ae4c59f1010a655aa65e3502fc0c660e33cdc
CRs-Fixed: 2383387
Remove g_self_recovery_stats and WE_GET_RECOVERY_STAT
Remove configs of CONFIG_SERIALIZATION_V1 part
Change-Id: I82e72f22215b8794517410e0b8892b5adadcf457
CRs-Fixed: 2386839
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
Revert change I4e2a8d7f98907c205cc6988d8af309e7a5515b89 since
it introduced a build failure on some platforms along with an
inappropriately copyright change.
Change-Id: I1450c69211347afaa79642d99dd153f99f349694
CRs-Fixed: 2386432
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
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
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
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
Enable QCA_AC_BASED_FLOW_CONTROL in Kbuild file for for all
lithium platform, including HST.
CRs-Fixed: 2371232
Change-Id: I7e755d6211106f4a5c8e9d87905f6425ece4c5c3
NAN component has been moved to CLD. It includes implementation
of the new NAN command QCA_NL80211_VENDOR_SUBCMD_NAN_EXT.
Change the legacy NAN implementation of vendor cmd
QCA_NL80211_VENDOR_SUBCMD_NAN so that the requests go
through the NAN component. Clean up the legacy path.
Functionality remains unchanged for legacy command.
Route the legacy NAN commands through the NAN component.
Change-Id: I542e5afe832619f8c088220cc4456aa7fe4416fd
CRs-Fixed: 2356772
TDLS component related files moved from hostcmn to CLD, this change
adds initial functions, enables TDLS in Kbuild.
Change-Id: Ie5b93f4785c4a973a139dff9e58460fd7ee35e35
CRs-Fixed: 2361589
Policy mgr component related files moved from hostcmn to CLD, this
change add its initializion functions to CLD framework, change Kbuild
to enable it.
Change-Id: I0a87d93b9cf639aa66a10f9ae55ef8cb1dfbb80e
CRs-Fixed: 2361570
Enable the unit test cases for qdf_types, recently added in
I7536a973141a6311662390e42da749f48239bef8.
Change-Id: I4264696d61443acf1bd0993f91de06119471b25f
CRs-Fixed: 2359296
P2P component related files moved from hostcmn to CLD, this change
adds initial functions, enables P2P in Kbuild.
Change-Id: I04102a5f3e59ded13ada15b1b417ae81c7a10e90
CRs-Fixed: 2361500
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
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
NAN related OS IF, Target IF and component files have been
merged into CLD. Add Makefile changes, include correct
files, replace lmac tx/rx ops with the new ops and call
updated API's such as init/deinit.
Complete the remaining changes for moving NAN component
into CLD.
Change-Id: Idcf8816337aa49b399596ce3cdfc9cdab811d386
CRs-Fixed: 2338060
Change the policy & priority of RX thread to improve the RX throughput for
Specified platform.
Change-Id: Ie9df5de6f34d75264c4f3b7bdcb59ab92845a128
CRs-Fixed: 2354502
Enable the scatter gather feature for msm8996 platform to improve
the TCP TX throughput.
Change-Id: I634f48baf2f1f57aa89030acab37ada798ce7d2c
CRs-Fixed: 2344092
Add descriptor timestamp debug info in ol_tx_desc_t and
add APIs to set these values.
Change-Id: I686fccff4268811474630dbea8369fabe82d1517
CRs-Fixed: 2333654
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
Enable the scatter-gather feature for wlan interface, if the wlan
interface is binding to the bridge, which might enable SG & TSO feature
for the bridge and improve the TCP TX throughput much better.
Change-Id: I26101756266878f9f41c5dc2d0b5dad189b44ee1
CRs-Fixed: 2246512
Add SCALE_INCLUDES CONFIG parameter to compile HALhwio.h for QCA6390
as msmhwio.h file is now deprecated.
Change-Id: I4a883101a0ba15d2ab1efcd7bde312e22099a693
CRs-Fixed: 2332023
Policy Manager component needs to adopt a new INI/CFG
infrastructure.
Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.
CRs-Fixed: 2324393
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
ANDROID_BUILD_TOP variable is being deprecated and thus all paths are
assumed to be relative to the top directory.
However, this is causing problem when some of the paths are constructed
in the Android build system and used in the non-Android makefiles that
are usually executed NOT at the top directory but at a sub directory
using -C option. As a result, the relative path from the Android build
system become invalid in the non-Android makefiles.
In order to overcome the restriction, ANDROID_BUILD_TOP is manually
constructed when invoking the non-Android makefiles by using $$(pwd).
The non-Android makefiles are expected to construct the absolute path
by prepending ANDROID_BUILD_TOP to any path that came from the Android
build system.
Specifically, Kbuild is modified so that ANDROID_BUILD_TOP is prepended
to WLAN_ROOT and WLAN_COMMON_INC to make them absolute paths.
Change-Id: Ic34de7a2bc407153085eb3eb154d6dd71f04eedb
CRs-Fixed: 2328210
Featurize MCL only WMI APIs by compiling them as a separate source.
It enables profiles/configs to selectively compile the WMI APIs
based on whether the feature is required or not.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)
Change-Id: I3b005b8f60491c7d27cf221b7505116e1b9c1a38
CRs-Fixed: 2333916
Enable TSF for Adrastea arch on Vipertooth chip firstly and
expose TSF time mapping via file system
CRs-Fixed: 2320218
Change-Id: Ifda0d8035717ad21edb1a393ef32f1157ab59105
Enable QCA_WIFI_3_0 flag based on CONFIG_WIFI_3_0_ADRASTEA
and not based on CONFIG_ICNSS to enable it in Genoa.
Change-Id: I819fcbb637c4ed302cf71d32e83b113911270750
CRs-Fixed: 2317206
1. Set all MCL cmds as blocking cmds.
2. Rename WLAN_SER_CMD_STOP_BSS to WLAN_SER_CMD_VDEV_STOP_BSS.
3. Add new binary files and remove old binary files in Kbuild.
4. Disable CONFIG_SERIALIZATION_V1 in Kbuild, switch to new
serialization code.
Change-Id: I46f876e4cbc31881ca0559e4705cddf4a26a46c1
CRs-Fixed: 2315411
CE service file includes APIs for both legacy and lithium architecture.
Legacy service APIs compiled for lithium architecture.
Separate the CE services into legacy and srng and selectively compile
required files.
Change-Id: Iad6b6c7cef7520e1e7b74da83805290eddcbabf6
CRs-Fixed: 2304556
Translate the legacy auth type to crypto auth type.
Set the crypto auth type under vdev object.
Use APIs to translate NL param type to crypto
param type from common.
Change-Id: I7073d35fe1724d37467bf970cf6bac7bc40045d1
CRs-Fixed: 2285045
wbuff is a module which maintains a pre-allocated pool of
skbs for each registered module and allocates skbs when
requested.
Change-Id: Ia4d13479d8a1342227a2ecbaf29cc7a89bc5e30b
CRs-Fixed: 2313446
This is for adding support for FW offload component. It is responsible
to offload all the ini params that are needed by the firmware. To have
this component, the new files added are
components/fw_offload/dispatcher/inc/cfg_fwol.h
components/fw_offload/dispatcher/inc/wlan_fwol_ucfg_api.h
components/fw_offload/dispatcher/src/wlan_fwol_ucfg_api.c
components/fw_offload/core/inc/wlan_fw_offload_main.h
components/fw_offload/core/src/wlan_fw_offload_main.c
components/fw_offload/dispatcher/inc/wlan_fw_offload_public_struct.h
The fw_offload_main.h is to take care of the public APIs for the
component. The corresponding .c file implements the init/deinit of
the component. The fw_offload_public_struct.h is to define the public
structures needed. The ucfg files are for the APIs that can be called
from other components. The cfg_fwol stores the INIs and CFGs.
Change-Id: I4405b87e6dec15aa94146f8ec550078c3d03b1e6
CRs-Fixed: 2307837
The change Ids of the most recent cherry-picked git commits are appended
to the build tag. In some cases, we have seen build tags containing
thousands of change Ids. To avoid this, limit the number of change Ids
to 50. This should be sufficient to know if some recent change is in the
build or not, without including an unbounded number of change Ids in the
build tag.
Change-Id: I3713cb8e095730ced44d88f7d05a92c2dc77f8b0
CRs-Fixed: 2311431
Enable QDF lock stats debug feature in defconfig builds to detect
spin lock abuse in driver and fix it.
Change-Id: I264120d1ca722bac871173f2268737a943c2f5e0
CRs-Fixed: 2311639
Enable the mtrace logging by adding CONFIG_ENABLE_MTRACE
flag in Kbuild and defconfig file.
Change-Id: I832ab008dc4b7eb7e3124382ebe395cb01464a20
CRs-Fixed: 2311833
Enhancements to serialization:
Permit cmd of different vdev can execute concurrently etc.
Change-Id: I6e30f6f73067fd93a7c1f44d4e8310e8557a6a68
CRs-Fixed: 2308582
Add debugfs entry to get last five roam scan stats info which includes
old bssid, new bssid, roaming candidates etc., for STA interface.
Change-Id: Ied66beb270d97b6e17a6116c1be0e82783094519
CRs-Fixed: 2203885