Commit Graph

2095 Commits

Author SHA1 Message Date
Jeff Johnson
a7e5eed8ff qcacld-3.0: Polish HDD Green AP implementation
In qcacld-3.0 an attempt is being made to converge on a common set of
methods for each feature.  Update HDD Green AP feature to align with
"<layer>_<feature>_<method>" naming.

In addition relocate the embedded documentation of all public
functions from the .c file to the .h file since it is the interface
that should be documented and not the implementation.

Change-Id: Id6478f80a85b9e7d6abd1949a136c3c8357d49e9
CRs-Fixed: 1072396
2016-10-03 16:49:02 -07:00
Jeff Johnson
67904df7b5 qcacld-3.0: Cleanup HDD LPASS documentation
The recent set of "Refactor HDD LPASS" changes introduced a new set of
public APIs.  Currently these APIs have documentation entries in both
the header file and in the source file.  This will result in redundant
entries when documentation is generated from the files.  Since public
APIs should document their interface and not their implementation,
remove the documentaton entries in the source file, leaving just the
ones in the header file.

Change-Id: Idcd4c35d74dc79b0a8440b03084420f4b40ebae5
CRs-Fixed: 1070700
2016-10-03 16:49:00 -07:00
Jeff Johnson
c875e24d7e qcacld-3.0: Refactor HDD LPASS "target config" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "target
config" logic such that the actual implementation is in the lpass
feature file.

Change-Id: I2fb40fc2d0276bfad9f79f340895b7d23c8a9d5d
CRs-Fixed: 1070700
2016-10-03 16:48:58 -07:00
Jeff Johnson
b8bf907c73 qcacld-3.0: Refactor HDD "is lpass supported?" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "is
lpass supported?" logic such that the actual implementation is in the
lpass feature file.

Change-Id: If54961eebc97951985770cdad813d6fbbc3953f9
CRs-Fixed: 1070700
2016-10-03 16:48:49 -07:00
Jeff Johnson
9078bdcb27 qcacld-3.0: Refactor HDD LPASS "populate CDS config" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"populate CDS config" logic such that the actual implementation is in
the lpass feature file.

Change-Id: I3dada0d446a994862f70392f8ebf5911bda583da
CRs-Fixed: 1070700
2016-10-03 16:48:47 -07:00
Jeff Johnson
7139669405 qcacld-3.0: Refactor HDD LPASS "connect" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"connect" logic such that the actual implementation is in the lpass
feature file.

Change-Id: Iac7bb28cbf6c1b361cf95f1eccba507cca0d5ad3
CRs-Fixed: 1070700
2016-10-03 16:48:45 -07:00
Jeff Johnson
cef59bbc3b qcacld-3.0: Refactor HDD LPASS "disconnect" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"disconnect" logic such that the actual implementation is in the lpass
feature file.

Change-Id: I7250582c8e0ba7423babfd6acfd23ff492d05037
CRs-Fixed: 1070700
2016-10-03 16:48:42 -07:00
Jeff Johnson
2ae6f714b0 qcacld-3.0: Refactor HDD LPASS "interface mode change" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the
"interface mode change" logic such that the actual implementation is
in the lpass feature file.

Change-Id: I7be1719f6b0f4ed69d60dbb1c50dab63ca3d768a
CRs-Fixed: 1070700
2016-10-03 16:48:13 -07:00
Jeff Johnson
f7f66f0baf qcacld-3.0: Refactor HDD LPASS "stop" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "stop"
logic such that the actual implementation is in the lpass feature
file.

Change-Id: I53bd57e2687e0d6fa2cb11bd34e19ee7eedb7969
CRs-Fixed: 1070700
2016-10-03 16:48:11 -07:00
Jeff Johnson
9afc501027 qcacld-3.0: Refactor HDD LPASS "start" logic
Previously "qcacld-3.0: Refactor WLAN_FEATURE_LPSS" refactored some of
the HDD LPASS logic.  Continue that process by refactoring the "start"
logic such that the actual implementation is in the lpass feature
file.

