Commit Graph

599 Commits

Author SHA1 Message Date
Houston Hoffman
a0e71066f3 qcacld-3.0: Fix rmmod for runtime pm
Runtime PM should be turned off before the driver is unloaded.

Change-Id: I8746e92931375893708556e77a3d93bfd6266668
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
746a571cf7 qcacld-3.0: Mark last busy in recieve for runtime pm
Scan was not going through.

Change-Id: I37d02a88e29da9c4fa756cc46fc812f10c58fe00
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
10a20bbdea qcacld-3.0: Prevent runtime suspend when linkdown not allowed
Runtime suspend does not save power in d0 mode.

Change-Id: I6bc83923a6384c3275b95bd0ffbb4404d9a3f86d
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
d92ae54ea1 qcacld-3.0: Log runtime suspend resume occurances
Keep track of how many times supesend resume succeeds and fails
also mark last busy on a failed runtime suspend or a successful
runtime resume.

Change-Id: I04df805429e3a9ce91bc3d7f27bfd598396257c9
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
b0ac63cf85 qcacld-3.0: Runtime puts for HTT messages
HTT messages do not have a tx complete and should
have their runtime puts done when the firmware response
come.  Tag messages without responses so that the
put can be done after issuing the message.  Also do
runtime put in error case.

Change-Id: I7253ace95ca6bb4fa17bc6d82ec52fc598d17712
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
1460fa326f qcacld-3.0: Runtime PM handling for htc messages
Check runtime pm status while sending messages.
Update runtime pm when sending messages to hif.
Update runtime pm when messages are tx completed.

Change-Id: I27840f57ff87d6d27b1e3611e7fe1f2cd933ddd0
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
e893708cb9 qcacld-3.0: Coordinate runtime suspend from hdd
HDD interfaces with the platform driver.  Runtime suspend
is a callback registered with the platform driver.  Coordinate
runtime suspend from hdd since it is both the logical entry point
and knows what other layers need to participate in a runtime suspend.

Change-Id: I80b71e504d0cd31bd5a8e47895db7e0bd233f6c3
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
a76591b583 qcacld-3.0: Provide wma runtime suspend resume apis
wma has to do some extra steps that were part of 802.11 suspend
for runtime suspend.

Change-Id: I91fbdcacd6c557f30e0d4f422324f2db67cb96dc
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
f2936d19bc qcacld-3.0: Provide hif runtime suspend resume apis
hif runtime suspend resume is identical to a regular bus suspend
resume, but provide a different api just in case this changes.

Change-Id: If069df7733d6a1ebe38d356ac5bdd4e2a250118b
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
47ee8ca308 qcacld-3.0: Introduce cdf_suspend_type
Introduce an enum for use by multiple layers to suspend slightly
differently when doing a runtime suspend versus a system suspend.

Change-Id: I753bbe909e53558fe592defdca021331ec6feb88
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
61b798b75d qcacld-3.0: Provide cdf apis for runtime suspend
Provide apis to allow and prevent runtime suspend.

Change-Id: I7604659d257823f436ff370715f421d58ce25d3a
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
d13fa735b2 qcacld-3.0: Add hif apis to prevent allow runtime pm
Support pm_runtime put/get/prevent/allow apis in hif layer.

Change-Id: I66be45de4177eeff3678b9ebd874c9bbde3cad22
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
a8ef6fb8c7 qcacld-3.0: Provide setters for pm_state to upper layer
Runtime pm opperations will be initiated in hdd, so hdd
needs an api to updated the runtime_pm state.

Change-Id: I783fc136777a56d8ea23f8b11617ebe92641221a
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
8eb73ed3ad qcacld-3.0: Add runtime pm initialization
Add runtime pm initialization, including the creation
of a debugfs entry.

Change-Id: Ib057feaf36a04bb525a731e236187c134449c5f2
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
5be9bac028 qcacld-3.0: Implement htc runtime suspend/resume
Provide the apis to suspend & resume the htc layer
for runtime suspend.

