Commit Graph

356 Commits

Author SHA1 Message Date
Jeff Johnson
4f51934a73 qcacld-3.0: Remove sme_set_idle_powersave_config() cds_ctx param
Currently sme_set_idle_powersave_config() takes a cds_ctx
parameter. At one time this was needed for the call to
cds_get_context(), but that is no longer the case, so remove this
unused parameter.

Change-Id: Iacef39eded8d87a22a30fe62b0305f93e604dc4c
CRs-Fixed: 2109431
2017-09-14 06:51:58 -07:00
Jeff Johnson
a14a3acaf9 qcacld-3.0: Remove csr_set_opposite_band_channel_info()
csr_internal.h exports csr_set_opposite_band_channel_info() but the
function is no longer present, so remove the obsolete prototype.

Change-Id: I7a5c775ae80c28bd23972df7e4dfddbead6040a5
Crs-Fixed: 2108359
2017-09-12 19:54:33 -07:00
Jeff Johnson
6061a01ba2 qcacld-3.0: Remove csrScanSetChannelMask() prototype
csr_internal.h exports csrScanSetChannelMask() but the function is not
present, so remove the obsolete prototype.

Change-Id: I405cc2d9aa12cce15c58118d335a7eeb2b863b70
CRs-Fixed: 2108357
2017-09-12 19:54:30 -07:00
Jeff Johnson
634f2ff71c qcacld-3.0: Remove csrScanFilter11dResult() prototype
csr_internal.h exports csrScanFilter11dResult() but the function is no
longer present, so remove the obsolete prototype.

Change-Id: Ie163dc247d47feeb0d6b5a33aa5d78d6fefbc167
CRs-Fixed: 2108355
2017-09-12 19:54:28 -07:00
Jeff Johnson
6a5729b35d qcacld-3.0: Remove csr_roam_is_valid40_mhz_channel()
sme_inside.h exports csr_roam_is_valid40_mhz_channel() but the
function is no longer present, so remove the obsolete prototype.

Change-Id: Iea9d46584b038daed1cb690d8036a7fc86ea204e
CRs-Fixed: 2108352
2017-09-12 19:54:21 -07:00
Jeff Johnson
43a80b94d6 qcacld-3.0: Remove csr_roam_issue_ft_roam_offload_synch()
csr_api.h exports csr_roam_issue_ft_roam_offload_synch() but the
function no longer exists, so remove the obsolete prototype.

Change-Id: Ida6f00bc9615c0f50824e4f4a92b75c723d342af
CRs-Fixed: 2108351
2017-09-12 19:54:18 -07:00
gaurank kathpalia
14e2f91174 qcacld-3.0: Fix kernel checkpatch warnings in csr_internal.h
Fix kernel checkpatch warnings in csr_internal.h

Change-Id: If7c869e9445853310209a1d3dca420634f95218e
CRs-Fixed: 2025503
2017-09-12 05:27:36 -07:00
gaolez
e510894670 qcacld-3.0: Add new params in ACS calc process
qcacld-2.0 to qcacld-3.0 propagation

Before this change the ACS calc process only consider the
channel's rssi and bss count in this channel, in this change
add noise floor, channel free statistics and tx power in the
ACS calc process.

Change-Id: I654e53fa2441e03723f150d973c124985c67f2b4
CRs-fixed: 1050316
2017-09-11 23:27:25 -07:00
Tushnim Bhattacharyya
518e80fc94 qcacld-3.0: Add the DFS MCC check in ACS algorithm
During channel selection for SAP via ACS, add check if there is
a connection on 5Ghz, don't allow SAP to select DFS channel.

Change-Id: If6e42cbc584ddb80588daf138d94d2e0a75b882a
CRs-Fixed: 2102024
2017-09-11 12:16:33 -07:00
Tushnim Bhattacharyya
c3c375e5e9 qcacld-3.0: Use lockless sme API to get valid channel list from sme
Use lockless sme API to get valid channel list from sme instead of
sme_get_cfg_valid_channels to avoid deadlock.