Change-Id: Idc7ed03abd35616d2a7bfa4a74aaec9898f9dc8e
CRs-Fixed: 1070700
2016-10-03 16:48:09 -07:00
qcabuildsw
347e3fd4fd Release 5.1.0.28Q
Release 5.1.0.28Q

Change-Id: I1b11b8272f1e2a368bc1626cd71f207bf84e5604
CRs-Fixed: 688141
2016-10-03 16:48:07 -07:00
Poddar, Siddarth
4acb30a8d3 qcacld-3.0: Add new index in SME AC type
Since AC/UP table is 4 entries long and linux AC queue has 5 entries,
packets coming for new queue are going out of bound.

Add changes to add one more index in SME AC type to handle this.

Change-Id: Ifaeb6f2c68177887759c3582dd7bc6ff56673d7d
CRs-Fixed: 1064813
2016-10-03 16:48:03 -07:00
Poddar, Siddarth
49fb4d74b6 Revert "qcacld-3.0: Store events in pktlog buffer when Pktlog is enabled by default in INI"
This reverts commit Id0b7dd6b4573147eef9b80b57bc78284e52807ec.

This change is not required anymore as now vendor related pktlog
enable/disable command will be handled via flag in wifi start log
structure.

Change-Id: I82f32d3d8021361e92d67a53624a1d5d027fd9b8
CRs-Fixed: 1072584
2016-10-03 16:48:00 -07:00
qcabuildsw
c665784a69 Release 5.1.0.28P
Release 5.1.0.28P

Change-Id: I42e06f4cc6c96243f5481fd298ca7dc2e639ba70
CRs-Fixed: 688141
2016-10-03 16:47:49 -07:00
Arunk Khandavalli
07ec8f6eda qcacld-3.0: wait for driver recovery to complete before driver unload
As part driver shutdown cds recovery inprogress is set and it is cleared
once the driver recovery is completed. In the case of the SAP ssr
network manager tries to unload/reload once the network queues/carrier
is turned off. In the module exit the driver is unregistering the
driver ops because of which platform driver is not able to invoke the
re-init of the driver and re-init completed flag is never set.
Once the driver unregisters with platform driver it invokes the
remove function in which driver is waiting infinitely for the
reinit to complete.

To mitigate the issue wait for driver recovery to complete before starting
the driver unload.

Change-Id: I1879f7dc4b09d3eef6475252f6209339351c5737
CRs-Fixed: 1072677
2016-10-03 16:47:46 -07:00
Selvaraj, Sridhar
353be2f00d qcacld-3.0: Invoke LFR3 roaming on reception of prev_bssid in connect
When supplicant issues connect with prev_bssid set, it expects the
driver to do reassociation instead of disconnect and connect.

This fix checks if prev_bssid is set and bssid/bssid_hint, channel/
channel_hint parameters are present in connect and if yes, invokes LFR3
roaming.

Change-Id: I8d4d29086a205563061bb155a1298de91839cbec
CRs-Fixed: 1071581
2016-10-03 16:47:16 -07:00
qcabuildsw
ca346b4819 Release 5.1.0.28O
Release 5.1.0.28O

Change-Id: I094b9f5a31137eecaea360e65c80cc9143254afc
CRs-Fixed: 688141
2016-10-03 16:43:29 -07:00
Arunk Khandavalli
4cc97a9b18 qcacld-3.0: set global context to NULL only when all the cleanup is completed
In cds_deint, cds global context is set to NULL and then cleanup handlers of
memory/timer/nbuf manager's are invoked. During the cleanup these handlers
use QDF_TRACE to print the cleanup information which internally tries to
get the global context resulting in not clean unload of driver.

To migitate the issue set global context to NULL once the clean up of
all handlers is completed cleanly.

Change-Id: Ic58962dfd543020d79cabd7b646e483c4f7961f2
CRs-Fixed: 1067340
2016-10-03 16:43:26 -07:00
qcabuildsw
1e74c220de Release 5.1.0.28N
Release 5.1.0.28N

