Commit Graph

289 Commitit

Tekijä SHA1 Viesti Päivämäärä
Naveen Rawat
2b6e3c9d51 qcacld-3.0: ini param support for disconnect threshold
This is qcacld-2.0 to qcacld-3.0 propagation.

This patch adds ini support for WMI_VDEV_PARAM_DISCONNECT_TH
which represents number of dropped packets before FW sends out
kickout event for that peer to host.

Change-Id: I4c82bd1b5d1bc5d8265e3b0e5e58c82cdcab7f50
CRs-Fixed: 862686
2017-05-19 06:32:03 -07:00
Krunal Soni
d3676732ef qcacld-3.0: Remove serialization from set key req and rsp messages
Serialization is not required to deliver the set key request coming
from upper layer as well as set key response coming from lower layer.

Take the set key request coming through IOCTL thread, and directly
post the request to protocol layer. Similarly take the set key response
coming through worker thread, and post the request to protocol layer.

Change-Id: Idcd0047f6e323d982e3159f7ef376e6eeb201395
CRs-Fixed: 2046036
2017-05-19 05:27:27 -07:00
Kiran Kumar Lokere
b1d412e15d qcacld-3.0: Add support for regulatory component ucfg apis
Add support for regulatory component ucfg apis to provide user
configuration

Change-Id: I994e53b17788472de979df9dce9e18c6f68de850
CRs-Fixed: 2012415
2017-05-18 13:42:29 -07:00
Krunal Soni
a2c0e41dd2 qcacld-3.0: Correct INI item's data type from bool to uint8_t
rxLdpcEnable and txLdpcEnable have incorrect data type which may
lead to confusion and error.
Fix the data types from boolean to uint8_t.

Change-Id: Idb8642a528d7e4c75cd2bc7c2e04f52a888f3d2b
CRs-Fixed: 2018096
2017-05-05 03:52:42 -07:00
Zhang Qian
73c348a749 qcacld-3.0: Add MAC counter WMI interface
qcacld-2.0 to qcacld-3.0 propagation

When MAC counter offload is enabled, FW will indicate following
statistics periodically or as host's settings.
- RSSI and SNR per antenna/RF chain
- RSSI, SNR and MCS code (Tx and Rx) per peer
- 11h, 11k radio measurements on current channel, CSMA/CA parameters,
  channel interference estimations
- Tx/Rx statistics(data rate, aggregation size, etc)
New WMI interface is introduced by this change:
- set threshold using WMI_PDEV_SET_STATS_THRESHOLD_CMDID
- process WMI_REPORT_STATS_EVENTID and send all mac counters
  to HDD_CFG80211

Change-Id: I6d679bbf331baf187cccc882216eecc239bf298c
CRs-Fixed: 1080673
2017-04-27 01:22:03 -07:00
Nishank Aggarwal
e30a90db5d qcacld-3.0: Fix kernel checkpatch warnings in sme_rrm.c
Fix kernel checkpatch warnings in sme_rrm.c

Change-Id: I2da3f73b09048fe700592ff540317e61931931d6
CRs-Fixed: 2025503
2017-04-26 18:43:37 +05:30
Srinivas Girigowda
2c26335073 qcacld-3.0: Remove sms_log() & obsolete file 'sms_debug.h'
Remove sms_log() and obsolete file 'sms_debug.h'.

Change-Id: Ibdb25674c1efa6b53262f3aaaf3ff7c8744f28b8
CRs-Fixed: 2020798
2017-04-26 15:17:56 +05:30
Padma, Santhosh Kumar
16dacfbec2 qcacld-3.0: Get CCA from firmware
Requirement is to get CCA from frmware when connection fails due to
assoc/auth/probe response timeout.

Change-Id: I062343ed065d7b0c38b9e3b24ecfa9851b9b1537
CRs-Fixed: 2018594
2017-04-25 05:56:15 -07:00
Arif Hussain
cd1516322d qcacld-3.0: Use dfs component support
Remove legacy dfs api’s and use dfs component.

Change-Id: Ia0fa016b174ef4b50e2cc339e4e476ec65642dbf
CRs-Fixed: 2021357
2017-04-25 01:08:44 -07:00
Kiran Kumar Lokere
f089a3a738 qcacld-3.0: Fix the pdev reference leak during unload
WMA pdev reference clear is called after the wma close hence
wma handle is NULL and pdev refernce is not cleared.
Clear the pdev reference during WMA close procedure