Change-Id: I481824cb116244b9c13665d6a0ee88e28c88cf66
CRs-Fixed: 2063060
2017-09-08 14:28:18 -07:00
Jeff Johnson
9908f80e2f qcacld-3.0: Remove g_cds_context from tCsrRoamStruct
Currently tCsrRoamStruct contains a g_cds_context field to hold a
pointer to the global context. This pointer is never actually used, so
remove it. In addition remove an unnecessary retrieval of the global
context pointer from csr_packetdump_timer_stop().

Change-Id: Id8137d6e9eef87f90c01f803982a6ffdc44fbe20
CRs-Fixed: 2102464
2017-09-08 01:03:46 -07:00
Jeff Johnson
1796f6a81b qcacld-3.0: Remove cds_context from tp2pContext
The cds_context in tp2pContext is unused, so remove it.

Change-Id: I0250847eb975db3e606ab867ce74fceb28d99e44
CRs-Fixed: 2102488
2017-09-07 16:51:38 -07:00
Sandeep Puligilla
ef41536a85 qcacld-3.0: Delete vdev object before sme close session
- Flush the active scan list during sme close
session
- Close sme session before deleting the vdev
object.

Change-Id: I8dd8fc794231a613e72089a01ddee5796b56abb7
CRs-Fixed: 2103543
2017-09-06 22:52:30 -07:00
Abhishek Singh
b59f8d40ee qcacld-3.0: Use user provided BW for 2.4Ghz HT connection
Add support to use user provided BW for 2.4Ghz HT connection.
If HT capability in connect req indicate connection in HT20, force
the connection in 2.4Ghz to HT20 only even if AP support HT40.

Added ini override_ht20_40_24g to enable/disable this feature.

Change-Id: Ia03b67b9d6487e3e27f1cf8875afe95af1300b4f
CRs-Fixed: 2084929
2017-08-31 11:00:42 -07:00
Sridhar Selvaraj
0d5d2c745c qcacld-3.0: Add Support for FILS Association
Adds the following  support:
1) Add FILS IE's to assoc request.
2) AEAD encrypt/decrypt the assoc request/response frames for FILS
3) Process/Verify the Assoc response for the FILS params
4) Plumb the Auth keys to firmware after successful FILS assoc
5) Update the user space with Auth key details

Change-Id: I57f6319cecdf10e08047b510321b885c3cd711b5
CRs-Fixed: 2030038
2017-08-30 17:43: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
Sridhar Selvaraj
c3684c78f7 qcacld-3.0: Support for PMKSA caching
Add support for PMK and PMKID cache based on either bssid or
ssid + cache identifier.

Change-Id: I23c50472e4c2032b953ccf264fc4cadb2ea573ca
CRs-Fixed: 2028113
2017-08-30 10:44:50 -07:00
Sridhar Selvaraj
6cf642fe04 qcacld-3.0: Changes to support FILS AKMs
Add changes to support and parse AKM required for FILS support.

Change-Id: I64f692c3e8173b778fcd4ca6ac2391b8de2bc1d2
CRs-Fixed: 2028113
2017-08-30 10:44:46 -07:00
lifeng
d217d19d7e qcacld-3.0: Add vendor cmd to support antenna diversity
qcacld-2.0 to qcacld-3.0 propagation

Add qca_wlan_vendor_config attr to config antenna diversity.
Add vendor subcmd QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI
to get chain rssi value.

Change-Id: I75c4c8016b15772b0c52be91e446f69580475496
CRs-fixed: 1071075
2017-08-30 10:41:53 -07:00
Abhishek Singh
12be60f54b qcacld-3.0: Fix kernel checkpatch warnings in sme_qos_api.h
Fix kernel checkpaitch warnings in sme_qos_api.h