Change-Id: Ia4c4f00fa62b250c5097e6bc14137b0114c5c90f
CRs-Fixed: 935300
2016-02-08 15:50:41 -08:00
Houston Hoffman
345fa405a9 qcacld-3.0: Add dynamic wake event configuration
Want to dynamically enable and disable wakeup for
pno scan.

Change-Id: I95876979652ab16976f23561038c877cee4c930a
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Houston Hoffman
7260ecbc64 qcacld-3.0: Send one suspend indication message to wma
Send one suspend indication message to wma after configuring
all the offloads. Reduce context switches and complexity.

Change-Id: I020fc8864dbf7378805361d54dc6cff60b2652e5
CRs-Fixed: 935297
2016-02-08 15:50:41 -08:00
Krunal Soni
1878d3a2cc qcacld-3.0: Merge two sme & csr config structure in to one
SME holds config item in tCsrConfigParams structure as well as some of
the same items in tSmeConfigParams which makes tCsrConfigParams super
set of tSmeConfigParams. There are high chances if somebody misses
copying item from tSmeConfigParams to tCsrConfigParams and that will
result in config item not being set correctly.

In order to make it clean and easy, merge both config structure in one.

Change-Id: I8c93d9fae0986cb90b4ed4c4712b1e2b023b4be3
CRs-Fixed: 963752
2016-02-08 15:50:41 -08:00
Krunal Soni
ef3294b8e5 qcacld-3.0: Send the correct supported channel width in Assoc Resp
qcacld-2.0 to qcacld-3.0 propagation

Currently, if SAP supports 40Mhz, then it sends the supported
channel width as 40Mhz irrespective whether STA supports or not.

Changes done to check the STA capability for supported channel
width and send it accordingly in Assoc Resp

Change-Id: I58ca44b6998d4712521a10285b9fd2a3f825d2ed
CRs-Fixed: 728676
Signed-off-by: Krunal Soni <ksoni@qca.qualcomm.com>
2016-02-08 15:50:40 -08:00
Krunal Soni
1867f16018 qcacld-3.0: Fix checkpatch error in wlan_qct_sys.c
This patch is to fix the check-patch errors in wlan_qct_sys.c

CRs-Fixed: 824222
Change-Id: I99f5c2daad9d14fcc6a7ab24dee95810829eeaf4
2016-02-08 15:50:40 -08:00
Ryan Hsu
4252a2fc6f qcacld-3.0: clean up the WLAN_FEATURE_MBSSID flag (phase 1)
WLAN_FEATURE_MBSSID flag is originally added to support MBSSID,
specifically for the MOBILE ROUTER build, and is now enabled for all
builds, there is no longer needed to have a separate feature flag,
so that removing it.

This commit cleans up the following modules - cds/mac/sap/sme.

Change-Id: I79ad9767b7945af0c567b6294ac07e7697898e9e
CRs-fixed: 958154
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
3cc29cbc23 qcacld-3.0: Deactivate and clean up logging thread on driver load failure
This is qcacld-2.0 to qcacld-3.0 propagation

Deactivate and clean up the logging thread during driver load failure and
ensure that logging thread is not enabled for FTM mode

CRs-Fixed: 961865
Change-Id: I53f85a30f52fc5715705624bf515ab5e4666db8e
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
0c5441e64c qcacld-3.0: Avoid all module logging onto kmsg during driver load
This is qcacld-2.0 to qcacld-3.0 propagation

Avoid logging of all module logs into kmsg during the driver load
phase. All module log level is set much before setting of the
flag that indicates whether multicast logging is enabled or not.
Because of this all module log levels are getting printed for a
brief duration in kmsg during driver load. Fix the same by
setting the multicast flag appropriately so that when multicast
logging is enabled, all the logs are multicast to user space
and only the error and fatal messages continue to get logged in
the kmsg.

CRs-Fixed: 958705
Change-Id: I260e38ef64f704dfd9ca1ca4dc68c56428526559
2016-02-08 15:50:40 -08:00
Chouhan Lokesh
4e5521b52c qcacld-3.0: Prefer ini params logging preference over code preference
qcacld-2.0 to qcacld-3.0 propogation