Change-Id: I24f1df691bef136a9e031eaae630637f4cec929e
CRs-Fixed: 688141
2016-10-03 16:43:25 -07:00
Naveen Rawat
8cc23b0d9a qcacld-3.0: Update host DBS policy manager in roaming operations
Firmware DBS mode is updated during firmware based roaming. Same change
is reflected in the host policy manager. Process hw_mode TLV in roam sync
indication event. Update cds concurrency policy after roaming. Handle
exceptions for ROAM_ABORT and HO_FAIL conditions.

Change-Id: I826c6766f73441256e5946d3167966e645f23430
CRs-Fixed: 1044336
2016-10-03 16:43:23 -07:00
qcabuildsw
5387b81ed9 Release 5.1.0.28M
Release 5.1.0.28M

Change-Id: I0b7c92495155593c3439eb07711e2355214a808d
CRs-Fixed: 688141
2016-10-03 16:43:22 -07:00
Naveen Rawat
a410c5a9c2 qcacld-3.0: Send self HT/VHT caps per band IE at hdd_init_station_mode
In function lim_send_ht_vht_ie per band HE/VHT IE being sent to firmware
are being populated as per hardware mode (DBS/Non-DBS). Change that to
absolute self HT/VHT capability.

Change-Id: I3e74ffb89fcdc2903ecaa3c1bb3e4aeffd4f8f35
CRs-Fixed: 1069032
2016-10-03 16:43:20 -07:00
qcabuildsw
cfd09e495f Release 5.1.0.28L
Release 5.1.0.28L

Change-Id: I28a3bd264ff928bffac46e2e7a7e2dbb95104212
CRs-Fixed: 688141
2016-10-03 16:43:19 -07:00
Hanumanth Reddy Pothula
7d51b1d1fd qcacld-3.0: Reject same con_mode change request from the user
In the present implementation driver directly switches to con_mode
requested by user eventhough it is in the same mode as requested by
the user. Also, con_mode_handler relies on the station adapter
to switch between modes, if current con mode is other than STA mode
then handler returns failure, without processing con mode change.

In con mode handler add check if user trigger con mode is same as
the current con mode, as driver is already in same mode and get
valid adapter context based on con mode.

Change-Id: If7ee95f7ce5c2e6f85c1245bdf4cdfa3d0f16d53
CRs-Fixed: 1069408
2016-10-03 16:43:16 -07:00
qcabuildsw
4759877dbf Merge "Release 5.1.0.28K" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:21:56 -07:00
Service qcabuildsw
bf189c2985 Merge "qcacld-3.0: Enable gExtScanEnable by default" into wlan-cld3.driver.lnx.1.1-dev 2016-10-03 15:16:50 -07:00
qcabuildsw
2cafbf0384 Release 5.1.0.28K
Release 5.1.0.28K

Change-Id: Ida143b9dae3ed0bd12c29626899df302fd4668f4
CRs-Fixed: 688141
2016-09-29 19:22:49 -07:00
Arif Hussain
8fba6693aa qcacld-3.0: Enable gExtScanEnable by default
INI support to enable/disable extscan is added recently and
by default it is disabled. Make it enable by default.

Change-Id: I4cd10915aa0d99db233bf8813e15abfc49539594
CRs-Fixed: 1071385
2016-09-29 19:22:48 -07:00
Agrawal Ashish
467dde4b12 qcacld-3.0: Implement vendor command to avoid freq in SAP
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which ask the driver
to restart the SAP if SAP is on unsafe channel.
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY is used to send
driver to restart SAP device if SAP is on any unsafe channels.
Upon receiving this command, driver will restart the SAP device
if SAP is operating on any of one the unsafe channels.

Change-Id: I187a6e0c9f3eaa96c740e50c332a7aba5796dc74
CRs-Fixed: 998048
2016-09-28 21:21:54 -07:00
Agrawal Ashish
21ba257842 qcacld-3.0: Implement vendor command for STA ROAM POLICY
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about
sta roam policies about dfs mode and unsafe channels.
QCA_NL80211_VENDOR_SUBCMD_STA_CONNECT_ROAM_POLICY sends
QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE &
QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN
attributes to driver to skip scan channels for station
connection or roaming.
If QCA_WLAN_VENDOR_ATTR_STA_DFS_MODE is disabled, station will skip
dfs channels in scanning.
If QCA_WLAN_VENDOR_ATTR_STA_SKIP_UNSAFE_CHAN is disabled, station
will skip unsafe channel in scanning.