Change-Id: I6c4caa21e9329f5d7542d114763cd6ae8931a604
CRs-Fixed: 2008013
2017-04-20 21:54:16 -07:00
Kiran Kumar Lokere
a3de226328 qcacld-3.0: Replace regulatory apis with reg component apis
Replace the legacy regulatory apis with regulatory component
public service apis

Change-Id: Ifd8c93fc8f57116cfc432b853248b35fd7ed1b94
CRs-Fixed: 2008013
2017-04-20 17:10:19 -07:00
Sen, Devendra
e424c93f90 qcacld-3.0: Remove repeated host diag events
Remove inappropriate diag events which sending the same event id twice.

Change-Id: I9b79aec476ec5feecd975a52ac8ff2ee0be68753
CRs-Fixed: 2028543
2017-04-20 00:46:33 -07:00
Zhang Qian
a6e9c10043 qcacld-3.0: Add monitor for peer PS change and TX fail
qcacld-2.0 to qcacld-3.0 propagation

Once a peer sta's power state changes, fw will send
WMI_PEER_STA_PS_STATECHG_EVENTID to host. Once there
is TX failure on air, HTT_T2H_MSG_TYPE_TX_COMPL_IND
with an unsuccess status will be received by host.

These two kinds of messages from FW will be transferred
into SME message and sent to HDD layer.

Change-Id: If37798bcd06fb8c3f7a2690e77a572b41d7b266f
CRs-fixed: 1048388
2017-04-19 23:20:43 -07:00
Abhishek Singh
6f56d21a01 qcacld-3.0: Cleanup the legacy Scan cache
Cleanup the legacy scan cache code as it is moved to common
scan component.

Change-Id: I6f6710450ff692f4722ccb6d704871f50178680c
CRs-Fixed: 2033079
2017-04-18 03:07:39 -07:00
Selvaraj, Sridhar
97ce658f73 qcacld-3.0: Add "g_fils_max_chan_guard_time" INI and pass it to firmware
Add "g_fils_max_chan_guard_time" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will calculate the dwell time while sending in probe request.

Change-Id: I2336a7e0a37181ea00ef117e9907e7eaf194ae3d
CRs-Fixed: 1114057
2017-04-17 00:17:23 -07:00
Amar Singhal
5cccafec64 qcacld-3.0: Wiphy initialization for regulatory offload
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.

CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3
2017-04-16 15:58:42 -07:00
Sreelakshmi Konamki
88a2a41bbf qcacld-3.0: Add support to get the status for Roam Scan Offload command
Add support to handle the event for the Roam Scan Offload[RSO] command
status. Inform the same to user space.

Change-Id: I2758103e8ca3c49c0fecd3323b619542dbbabf0c
CRs-Fixed: 1111809
2017-04-14 12:43:35 -07:00
Abhishek Singh
0481d66d9d qcacld-3.0: Cleanup the legacy PNO code
Cleanup the legacy PNO code as PNO is moved to common scan component

Change-Id: I63914e1f496627ac32ddebbe0c8be7da088316cb
CRs-Fixed: 2032432
2017-04-14 11:03:29 -07:00
Naveen Rawat
5f1111b2ad qcacld-3.0: Send ROAM_OFFLOAD_START after PSK_PMK has been changed
After supplicant issues a new PSK_PMK send a ROAM_OFFLOAD_START cmd
to firmware to update latest PMK to firmware so that it can send
correct PMK in 4-way EAPOL handshake.

Change-Id: Ied2ba70ca7538ddf7b63478585c53bf174b62c38
CRs-Fixed: 2032853
2017-04-13 19:57:50 -07:00
Srinivas Girigowda
af487f638f qcacld-3.0: SME: Introduce sme_{alert|warn|info|debug} macros
Introduce sme_{alert|warn|info|debug} macros.

Change-Id: I1c64d2a554855b4410203e58ee522ebec021da01
CRs-Fixed: 2020798
2017-04-13 12:29:24 -07:00
Selvaraj, Sridhar
a521aab1c5 qcacld-3.0: Add INI "g_qcn_ie_support" INI for QCN IE support
Add INI "g_qcn_ie_support" INI and selectively add the QCN IE
in probe/assoc/reassoc request based on the INI.

Change-Id: I6039bb5366feb77b4c601bcde00b4bd5d92a3b23
CRs-Fixed: 1117320
2017-04-13 09:53:11 -07:00
Srinivas Girigowda
4698a9c284 qcacld-3.0: Remove obsolete set/reset ssid hotlist
This is a qcacld-2.0 to qcacld-3.0 propagation.

Remove obsolete set/reset ssid hotlist.