Previously trace logging levels are set from cfg.ini for different
modules which again over written by code. Ultimately code logging
preference was taking place.

After changes if the log level for any module is set to DEFAULT(0xffff)
then only code logging preference will be used else cfg.ini logging will be
preferred.

CRs-Fixed: 875973
Change-Id: Ia3df86908cec1d5c487d614a418721c0cd98fc52
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
794a098c18 qcacld-3.0: Add new IOCTL to change SAP/P2P-GO's operating channel
Add new IOCTL 'CHANNEL_SWITCH' which is used to move the operating
channel of SAP/P2P-GO. This IOCTL is supported only for SAP/P2P-GO
and not for STA/P2P-GC.

E.g., format to issue command through wpa_supplicant:
DRIVER CHANNEL_SWITCH <CH> <BW>
- <CH> is channel number to move (1 for ch1, 149 for ch149 etc.)
- <BW> is bandwidth to move (20 for BW 20, 40 for BW 40 etc.)

Change-Id: Ie65f2ceb9ece04053ab32ee60f83fd09cd232f77
CRs-Fixed: 955368
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
a74bb024b1 qcacld-3.0: Accommodate channel bandwidth as input during channel switch
Add support to include channel bandwidth as one of the inputs to
decide the channel switch parameters. Currently only the target channel
is used as the input to decide the channel switch parameters. With this
fix, user specified channel bandwidth is also taken into consideration.

Change-Id: Ic49b24edde6cabc52aa2b38110763da82da6790d
CRs-Fixed: 955368
2016-02-08 15:50:40 -08:00
Chandrasekaran, Manishekar
dc351569d8 qcacld-3.0: Fix invalid operating class calculation during channel switch
Fix invalid operating class calculation while sending out channel switch
frames. The operating class is getting wrongly calculated using the
channel width instead of the channel offset. Fix this by calculating and
passing the channel offset parameter instead of the channel width to the
necessary function to ensure that the operating class gets calculated
correctly.

CRs-Fixed: 955414
Change-Id: I011db65e57c477e381fd471a4a930a02e2a7ee21
2016-02-08 15:50:40 -08:00
Kiran Kumar Lokere
999e58c920 qcacld-3.0: Remove the cb_mode usage in channel bonding
Remove the CB mode usage in channel bonding since the center
center frequency is calculated using channel width and channel
number.

Change-Id: Ie9685a833750bf3b69cce40c5d9587fb9b232047
CRs-Fixed: 962174
2016-02-08 15:50:40 -08:00
Varun Reddy Yeturu
d5939f8b45 qcacld-3.0: Optimize LFR3 roam synch propagation
The current roam sync propagation for LFR3.0 in the host driver is
based on queuing and message processing mechanism. This can lead
to many unknown sequence of operations as there might be other
messages sitting in the queue which may interrupt with this
operation. Hence, it would be good to introduce a callback mechanism
which take care of running the code to execution completely in case
of roam synch propagation.
It also improves to reduce the roam delay by 50 percent as compared
to the existing mechanism.

CRs-Fixed: 962290
Change-Id: I4af569b1e3020a64beb606e8bbffd7613775138f
2016-02-08 15:50:40 -08:00
Satish Singh
729d12f6a8 Release 5.0.0.157
Release 5.0.0.157

Change-Id: If54fac1194de693983bf4f0744fb11dfffdeb7ba
CRs-Fixed: 688141
2016-02-08 15:50:40 -08:00
Yue Ma
664effc92c qcacld-3.0: Fix potential memory leaks in SSR
qcacld-2.0 to qcacld-3.0 propagation

During SSR, since VDEV detach won't happen, some contexts saved in VDEV
may not get a chance to be freed. Add change to check these contexts
in SSR shutdown routine to make sure they are freed.

Change-Id: I36d12b3bb524ca107ece2441c1dc1d80293cb31b
CRs-fixed: 957587
2016-02-08 15:50:40 -08:00
Yue Ma
23d128364d qcacld-3.0: Save call stack for each memory allocation in SLUB builds
qcacld-2.0 to qcacld-3.0 propagation