Change-Id: Ib811dcf0b664a2677343a276708d852f4bb67346
CRs-Fixed: 2025503
2017-08-30 10:41:27 -07:00
Mukul Sharma
05504acc13 qcacld-3.0: Add support of GCMP (128/256) support
Add support of GCMP (128/256) security ciper support.

Change-Id: I3c9cb3dc72cce0a2cae3e468d3c1f3c004e11adf
CRs-fixed: 2056168
2017-08-24 03:07:11 -07:00
Abhishek Singh
08b06b7214 qcacld-3.0: Connect in 20Mhz when country code restrict channel in 20Mhz
Even if channel is restricted to 20Mhz in a country code, the device
connect in 40-80Mhz.

Fix this by checking the max bandwidth supported by the country code
while calculating the CB mode.

Change-Id: Ibbf538309191b25fe944062ea618033c818095da
CRs-Fixed: 2095247
2017-08-23 22:46:16 -07:00
Sandeep Puligilla
0a11f8dc6f qcacld-3.0: Cleanup legacy scan code
Cleanup unused legacy scan code related
to abort scan.

Change-Id: I32c4c81b54bd464ebd5918c5a697fc57f505abc7
CRs-Fixed: 2063667
2017-08-21 19:26:08 -07:00
Varun Reddy Yeturu
168134f94e qcacld-3.0: Introduce lookup_threshold_5g_offset INI item
Introduce lookup_threshold_5g_offset in WCNSS_qcom_cfg.ini
which will let the user to configure separate threshold for
5G band using this offset

Change-Id: I4975f74095a5fec0657666ba864ee436cbaed604
CRs-Fixed: 2093368
2017-08-16 17:37:01 -07:00
Kiran Kumar Lokere
0751f0ece9 qcacld-3.0: Remove channel avoid event processing in wma
Remove the channel avoid event processing in wma as the
event processing handled by regulatory component

Change-Id: Ifa0e340c6341b21c192066c8c6eb14418b041062
CRs-Fixed: 2080241
2017-08-13 16:57:01 -07:00
Krunal Soni
158bfe6e18 qcacld-3.0: Introduce INI to disable high HT MCS for 2G STA
To resolve one of IOT issues, introduce INI called
"disable_high_ht_mcs_2x2" which will disable high MCS indices for
2G STA case based on INI value.

Change-Id: I60c5edd89a42f74c0f439fe6a9ab0c75373622b2
CRs-Fixed: 2087438
2017-08-13 15:36:44 -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
Ashish Kumar Dhanotiya
b28338c403 qcacld-3.0: Add host support to configure the SMPS parameters
Currently there is no support to configure SMPS parameter
from host, add support to configure SMPS parameters using ini.

Change-Id: I6f8273ffed39a0b95c31f1647e86406b870165f2
CRs-Fixed: 2080571
2017-08-06 20:45:06 -07:00
Naveen Rawat
d9dd4b33f6 qcacld-3.0: Fix implicit conversion error for sme_QosWmmDirType
Replace sme_tspec_dir_type and sme_QosWmmDirType with sme_qos_wmm_dir_type
to avoid implicit conversion warnings/errors and to conform with linux coding
guidelines.

Change-Id: I1567ebbe7ec8adab3344d96f0d2aa93367975926
CRs-Fixed: 2071677
2017-08-06 00:59:54 -07:00
Srinivas Girigowda
72f3039ec5 qcacld-3.0: Split __wlan_hdd_cfg80211_set_ext_roam_params()
Split __wlan_hdd_cfg80211_set_ext_roam_params() into
multiple functions to improve readability of the code and
fix clang warning (-Wframe-larger-than).