Change-Id: I33dfa174d218a2f39fec3ffc240dad793b72b14b
CRs-Fixed: 999169
2016-09-28 21:21:07 -07:00
Agrawal Ashish
6563461fa7 qcacld-3.0: Implement vendor command for ACS policy
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which informs the driver about the
ACS policy.
QCA_NL80211_VENDOR_SUBCMD_ACS_POLICY is used to inform driver about
ACS policies.
QCA_WLAN_VENDOR_ATTR_ACS_DFS_MODE attribute tells if DFS channel
should be enabled or disabled in ACS.
QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL attribute provides channel number to SAP
module to skip ACS and use this channel as operating channel.

Change-Id: I1ba69ed8fdf1c56a90e857054c725b830293d6bf
CRs-Fixed: 997433
2016-09-28 10:14:15 -07:00
qcabuildsw
727ffac40b Release 5.1.0.28J
Release 5.1.0.28J

Change-Id: I24dc5796f1be474c13cc81c5650690477375b1e8
CRs-Fixed: 688141
2016-09-28 09:41:00 -07:00
Krunal Soni
499d364340 qcacld-3.0: Fix dwell-time when 2G-SAP is active and DBS is supported
Old generation of projects, which had only one MAC, are restricted to
use 28ms of fix active and passive dwell time when SAP session is active
but with new generation of projects, which can have two MACs, are
permitted to use longer active and passive dwell time when SAP session
is active on 2G band and DBS is supported.

Change-Id: I2638d9b7a3677c3f0b329ed8109d01baa2cffd68
CRs-Fixed: 1071353
2016-09-28 09:40:21 -07:00
Krunal Soni
5c39016d59 qcacld-3.0: Update CFG after taking intersection of INI & hw caps
Current driver is updating HT & VHT RX LDPC cap in CFG based on INI
only which is not correct.
Take the intersection of INI items and hw caps for HT & VHT RX LDPC and
update the CFG accordingly.

Change-Id: Ibef165b61c2242d8fec6da7f7a2ce3e8d5c5aa11
CRs-Fixed: 1069659
2016-09-28 09:38:53 -07:00
Krunal Soni
df0f8742c0 qcacld-3.0: Refactor few APIs related to updating config in HDD
Refactor following HDD APIs to match coding standard:
hdd_update_vht_cap_in_cfg
hdd_update_ht_cap_in_cfg
hdd_update_config_dat

Change-Id: I0da05cad92a558aa4ca5dc585d80adb3a8ea9f1e
CRs-Fixed: 1069659
2016-09-28 09:37:54 -07:00
Krunal Soni
6c7c39fd27 qcacld-3.0: Reorganize VHT caps from hdd_update_config_dat API
Reorganizing VHT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: Id9b514590185f331c7437d5e20259b14411a40dc
CRs-Fixed: 1069659
2016-09-28 09:36:56 -07:00
Krunal Soni
52198e44db qcacld-3.0: Reorganize HT caps from hdd_update_config_dat API
Reorganizing HT caps from hdd_update_config_dat API before refactoring
it.

Change-Id: I3ec667873952f1a4f2ce8414960b7d936fc93d90
CRs-Fixed: 1069659
2016-09-28 09:35:08 -07:00
qcabuildsw
71c0c2b698 Release 5.1.0.28I
Release 5.1.0.28I

Change-Id: I6b4301cad3754dc7cda85f49f7aaebb0896e6a73
CRs-Fixed: 688141
2016-09-27 20:14:06 -07:00
qcabuildsw
4a03c3c1ed Release 5.1.0.28H
Release 5.1.0.28H

Change-Id: I00b5dcc0bf86e7b829cef4703821103ea8f8ffd8
CRs-Fixed: 688141
2016-09-26 15:04:21 -07:00
Yuanyuan Liu
f97e822df4 qcacld-3.0: Use PLD API to get SOC serial number
Socinfo API is not a standard system API. Hence, use PLD API to get
SOC serial number instead of calling socinfo API directly to enhance
driver portability.