Currently only one level of information (file name and line number of
the caller who wants to allocate memory) is saved when each memory is
allocated. This may not be able to provide enough information for some
cases that multiple levels of callers are the same. Hence save call stack
as well for each memory allocation in SLUB builds for debug purpose.

Change-Id: I245d53ec3805217ca34d7c1f5e31b84cac73e395
CRs-fixed: 930557
2016-02-08 15:50:40 -08:00
Govind Singh
24db1ed70b qcacld-3.0: Fix build failure in cds module
pRoamInfo is not initialized in cds_force_sap_on_scc function.
This is resulting in build failure when FEATURE_WLAN_FORCE_SAP_SCC
flag is enabled. Modify cds_force_sap_on_scc function to fix the same.

CRs-Fixed: 953618
Change-Id: I136d33f108dab19c236c7bf1aadf7608c0673baf
2016-02-08 15:50:40 -08:00
Prashanth Bhatta
915b9d342f qcacld-3.0: Use CDF APIs for spin lock
sched_scan_lock and connection_status_lock's are using spin lock
APIs directly from kernel. Change to use CDF APIs for spin lock.

Change-Id: I0f56624df34682150b402fc36b9dfdba36a598f3
CRs-fixed: 959287
2016-02-08 15:50:39 -08:00
Mahesh Kumar Kalikot Veetil
d43e165149 qcacld-3.0: Add backward compatibiilty to older FW
If DBS hwmode is not available from FW, return accrodingly in
wma_get_hw_mode_from_idx.

Change-Id: I603edd8a49bfd584300dcfc21c2b3c8c4c3c1892
CRs-Fixed: 934012
2016-02-08 15:50:39 -08:00
Houston Hoffman
616679618f qcacld-3.0: Revert merge conflicts in wma_suspend_req
wma_suspend_req is rewritten in changes
I020fc8864dbf7378805361d54dc6cff60b2652e5
and I95876979652ab16976f23561038c877cee4c930a

Revert "qcacld-3.0: Fix the PNO WoW is not configured in concurrency case"
This reverts commit 3bf7846a5ee12e0641f90b9ff05a80a068cde777.
Revert "qcacld-3.0: Cleanup WOW_NLO_SCAN_COMPLETE_EVENT"
This reverts commit 8098644b8cbf89f23442c5bef02f186460cd9f8f.
Revert "qcacld-3.0: Find extscan_in_progress irrespective of connected or pno"
This reverts commit 7bb7f564b75965bfbf09fef6b5406aaa19c245a7.

Change-Id: If0953ad7ca8d7224c87f026e77d1a3f256c4f124
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
7a39c0cb30 qcacld-3.0: Replace ServiceID with service_id
Removes cammel case.

Change-Id: I8107c9fa783bdec41468191315c901018f6fd05f
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
9e7c1c77c5 qcacld-3.0: Replace EndPoint with endpoint
This change also changes EndPointStats to endpoint_stats.

Change-Id: I88509901b0d15a59f35633dccbe7ca0b5f7b3b76
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
a2cdf2284e qcacld-3.0: Rename cdf_sched_work to cdf_schedule_work
The api is clearer without the abreviation. The api is
cleaner without an unused cdf_handle. Also remove
unnecessary cdf_schedule_work api.  cdf_create_work
is also cleaner without cdf_handle.

Change-Id: Id8c32596a92184d6768e2bc3210c308b44da2a57
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Houston Hoffman
f709c67be7 qcacld-3.0: Fix firmware assert completion handling
Hif needs to guarantee that it frees the buffers that it doesn't
pass to upper layers.

Change-Id: I816d0a1b19a5a0c00e9669c18dfdf427c102c911
CRs-Fixed: 958124
2016-02-08 15:50:39 -08:00
Houston Hoffman
6ccc86afd8 qcacld-3.0: Remove IHELIUM_BU flag
This flag supports depricated emulation hardware.
Remove conditionally compiled code and dummy functions
that become unused as a result.