Change-Id: I3ad995636127a5fda0635549551a24cc5b1bd2c5
CRs-Fixed: 2055487
2017-08-03 19:48:53 -07:00
Dustin Brown
84411b0e45 qcacld-3.0: Flush pending powersave timers during suspend
Currently, auto powersave timers are deferrable. This means any pending
auto powersave timers will not fire while the device is supended, which
can have a negative impact on wlan power usage. Instead, flush any
pending auto powersave timers during the suspend process, to ensure
powersave is enabled while the device is suspended.

Change-Id: I5911ee30eaf770909b728af73958ba1bbaa8457f
CRs-Fixed: 2080812
2017-07-31 18:53:15 -07:00
Abhishek Singh
f3756fcb5c qcacld-3.0: Add support for rssi based assoc rejection during connect
Add support to handle rssi based assoc rejection from a bssid and
Try to connect to this bssid only after time interval indicated in
Assoc reject or when rssi has improved by margin indicated in Assoc
reject.

Change-Id: I6363bf5346ff8804611afbac3058819dc820092d
CRs-Fixed: 2070452
2017-07-30 11:00:12 -07:00
Manjeet Singh
a9cae43599 qcacld-3.0: Add support for band specific preference
Add support for 5Ghz network RSSI boost/penalty preference
based on ini values.

Change-Id: Ia3ae5dcc35b9a85fde5a609f8f27ff8b4bc35cec
CRs-fixed: 1085554
2017-07-30 09:09:12 -07:00
gaolez
7bb1e74744 qcacld-3.0: Add ecsa capability record
qcacld-2.0 to qcacld-3.0 propagation

Add eCSA capability record of STAs which associated to SAP.

Change-Id: I1d7892bb1dc4e490a587e8372a4bdc7f419e8b36
CRs-Fixed: 1094958
2017-07-25 15:44:06 -07:00
bings
58ce86229c qcacld-3.0: Add phymode parameter in hdd_chan_change_notify
Information in struct ch_params_s are the same for 11g and
11n ht20, so phymode is still needed to distinguish them.

Change-Id: I5ddfc011b4fd3b11c975f8b2df3a270e8141e622
CRs-Fixed: 2073580
2017-07-25 03:45:24 -07:00
Sridhar Selvaraj
1b2330ccb8 qcacld-3.0: Add new ini param for min rest time during roaming scan
Currently both min and max rest time use the same ini param
gNeighborScanTimerPeriod.

Add a new ini param gRoamRestTimeMin for min rest time
during channel scan.

Change-Id: Ifbb0fcc736e81b292639c6f2ad3119b451bec4f2
CRs-Fixed: 2060095
2017-07-24 10:52:47 -07:00
Will Huang
558f8085c4 qcacld-3.0: Add support of request peer stats info(part 2)
qcacld-2.0 to qcacld-3.0 propagation

FW has limitation to support old WMI_REQUEST_STATS_CMDID and
WMI_UPDATE_STATS_EVENTID interface on AP vDev. FW suggest to use new
WMI_REQUEST_PEER_STATS_INFO_CMDID and WMI_PEER_STATS_INFO_EVENTID to
get tx/rx rate.

This checkin is about LIM/SME/SAP layer, provide SME APIs/callbacks
to HDD layer to get SAP's peer station tx/rx related information,
fill these information from wma layer get-peer-stat-info APIs and
peer station's association request frame. It also fixed function
csr_send_assoc_ind_to_upper_layer_cnf_msg when copy information
between different structures and using offset style.

Change-Id: Icb1aaa126663af7eaedd1c4db86ca25c40ce6ee9
CRs-Fixed: 2051628
2017-07-18 05:54:26 -07:00
Selvaraj, Sridhar
57ce4dfde2 qcacld-3.0: Add ini params to avoid roam ping pong
In roaming scenario, to avoid ping pong with bad AP’s around, fw
blacklist certain Ap’s based on timestamps and penalize certain
AP’s of the same channel so they won’t be selected and back and
forth roaming could be avoided. This change adds the following
INI parametres to configure the parametres of this fw feature.