Change-Id: I1d673d2f3b0066f4e05f2f465abc8a6cad7a1f8f
CRs-Fixed: 1069480
2016-09-26 15:04:21 -07:00
qcabuildsw
8716fb891b Release 5.1.0.28G
Release 5.1.0.28G

Change-Id: I3b13a9f1c856b13ac5e0a45134b7b74f08cd4f0e
CRs-Fixed: 688141
2016-09-26 14:05:16 -07:00
Naveen Rawat
3ca7483971 qcacld-3.0: Fix NSS being sent to firmware
Send NSS value to firmware in update_nss as received from AP
in OTA frame, VHT Operation notifcation IE.

Change-Id: Iad92cc3ce634b69397666f574917b5254a73dcda
CRs-Fixed: 1070224
2016-09-26 14:05:13 -07:00
qcabuildsw
994d423a61 Release 5.1.0.28F
Release 5.1.0.28F

Change-Id: I6fa4708d7bbb66697dfb8c486ae2703c50afc79d
CRs-Fixed: 688141
2016-09-26 12:24:27 -07:00
Selvaraj, Sridhar
9a9266eac5 qcacld-3.0: Start BSS on operating band based on ACS hw mode
qcacld-2.0 to qcacld-3.0 propagation.

Currently, SAP start's on 2.4ghz channels on detecting unsafe
channels even though operating band ACS hw mode is configured
on 5ghz channels.

Fix is to start BSS on band based on ACS hw mode

Change-Id: I210937b4b464c408d5a22c348c028fa9a11b2142
CRs-Fixed: 1005327
2016-09-26 12:24:26 -07:00
qcabuildsw
ff259891b0 Release 5.1.0.28E
Release 5.1.0.28E

Change-Id: Ied6f8ee4c84b71ead829d89cdef74a71b6fccb46
CRs-Fixed: 688141
2016-09-26 04:49:41 -07:00
Komal Seelam
498a0cd665 qcacld-3.0: Optimize WoW Wakelock usage in Runtime PM
propagation from qcacld-2.0 to qcacld-3.0.

FW sends NACK for WOW command to indicate Host to abort on going
suspend. Host prevents suspend by holding a wakelock for 1sec.
The wakelock prevents APPS supsend, but doesn't have impact on
Runtime PM. Hence Skip Holding Wakelock when NACK is recieved
in Runtime PM.
And Log the runtime stats when link resume fails.

Change-Id: I6d9385565c6d06a082e226d5211c733d124bd3a7
CRs-Fixed: 1053252
2016-09-26 04:49:41 -07:00
Komal Seelam
78ff65a8c6 qcacld-3.0: Add NL event to indicate SSR shutdown is triggered
propagation from qcacld-2.0 to qcacld-3.0.

On Dual-WiFi Platforms, Radio Device 1 (R1 - SDIO interface) should
be functional only if Radio Device 0 (R0 - PCIe interface) is active.
If SSR is indentified on R0, indicate userspace application to unload
R1 on this event and Reload R1 once R0 SSR and reload is complete.

CRs-Fixed: 1046397
Change-Id: I8a06b569fe536bb93dbb37bdb289295bfce62f6e
2016-09-26 04:49:39 -07:00
qcabuildsw
e492bfefbf Release 5.1.0.28D
Release 5.1.0.28D

Change-Id: I15e10bc6e2c7bbdde44b9d8cd4b4f57e7816a2d5
CRs-Fixed: 688141
2016-09-25 21:47:25 -07:00
Archana Ramachandran
31b5b65aba qcacld-3.0: Reduce the log level of p2p scan messages
Change the log level of p2p scan messages from error
to correct log level since they are not error messages.

CRs-Fixed: 1069559
Change-Id: I68d5f6addc53e76536a989cfa7bf131f20b8dcd2
2016-09-25 21:47:25 -07:00
qcabuildsw
e95a6cbb1b Release 5.1.0.28C
Release 5.1.0.28C

Change-Id: I1288b3692e9f713fc6482b7631f21192765a8ab6
CRs-Fixed: 688141
2016-09-24 13:03:51 -07:00