Change-Id: Ie6c4a9847f2daa9ba2aebd17f386d584201b86d6
CRs-Fixed: 1102593
2017-04-10 01:37:29 -07:00
Mukul Sharma
fcd57f5724 qcacld-3.0: Cleanup WMA LPHB code and Add PMO lphb calls
Cleanup WMA LPHB code and Add PMO calls.

Change-Id: I8dd338b9653c123ef315aa955915547486603ae8
CRs-Fixed: 2021994
2017-04-10 00:31:32 -07:00
Naveen Rawat
cb5c540e7f qcacld-3.0: Implementation of NDI Create/Delete
Add MCL changes for NDI create and NDI delete commands.

Change-Id: I270cd213d89224f73ff2ce9fad784cec3e0f8fa3
CRs-Fixed: 2014795
2017-04-07 11:58:39 -07:00
Naveen Rawat
9750035be6 qcacld-3.0: Compile out legacy NDP code
Compile out legacy code when NAN_CONVERGENCE is enabled.

Change-Id: I47ac6842ad6b195e623d9de95702e6089031335d
CRs-Fixed: 2014795
2017-04-06 08:52:10 -07:00
Arif Hussain
671a190aa9 qcacld-3.0: Add cac duration and dfs region in vdev start
Add support to fill cac duration and dfs region in  vdev
start command, these values are used in firmware on phyerror
processing and cac timer offload cases.

Change-Id: I8bfbd4a3f59002f92ee2e5e321c15da849fce9ec
CRs-Fixed: 2021357
2017-04-03 18:41:22 -07:00
yeshwanth sriram guntuka
8fa6fa3042 qcacld-3.0: Remove addts and delts command on roam sync ind
When DUT receives roam sync ind, addts and delts commands
needs to be removed as part of csr_roam_sync_callback,
Otherwise these commands will be active SME commands forever
as PE wont send resp as older PE session is deleted as part
of RSI indication.

Fix is to remove addts and delts command on roam sync ind.

Change-Id: I1df8416a76dff3899c146823bec04595877788f7
CRs-Fixed: 2023723
2017-04-03 00:58:40 -07:00
Archana Ramachandran
2eb7a61aeb qcacld-3.0: Register legacy callbacks with Policy Manager part 2
Register legacy callbacks with Policy Manager part 2.

Change-Id: Ia2d2999d75866bf1f9ca5984ae49cbbe7c5a3192
CRs-Fixed: 2009818
2017-03-30 16:27:02 -07:00
Tushnim Bhattacharyya
0c4ad2d08a qcacld-3.0: change sme code for policy manager restructuring
Modify sme code to cope with the policy manager moving to host
common.

Change-Id: I3a78736ea63f5e79644a9e0a3db790a1fcd286bd
CRs-Fixed: 2009818
2017-03-30 16:26:32 -07:00
Tushnim Bhattacharyya
9e81b4ca94 qcacld-3.0: legacy code change for policy manager restructuring
Modify legacy code to cope with the policy manager moving to host
common

CRs-Fixed: 2009818
Change-Id: Ifa27ecdf1e37eda6f929f89da603bc356e9cb7fd
2017-03-30 16:26:20 -07:00
Nitesh Shah
db5ea0d6db qcacld-3.0: Send Nss 1x1 for HT-STAs if hw is DBS capable
If the device is DBS capable, then it may switch between 2x2 and
1x1 depending on the active session. If the reference device is
non-VHT STA and is HT-STA, then the reference device may not be
able to decode operating mode notification frame. Thus, there can
be IOT issues.

The fix is to associate with non-VHT STA that are HT STA with 1x1
Nss capability.

Change-Id: Ic6c889f18a2e20bbde9e0d8228de65cffa5162b8
CRs-Fixed: 2023200
2017-03-28 13:00:43 -07:00
Krishna Kumaar Natarajan
f1581df779 qcacld-3.0: [11AX] Add support to configure peer rate
Add support for to configure peer rates using set_peer_rate
iwpriv command.

Change-Id: I5181686a155fb7212cbcb89168b1929e00b0d1d1
CRs-Fixed: 1073481
2017-03-28 13:00:27 -07:00
Dustin Brown
d28772bde9 qcacld-3.0: Change sme_open_session to take a session Id
Currently, vdev_id and session_id are assumed to be the same, but are
generated in two separate code paths. Unsurprisingly, this leads to a
whole host of desync issues. Instead, modify sme_open_session to take
a session_id, which will be populated with an objmgr vdev_id. This means
vdev_id and session_id can no longer desync, as there is only a single
source for both.