1) groam_disallow_duration    - Amount of time LCA[Last Connected AP]
                                will be disallowed before it can be a
                                roaming candidate again.
2) grssi_channel_penalization - RSSI to be penalized if
                                candidate(s) are found in the same
                                channel as disallowed AP's.
3) groam_num_disallowed_aps   - number of AP's the target should
                                maintain in its LCA list.

Change-Id: I41cb36caf1b42caeb2bf77846bd0279eb43d2018
CRs-Fixed: 2054188
2017-07-18 05:54:24 -07:00
Sreelakshmi Konamki
2972b6e3cb qcacld-3.0: Do not remove addts/delts command in csr_roam_sync_callback
Currently addts and delts commands are removed as part of
csr_roam_sync_callback. After successful roaming add_tspec of
old connection is not processed in SME (entry of addts command is NULL
in smeCmdActiveList). As there is no active add tspec in SME,
VO data is downgraded to BE.

To fix above issue, do not remove addts/delts commands from SME queue and
in PE layer do the error handling for addts to send resp for all
failure cases.

Change-Id: Ibc7364d188c3002dd8067738f6bcc8fee2af2126
CRs-Fixed: 2076713
2017-07-18 05:54:23 -07:00
Vidyullatha Kanchanapally
be0ebb3807 qcacld-3.0: Add handler for new WMI BT event
Add handler for the new WMI BT activity event and propagate the BT
event till HDD. These BT activity events will be used for MBO
enhancements to decide whether to accept the BTM request from
AP or not.

Change-Id: I687819fd28c693964b42bfb24eb9dae1858b10a5
CRs-Fixed: 2023728
2017-07-13 18:03:08 -07:00
Srinivas Girigowda
74a66d627b qcacld-3.0: Fix clang warnings implicit enum type tAniBool
warning: implicit conversion from enumeration type 'tAniBool'
(aka 'enum eAniBool') to different enumeration type
'eSapBool' [-Wenum-conversion]

Replace tAniBool/eSapBool with bool.