Change-Id: Ie21df7e39b196109acfb6b41afc6b8c22fecb822
CRs-Fixed: 958120
2016-02-08 15:50:39 -08:00
Houston Hoffman
79b4af2999 qcacld-3.0: Define wma_is_vdev_in_beaconning_mode
Define wma_is_vdev_in_beaconning_mode to remove in function ifdefs.
Remove conditional compilation arround wma_is_vdev_in_ibss_mode calls.

Change-Id: I4b047d05088b5cbe51fa49818634fdd3a78e6b68
CRs-Fixed: 935297
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
24e12a6966 qcacld-3.0: Add config for the MCC restriction on Adrastea emulation
On M2M emulation platform we have a fixed mapping between macs, hence
vdev transition & MCC support is not possible on this platform. But MPR
platform doesn't have these limitations. This config allows at runtime
enable/disable vdev transition & MCC support depending on the platform
it is running on.

Change-Id: I17a92dce695ee30f7994f040d4bc612a38680f3e
CRs-fixed: 922181
2016-02-08 15:50:39 -08:00
Tushnim Bhattacharyya
4adb368b6a qcacld-3.0: cleanup cds_concurrency files
Code cleanup & update of correct copyright information.

Change-Id: Icee77761cf00cee3b633bd260d5af38286a4f22c
CRs-fixed: 956394
2016-02-08 15:50:39 -08:00
Ryan Hsu
e839f8f3fb qcacld-3.0: clean up hddLog API in wlan_hdd_green_ap.c
Clean up wlan_hdd_green_ap.c to use the unified hdd logging APIs.

Change-Id: If444137793895dea9b0e0ed894f238ac00363f2d
CRs-fixed: 959696
2016-02-08 15:50:39 -08:00
Srinivas Girigowda
110d620564 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirNsOffloadReq
Replace tSirMacAddr with cdf_mac_addr in tSirNsOffloadReq.

Change-Id: Ic53f963b3df46d67bf5f202ac6aaf7c49ab858a9
CRs-Fixed: 898864
2016-02-08 15:50:39 -08:00
Srinivas Girigowda
a9d12f1907 qcacld-3.0: Replace tSirMacAddr with cdf_mac_addr in tSirTdlsSendMgmtReq
Replace tSirMacAddr with struct cdf_mac_addr in tSirTdlsSendMgmtReq.

Change-Id: I0f545721d184c17b2d150df5435d51cd6ca7bf9e
CRs-Fixed: 898864
2016-02-08 15:50:39 -08:00
Hanumantha Reddy Pothula
b834021a5e qcacld-3.0: Process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state
qcacld-2.0 to qcacld-3.0 propagation

If ADDTS response timer is fired because of not receiving ADDTS RSP
within time then this timer handler posts SIR_LIM_ADDTS_RSP_TIMEOUT
command to LIM. But if deferring is enabled(say due to processing any
action frame) then SIR_LIM_ADDTS_RSP_TIMEOUT command will be added to
defer queue and as gLimAddtsSent is set to TRUE, including this
command all other defer commands will never be processed. This may
lead to active command timeout.
Hence process SIR_LIM_ADDTS_RSP_TIMEOUT command in defer state.

Change-Id: I48f09a7fd560702ac7701e0a1a41c77ad94626d4
CRs-Fixed: 919490
2016-02-08 15:50:39 -08:00
Rajeev Kumar
9c4809ee10 qcacld-3.0: Enable 11 AC TX compact feature for adrastea
Enable 11 AC TX compact feature for adrastea core to achieve
better TX throughput numbers

Change-Id: I4e66328e01a348ccf0e5519a62181e2aeeaa40fe
CRs-Fixed: 962336
2016-02-08 15:50:39 -08:00
Rajeev Kumar
217f217599 qcacld-3.0: Fix compilation issues on MSM8998 RUMI platform
Fix compilation issues on MSM8998 RUMI platform caused by
CONFIG_CNSS not being defined and un-initialized local variable usage.

Change-Id: Iaf8bec493a42ec9fd09e1b2b6aa085be8de4bc8a
CRs-Fixed: 959249
2016-02-08 15:50:39 -08:00