Change-Id: I104aba29beb3c19d0ef2ff23380e3d005e01ced0
CRs-Fixed: 2022136
2017-03-28 12:49:04 -07:00
Jeff Johnson
3c2ffbeba2 qcacld-3.0: SME: Remove obsolete support for Class B stats
SME currently has legacy code to support the tCsrGlobalClassBStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD.  So remove support for these stats from SME.

Change-Id: Ia18d8635cff63d91f779bc3bae0a30c594514f8f
CRs-Fixed: 2021538
2017-03-23 17:00:46 -07:00
Jeff Johnson
1b67b84784 qcacld-3.0: SME: Remove obsolete support for Class C stats
SME currently has legacy code to support the tCsrGlobalClassCStatsInfo
data structure. However these stats were specific to the WDI firmware
API used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD.  So remove support for these stats from SME.

Change-Id: I3e63f99e1dd1b509694e3953490355b4c23f6c73
CRs-Fixed: 2021528
2017-03-23 17:00:40 -07:00
Jeff Johnson
ad0b2c642f qcacld-3.0: Fix nonsense Class A stats field names
The qcacld-3.0 driver inherited the tCsrGlobalClassAStatsInfo data
structure from a prior version of the driver. This structure was based
upon the WDI firmware API used by older generations of hardware, and
this interface is not directly supported by the WMI interface used by
current generations of firmware. However "glue" code was introduced
which converts between the WMI data and this WDI-based representation.

When the glue code was introduced there were some parameters which
were supported by WDI but not WMI, and there were some parameters
which were supported by WMI but not WDI. Rather than remove the fields
for parameters not supported by WMI and add new fields for the
parameters only supported by WMI, for some reason the existing
WDI-only fields were repurposed. This fact is captured in WMA:
	/* rx_frag_cnt and promiscuous_rx_frag_cnt
	 * parameter is currently not used. lets use the
	 * same parameter to hold the nss value and mcs
	 * rate flags */
	classa_stats->rx_frag_cnt = node->nss;
	classa_stats->promiscuous_rx_frag_cnt = mcsRateFlags;

And leads to nonsense code such as the following in HDD:
	nss = pAdapter->hdd_stats.ClassA_stat.rx_frag_cnt;
	rate_flags = pAdapter->hdd_stats.ClassA_stat.promiscuous_rx_frag_cnt;

Rename these fields so that they match the data they hold, and remove
other legacy fields which are unused.

Change-Id: If04a8943ad90d796968c817ff5e634eec23c97f0
CRs-Fixed: 2021520
2017-03-23 17:00:35 -07:00
Krishna Kumaar Natarajan
0103ef8f7c qcacld-3.0: [11AX] Add changes for peer association
Add changes for 11ax peer association.

Add support for the following
 - update data structures to hold HE capabilities
 - setting up HE capabilities in the session
 - updating sta context with correct HE config
 - intersecting self and peer capabilities
 - update derivation of peer phymode to handle 11ax phymode

Change-Id: I46c7a7328d09e74bc0c5b25a67f6273d7eb04d30
CRs-Fixed: 1073481
2017-03-23 12:15:39 -07:00
Krishna Kumaar Natarajan
90bb6f12fd qcacld-3.0: [11AX] Add INI parameters related to 11AX
Add INI parameters to enable/disable ul_ofdma and ul_mimo.

Change-Id: Iaeac86db11593002bdbf3d6a92029657c3352e94
CRs-Fixed: 1073481
2017-03-22 09:09:31 -07:00
Krishna Kumaar Natarajan
4f1d7724a8 qcacld-3.0: [11AX] Add dot11mode changes to support 11ax
Add new dot11mode and update the utility functions to derive
the dot11mode based on the userspace config, INI config and
FW capability.

Change-Id: I5780120ef7bc2b78fd596e937fe14a2c8ad88348
CRs-Fixed: 1073481
2017-03-22 09:09:29 -07:00
Jeff Johnson
60be8a9f44 qcacld-3.0: SME: Remove obsolete support for tCsrPerStaStatsInfo
SME currently has legacy code to support the tCsrPerStaStatsInfo data
structure. However these stats were specific to the WDI firmware API
used by older generations of hardware, and this interface is not
supported by WMI. In addition the support for these stats has been
removed from HDD.  So remove support for these stats from SME.