Change-Id: I919488d2accc094049375fffe8b54a5d7dea621e
CRs-Fixed: 2055487
2017-07-13 01:47:55 -07:00
Varun Reddy Yeturu
7b2a657361 qcacld-3.0: Fix clang warnings in SME
Fix implicit conversion from enumeration type 'tSirRetStatus' (aka 'enum
eSirRetStatus') to different enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'QDF_MODULE_ID' to
different enumeration type 'CDS_MQ_ID'
Fix implicit conversion from enumeration type 'enum eSirResultCodes' to
different enumeration type 'eCsrRoamResult'
Fix implicit conversion from enumeration type 'enum eSirRetStatus' to
different enumeration type 'tSirMacStatusCodes'
Fix implicit conversion from enumeration type 'sme_QosStatusType' to
different enumeration type 'QDF_STATUS'
Fix implicit conversion from enumeration type 'tSirResultCodes' (aka
'enum eSirResultCodes') to different enumeration type 'QDF_STATUS'

Change-Id: I133992192b797619c7bc593fb65e4ca5ca87702b
CRs-Fixed: 2063149
2017-07-12 15:42:49 -07:00
Varun Reddy Yeturu
66899fe9e7 qcacld-3.0: Fix roam start not being sent to firmware
Fix the restriction of not sending ROAM_START command if the
previously sent command was an UPDATE_CFG command. There is
no such requirement.If the framework sends a BLACK_LIST update
command, then it is sent to firmware even in case of disconnected
state for the sake of PNO. The subsequent connection triggers a
ROAM_START command and it is not sent to the firmware due to
the current restriction

Move the global flag of saving the status of roam start sent to
firmware into the session

If a ROAM STOP is being sent to the firmware directly to WMA, then
update the relevant flags in the session

Change-Id: I6c42bc7d1e10352883edc7e715ea1418835cd142
CRs-Fixed: 2074836
2017-07-11 19:58:03 -07:00
Naveen Rawat
d0ca44133d qcacld-3.0: get statistics code path cleanup
HDD always sets periodicity=0 and cache=false so all logic
that exists to support these options can be removed from SME/CSR.

Change-Id: Ica9848badd09d14f50c44998ce830568e2b76024
CRs-Fixed: 2063484
2017-07-10 16:59:07 -07:00
Varun Reddy Yeturu
0d3d9916c4 qcacld-3.0: Cleanup CBMode in SME
Cleanup the variable CBMode as there is no usage of
the variable in the code

Change-Id: I4e63a0f6f1cddd639f324c177b198e4b5c18e9e0
CRs-Fixed: 2063149
2017-07-09 23:41:17 -07:00
Deepak Dhamdhere
612392c937 qcacld-3.0: Add .ini configuration for max number of AMSDU
qcacld-2.0 to qcacld-3.0 propagation

Host driver can send number of max AMSDUs in transmit frames.
Added a call to process_wma_set_command() similar to CLI
command processing for GEN_VDEV_PARAM_AMSDU during device
initialization.
Changed name of the field from isAmsduSupportInAMPDU to max_amsdu_num
in several places. Existing SME and LIM code passes this parameter
to WMA, but it is not used there. It may be useful if AMSDU setting
is changed to per-vdev basis in future.

WCNSS_qcom_cfg.ini changes:
Removed - "gAmsduSupportInAMPDU"
Added - Name = "gMaxAmsduNum", Min = 0, Max = 3, Default = 1

Actual function call to ol_txrx_aggr_cfg() send the parameters to
firmware is commented out because it is not implemented in firmware.

Change-Id: I2dfdd8c8c4a8807596ff28eee192ef66ac425653
CRs-Fixed: 871686
2017-07-08 13:41:35 -07:00
Hanumanth Reddy Pothula
90051789ab qcacld-3.0: Update valid rssi value to upper-layer
For a small window during roaming and new connection, there is a
possibility of firmware to send the invalid rssi value(other than
0-127), leading driver to send the same invalid rssi value to upper-layer.

To mitigate this issue:
1) Either send previous valid rssi value to upper-layer on receiving invalid
   rssi value from the firmware.
2) Or if previous rssi value is not valid, fetch rssi value from beacon frame
   of connected AP from scan cache.

Change-Id: I4443ed06cd80826ff386c2b4a536a2dc1a1e0881
CRs-Fixed: 2042747
2017-07-06 17:50:32 -07:00
Naveen Rawat
247a868164 qcacld-3.0: Program num tx chains for 11abg to FW
Program num tx chains for 11abg FW via pdev params. This will
help enhance power save in firmware.

Change-Id: I1f5815f2914f65928f8f3d72e53d409ecf6d1fe7
CRs-Fixed: 2056531
2017-07-03 19:09:32 -07:00
Naveen Rawat
8029a40b49 qcacld-3.0: Update beacon template from sme update config API
Currently sme_update_ht_config only update csr_session and sends updated
params to FW via VDEV_PARAM command. Same is not reflected in pe_session
and beacon template. Update beacon params in LIM by sending param update
message to LIM.

Change-Id: I1f926b4d2d5467c7702e03ff281879529c89f6f5
CRs-Fixed: 2055347
2017-06-29 19:45:42 -07:00
lifeng
21b7b8bd49 qcacld-3.0: Change ssidHidden variable type as tHiddenssId enum
Change ssidHidden variable type as tHiddenssId enum instead of
original boolean type in tagCsrSSIDInfo structure to backup the
value from hdd (eg: eHIDDEN_SSID_NOT_IN_USE, eHIDDEN_SSID_ZERO_LEN,
eHIDDEN_SSID_ZERO_CONTENTS).

Change-Id: Ibc88c80856984b1b61e2fbe489219b391900dad3
CRs-Fixed: 2065342
2017-06-29 19:45:39 -07:00