Propagation from qcacld2.0 to qcacld3.0.
The WMI CMD and EVENT of "get antenna isolation" are already defined,
but not used before in qcacld3.0.
Now, The host driver uses vendor command to get this information
instead of iwpriv command in qcacld-2.0.
The attribution of this feature is already defined in file
"qca_vendor.h". The name is "QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION".
So host driver will use vendor command
"QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY" to get the information
from lower layer.
Change-Id: I915768f622ddc9a70a95ce4fe952f19917a8f901
CRs-Fixed: 2447360
Add QCA_LL_PDEV_TX_FLOW_CONTROL for both
QCA_LL_LEGACY_TX_FLOW_CONTROL and QCA_LL_TX_FLOW_CONTROL_V2
disabled platform, avoid frame drop in driver which leads to bad TCP
TX throughput. Change NUM_TX_QUEUES to 5 for this case to avoid invalid
memory access in wlan_hdd_netif_queue_control().
Change-Id: Ifa649e31a41d1bf89eadc8cc7e9520f0e27b9fe4
CRs-Fixed: 2466996
Link BLM exposed APIs to the following:-
1. csr_get_scan_result:- Link this API with filter bssids in
the reject ap list maintained by the blacklist mgr.
2. lim_assoc_rej_add_to_rssi_based_reject_list:- Link this API
with the the blacklist mgr add bssid to reject list to add the
OCE and BTM related assoc rejects.
3. Userspace avoid list parsing logic for the userspace to set
the BSSID as avoided.
Change-Id: Id51ffb80cea3f845fefe14db25d0f7acda6ea0f3
CRs-Fixed: 2461281
Remove CONFIG_MCL for reduction limit to make code generic.
Initialize value for reduction limit i.e WLAN_SCHED_REDUCTION_LIMIT
to 0 for MCL. In case WLAN_SCHED_REDUCTION_LIMIT not defined, then
define WLAN_SCHED_REDUCTION_LIMIT to 32 for WIN.
Change-Id: I6f6e4c9b3df71110654d487fcdae0334eeee4091
CRs-Fixed: 2459119
Implement the interface to transfer the info between
host driver and firmware about the ap which has interop
issues with the DUT. It is detected by firmware and
forwarded to user sapce for persistent storage. And
user space configs these APs to firmware when the DUT
starts up next time.
CRs-Fixed: 2425202
Change-Id: I2e828d521f0e04862a01fa1c90626f51b7f65796
Add a compile time feature flag by name RX_DESC_MULTI_PAGE_ALLOC
which will enable the memory allocation of RX descriptors using
multiple pages instead of large contiguous memory.
Change-Id: Ia3803a3685c605c79a34a0c2c000d7ed4adb7d97
CRs-Fixed: 2456267
Remove CONFIG_MCL for Serialization msg queue depth to make code generic.
Initialize value for Serialization msg queue depth i.e
SCHEDULER_CORE_MAX_MESSAGES to 1000 for MCL. In case
SCHEDULER_CORE_MAX_MESSAGES not defined, then
SCHEDULER_CORE_MAX_MESSAGES define to 4000 for WIN.
Change-Id: I498cfb73ed7774d9d26b1374ee87b1a7691341d9
CRs-Fixed: 2457704
Add new vendor cmd : QCA_NL80211_VENDOR_SUBCMD_BEACON_REPORTING.
This subcommand is used to implement asynchronous beacon
reporting feature. Userspace can request driver/firmware to
report details of each beacon received whose bssid is same as
currently connected BSS's mac address. The driver will encapsulate
the details of these beacons as an asynchronous event within this
command id until userspace requests to stop sending beacons.
Change-Id: I9a32fe5431767b077983c7db90a2f825709f368c
CRs-Fixed: 2431351
Adaptive 11r feature that enables the AP to support FT-AKM
without configuring the FT-AKM in the network. The AP will
advertise non-FT akm with a vendor specific IE having Adaptive
11r bit set to 1 in the IE data. The AP also advertises the
MDE in beacon/probe response.
The STA should check the adaptive 11r capability if the AP
advertises MDE in beacon/probe and adaptive 11r capability in
vendor specific IE. If adaptive 11r capability is found,
STA should advertise the FT equivalent of the non-FT AKM.
Introdue a compile time flag WLAN_ADAPTIVE_11R_ENABLED to
enable/disable adaptive 11r support.
If the AP is adaptive 11r capable, set the is_adaptive_11r_ap
flag in bss descrtiptor. This flag will be sent in join request
and populated to pe_session. Also mark the CSR session as
adaptive 11r session based on this flag.
Add changes to check for the adaptive 11r service capability
advertised by firmware. If the host driver connects to adaptive
11r AP, enable RSO only if the firmware advertises adaptive
11r capability, else RSO should be disabled.
If the connection is adaptive 11r connection and if the adaptive
11r ini is enabled, set the adaptive_11r flag in
wmi_roam_11r_offload_tlv_param sent over the wmi command
WMI_ROAM_SCAN_MODE to the firmware. This will enable firmware to
filter the adaptive 11r AP from roam scan results.
Change-Id: If27a2393e3f4bb68942f5ebcec0135f57627f16b
CRs-Fixed: 2437988
Introduces a new build flag 'DYNAMIC_SINGLE_CHIP':
If DYNAMIC_SINGLE_CHIP is defined, which means there
are multiple possible drivers, but only requires one
instance of driver at a time. In such case, leave
MULTI_IF_NAME undefined, no matter what the module
name is, only prepend DYNAMIC_SINGLE_CHIP to names
of firmware/mac/ini files.
Take path of driverdump and ini file for example:
If both MULTI_IF_NAME and DYNAMIC_SINGLE_CHIP are not
defined, the paths are:
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/WCNSS_qcom_cfg.ini'
If DYNAMIC_SINGLE_CHIP is defined as 'qca6174':
driverdump: '/proc/debugdriver/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'
If MULTI_IF_NAME is defined as 'qca6174' and
DYNAMIC_SINGLE_CHIP is not defined:
driverdump: '/proc/debugdriverqca6174/driverdump'
ini: '/<fw_root>/wlan/qca_cld/qca6174/WCNSS_qcom_cfg.ini'
On LA platform, DYNAMIC_SINGLE_CHIP is controlled by
TARGET_WLAN_CHIP and TARGET_MULTI_WLAN:
If more than one WLAN devices are enabled in TARGET_WLAN_CHIP,
and TARGET_MULTI_WLAN is not set to 'true',
DYNAMIC_SINGLE_CHIP will be set to the device name, to
avoid name conflicts of firmware/mac/ini files;
meanwhile, MODNAME is set to 'wlan', then paths for
debugging are not changed.
Otherwise, MULTI_IF_NAME will be defined if requires
multiple instances of driver.
Change-Id: I22ed34d80d3540451bf8b891243c6cdac5a73d7e
CRs-Fixed: 2402432
Roam channel map is got by searching current ssid in scan db,
For hidden ssid, probe resp has ssid, but beacon usually has NULL
ssid. we'd better keep ssid from probe resp as long as possible,
don't override with NULL ssid from beacon as WIN's way.
Change-Id: Ia9295832926129a1f9f29785703d44e8268e750d
CRs-Fixed: 2427355
Use WLAN_FEATURE_DP_BUS_BANDWIDTH to instead of MSM_PLATFORM for better
reading.
Change-Id: Iaed4f77b09b80ca8872a69c832491598db021232
CRs-Fixed: 2423299
Memory optimize for QCS403 platform, 1x1 chip. Reduce CE1 htt data
dest ring buffer from 512 to 256, reduce CE2 wmi dest ring buffer from
128 to 64, reduce CE9 & CE10 desg ring buffer from 512 to 64, disable
CE11 pktlog. Note: this change only affect specific WLAN build config for
extremely saving memory, for debug purose, there is another build
selecting default WLAN config for reference HW.
Change-Id: I868e74b09cdb11df3dccaa3f9e051da55724983d
CRs-Fixed: 2432631
Implement NON-QC platform TSF and TSF PLUS.
Implement gettime of PTP.
Implement TSF PLUS for SAP/GO
CRs-Fixed: 2399624
Change-Id: Id4f41a94256a8f035ae408c168c246569185c534
Add new feature flag for nbuff replenish timer apis to
replace CONFIG_MCL flag.
Change-Id: Ibb65dd28b657085a20b6e3b036e6f96b4851481e
CRs-Fixed: 2421564
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