Change-Id: Ibab7f94764c68933633c46da497613add0824ff1
CRs-Fixed: 2020067
2017-03-21 09:48:01 -07:00
Jeff Johnson
97fdfd0e1b qcacld-3.0: Correlate SME STATS macros to underlying enumerations
Currently SME exposes a set of SME_*_STATS macros to indicate which
stats are of interest in a call to sme_get_statistics().

What is not obvious is that the values of these macros are required to
be aligned with the eCsrRoamStatsClassTypes enumerated values. Update
the macros to make that alignment explicit.

Change-Id: Id992a8230a1aa4df941ea7666bc00a661a9ab68e
CRs-Fixed: 2020055
2017-03-21 09:47:54 -07:00
Nitesh Shah
99dd95556b qcacld-3.0: Send Deauth and delete all TDLS stations
This change addresses sending Deauth to TDLS peers,
delete TDLS stations and clear hdd structures if
concurrency is detected.

Change-Id: Ia9f6724a9db20c6d9ebfc2fa735569305f35f084
CRs-Fixed: 2022489
2017-03-21 06:12:14 -07:00
Naveen Rawat
910726a844 qcacld-3.0: MCL changes for WIFI Positioning component
Implement MCL changes to use new WIFI POS component APIs

Change-Id: Ifccc7f6e9c614570de758fde3a23b63ee5f387d7
CRs-Fixed: 2003488
2017-03-21 01:10:21 -07:00
Krishna Kumaar Natarajan
d0bbb3c52f qcacld-3.0: [11AX] Add support in WMA to receive HE Capabilities
Add support in WMA to receive and store HE capabilities coming
from extended service ready event.

Add support to receive HE capabilities, convert into OTA type of
internal host structure and pass it to the uppper layer as target
config. Add utility funciton for the conversion as well.

Change-Id: If0ceeb3db74be6cf6893b8e74c710863bab8b41b
CRs-Fixed: 1073481
2017-03-18 16:00:03 -07:00
Abhishek Singh
cfb4448302 qcacld-3.0: Fix compile errors when WLAN_FEATURE_11W is disabled
Fix compilation errors when WLAN_FEATURE_11W is disabled.

Change-Id: I5bed89f0077a51117c57e176568f849293d40ee5
CRs-Fixed: 2019223
2017-03-17 04:59:16 -07:00
Varun Reddy Yeturu
1ce7affdda qcacld-3.0: Handle roam synch propagation failure
Handle Roam synch propagation failure properly.
Disable the roaming in progress flags in HDD.
Send a ROAM STOP command to firmware immediately.

Change-Id: I5f014ab79db553a1df758bf639362f26272a6a23
CRs-Fixed: 2020168
2017-03-16 11:21:33 -07:00
Varun Reddy Yeturu
88f123c804 qcacld-3.0: Ignore RSI if disconnect is initiated
Ignore the Roam Synch Indication from firmware if the
user space has already issued a disconnect before
receiving ROAM_START from firmware.

Disconnect might have cleared the roam profile and will be
sitting in the queue for the PE processing to happen.
If the disconnect is in the queue and a roam synch indication
is received, then check the CSR state from the first callback
of roam synch propagation and bail out there itself.

Disconnect will eventually send a ROAM_STOP command to the
firmware and it will cleanup

Change-Id: I528f552cd601dc9d23f709410115fb0af944899d
CRs-Fixed: 2018928
2017-03-14 23:40:51 -07:00
Varun Reddy Yeturu
f86f052f74 qcacld-3.0: Issue disconnect if roaming fails
If the offloaded roaming feature has started, but
has not completed for some reason, then issue a
disconnect and cleanup

Change-Id: Ibcd4f83ea126a1d05531f9bf30d6827008fdbfea
CRs-Fixed: 2019435
2017-03-14 23:40:50 -07:00
Selvaraj, Sridhar
4f684bbaf2 qcacld-3.0: Add "g_enable_bcast_probe_rsp" INI and pass it to firmware
Add "g_enable_bcast_probe_rsp" INI and pass the configured value
to firmware for STA vdev as part of vdev attach. Based on this INI,
firmware will send the dwell time IE in probe request.

Change-Id: I446c7d7589534688e04579ed434de0803ed8b4ff
CRs-Fixed: 1113498
2017-03-14 12:57:54 -07:00
Sandeep Puligilla
a330c8cd93 qcacld-3.0: Legacy scan for ssid support
Update Legacy scan for ssid code according to
new scan common module.

Change-Id: Ieb20c84c56f91b32a0b2c6381ad0f19c363df34d
CRs-Fixed: 2013212
2017-03-11 12:11:00 -08:00