Commit Graph

1298 Commits

Author SHA1 Message Date
Nirav Shah
f099e5e180 qcacld-3.0: Handle multiple map/unmap handler for same peer_id
Handle multiple map/unmap handler from firmware
for same peer_id. Firmware sends map/unmap event
per copy engine enabled for RX path.

CRs-Fixed: 1009289
Change-Id: Id8b0c27920a7aae95ddd4cff26731de85248457e
2016-06-01 10:45:58 -07:00
Kiran Kumar Lokere
9d41f61a0c qcacld-3.0: Send the correct phy mode in SAP+STA mode
In STA+SAP concurrency case the SAP channel is changed to due
to concurrency operation. Since the new channel params are not
updated in sap context, the old channel params are sent to WMA,
hence the PHY MODE is passed as UNKNOWN to FW.

Set the channel params when the SAP operating channel is changed
due to concurrent operation.

Change-Id: I8ac503a1b8993401b6fbdc247872539b72901564
CRs-Fixed: 1014368
2016-06-01 10:45:42 -07:00
Amar Singhal
046eb8a260 qcacld-3.0: Fix calculation of WLAN_PHY_MODE
Fix the calculation of WLAN_PHY_MODE from dot11mode and channel width.
Take care of all possible values of dot11mode and channel width.
Remove the usage of vht_capable parameter. Also remove the
un-necessary usage of CONFIG_160MHZ_SUPPORT.

Change-Id: Ibc263aed99b0b948f60ac6f1bfe72d16fda5c20e
CRs-Fixed: 1009720
2016-06-01 10:45:19 -07:00
Govind Singh
df35f3ef5e qcacld-3.0: Abstract delta code of fw common to respective layer
FW common files needs to be in sync with host and fw.
Abstract extra definition of hia map internal to hif layer.
MSI_NUM_REQUEST is incorrectly overwritten, keep the original
change as MSI_ENABLE is false across all target versions.
These changes are incorrectly added in following change id.
Iced029073c2db9eb175adcebcad9163ab39443a9.

Change-Id: Ie38666f315067ae40676e3bdac9238e4b52e6be1
CRs-Fixed: 1012542
2016-06-01 22:12:43 +05:30
Peng Xu
62c8c43b42 qcacld-3.0: Address return code handling and code cleanup
In Tx power scaling implementation, there are places where return
code is not handled properly and some code formatting needs cleanup.
This change address these issues.

CRs-fixed: 1013097
Change-Id: I3bafde8c046487cc1a80de22348c21f6d835efb5
2016-05-23 11:47:03 -07:00
Varun Reddy Yeturu
21953a2f64 qcacld-3.0: Disable early stop feature as per config
If early stop feature is disabled in the configuration,
then let the firmware know to disable it.
There is no WMI item to let firmware know about disabling
the feature explicitly.
Hence, set the roam_earlystop_thres_min and roam_earlystop_thres_max
to zero which the firmware uses to disable the feature.

CRs-Fixed: 1017635
Change-Id: I122677ee3d73403748091832ec52cbc3f17500d6
2016-05-23 11:46:58 -07:00
Varun Reddy Yeturu
a9c259402e qcacld-3.0: LFR2.0: Fix to transition the roaming state
Fix the regression caused by the patch-set 5 of change-id
I56e8441f08dec180f080c305ba5c6541302f107c, where the API
to transition the roaming state,
CSR_NEIGHBOR_ROAM_STATE_TRANSITION has been replaced by
another API csr_neighbor_middle_of_roaming.

CRs-Fixed: 1017545
Change-Id: Icc30faf2816dcb8b6858fe1c80deb942d255ebfd
2016-05-23 11:46:56 -07:00
Varun Reddy Yeturu
986cd65e73 qcacld-3.0: Remove obsolete config items Part 1
Remove unused configuration items

CRs-Fixed: 1014978
Change-Id: I4c41de218033055bebb6bcdb5bde77ec028b3381
2016-05-23 11:46:53 -07:00
Varun Reddy Yeturu
f64252ab9f qcacld-3.0: Fix incorrect logic to disable hi_rssi feature
qcacld-2.0 to qcacld-3.0 propagation

Fix incorrect logic to disable hi_rssi feature.
Both hi_rssi_scan_rssi_delta and neighborLookupThreshold are
positive values. Ideally it should be checked if the current
AP is better than the HI_RSSI threshold and then disable
the feature. The HI_RSSI threshold is the difference
between the lookup threshold and the hi_rssi delta.

CRs-Fixed: 1014859
Change-Id: I6980927b25c34b9b4d8ac13c22e93abc4ec500ec
2016-05-23 11:46:50 -07:00
Varun Reddy Yeturu
7fc616d09a qcacld-3.0: Disable HI_RSSI_SCAN in few scenarios
qcacld-2.0 to qcacld-3.0 propagation

The HI_RSSI_SCAN feature is only meant to address the
scenario where user walks into a home which has dual band
AP and the 2.4G AP is visible initially and then the 5G AP
is visible later.
Disable the HI_RSSI_SCAN feature in the following cases:
1. Connection is a roaming connection
2. Connection is made with a 5G AP
3. Connection is made with a 2.4G AP, but the rssi is
   stronger than the hi_rssi_lookup_threshold

CRs-Fixed: 975401
Change-Id: I86c63d9f8b51b6bdccc804163241ffe5640baf4d
2016-05-23 11:46:46 -07:00
Varun Reddy Yeturu
ff4feb0a0e qcacld-3.0: Cleanup NCHO commands
Aggregate all the handlers of NCHO configration update
commands into a single routine

CRs-Fixed: 1007810
Change-Id: I9722dbead499f14f3969a85a20baf74aa03efff2
2016-05-23 11:46:41 -07:00
Yuanyuan Liu
6a313dcb16 qcacld-3.0: Get FW file names from PLD
Get FW file names from PLD.

CRs-Fixed: 1014363
Change-Id: I332cba76a3338eed27d37244bd9351ece99dcd97
2016-05-23 11:46:38 -07:00
Abhishek Singh
3e6172f91e qcacld-3.0: Reset the global reg params during wiphy unregisteration
qcacld-2.0 to qcacld-3.0 propagation

After boot when driver is loaded for the first time, driver call
the regulatory_hint with default country.

From kernel 3.18 onward regulatory_hint removes the
REGULATORY_CUSTOM_REG flag from wiphy flags. But once reg notifier
is called for the country the wiphy flags are restored from the
original flags stored in driver.

Now if driver is unloaded and loaded again, kernel calls the reg
notifier for the last country set by driver before unload.

In static drivers the global static flag init_by_driver will remain
true even after unload and load and thus init_by_reg_core is not set
to true when kernel calls the reg notifier. Thus driver ends up
sending reg hint to kernel with same country, this reg hint removes
the REGULATORY_CUSTOM_REG flag from wiphy flags and is dropped in
the kernel as country has not changed. As reg notifier is not
called for the reg hint and wiphy flags are not restored.

To avoid changing of wiphy flags, reset the global static reg params
during wiphy unregisteration.

Change-Id: I01b29a2314ab4192e6bc9076978d54762a85c9e8
CRs-Fixed: 1003390
2016-05-23 11:46:26 -07:00
Abhishek Singh
f512bf3377 qcacld-3.0: Reset wifi flag when wifi is turned off with static driver
qcacld-2.0 to qcacld-3.0 propagation

In case of static driver, upon wifi turn off module exit
doesn't happens. Module exit helps in cleanup of static memory.

If driver is loaded statically, at the time of driver unload,
wiphy flags are not cleared because of static memory.
Fix it by removing channel type as static.

Change-Id: I198ea87da3d160716a8c1c04b879ecb7c6f63180
CRs-Fixed: 944530
2016-05-23 11:46:22 -07:00
Abhishek Singh
23edd1cfa9 qcacld-3.0: Reduce the info level logs in STA/SAP
qcacld-2.0 to qcacld-3.0 propagation

Reduce the info level logs in STA/SAP

Change-Id: I5918ea8e9dd2f7654e5a994ad366f92d2ca3cd77
CRs-Fixed: 988195
2016-05-23 11:46:16 -07:00
Abhishek Singh
10ecf58dc6 qcacld-3.0: Add INI params to set edca min, max and aifs params
qcacld-2.0 to qcacld-3.0 propagation

Add INI params gEdcaVoCwmin, gEdcaViCwmin, gEdcaBkCwmin,
gEdcaBeCwmin, gEdcaVoCwmax, gEdcaViCwmax, gEdcaBkCwmax,
gEdcaBeCwmax, gEdcaVoAifs, gEdcaViAifs, gEdcaBkAifs and
gEdcaBeAifs to control edca params for STA mode.

These params will overwrite the values from AP only if
gEnableEdcaParams is set.

Change-Id: I1e688a67df320208416aba4ca40fd870a947e3be
CRs-Fixed: 996685
2016-05-23 11:46:12 -07:00
Yuanyuan Liu
1373850b01 qcacld-3.0: HDD: Use PLD APIs (Part 2)
Replace CNSS/ICNSS APIs with PLD APIs for PCIE/SNOC.
SDIO/USB changes need to be done separately by adding
SDIO/USB support in PLD

Change-Id: I0d2446e57922254369b7e7ca69d900006f7a7e28
CRs-Fixed: 1000113
2016-05-23 11:46:06 -07:00
Yuanyuan Liu
0e0aa93d32 qcacld-3.0: Use PLD APIs
Replace CNSS/ICNSS APIs with PLD APIs.

Change-Id: Ic0be1ff00dd7b4fc0b125e625f5d3977f4580c5e
CRs-Fixed: 1014363
2016-05-23 11:45:57 -07:00
Yuanyuan Liu
d416dbd274 qcacld-3.0: Remove platform dependency for crypto
Use OS standard crypto APIs instead of platform wrapper APIs.

CRs-Fixed: 1014363
Change-Id: I359b50890ec757c294cac405b46881b44881e8c8
2016-05-23 11:45:52 -07:00
Yuanyuan Liu
eaa6b6ef56 qcacld-3.0: BMI: Use PLD APIs
PLD is a interface between CLD and CNSS/ICNSS. It hides
CNSS/ICNSS APIs from CLD and provides a set of common APIs.
CLD modules should use these PLD APIs instead of calling
CNSS/ICNSS platform APIs.
Replace all CNSS/ICNSS APIs with PLD APIs in BMI.

CRs-Fixed: 1013853
Change-Id: I1e244ec9f9fd604a9b231b6ff1085f7b6b4bab22
2016-05-23 11:43:53 -07:00
Vishwajith Upendra
7f17ee7515 Release 5.1.0.9
Release 5.1.0.9

Change-Id: I41569dd88864ae943b6b3c777be582c698440cdd
CRs-Fixed: 688141
2016-05-20 17:13:10 -07:00
Houston Hoffman
fff7b2333b qcacld-3.0: Use hif_hw_version for chip versions
Remove duplicate chip version #defines.

Change-Id: Ic869aefb0949eb03b9b359f35810e1ba43a19d80
CRs-Fixed: 1012824
2016-05-19 11:05:08 -07:00
Akash Patel
91edc816eb Release 5.1.0.8
Release 5.1.0.8

Change-Id: I4b7992267b8fc832bf42ea3d10bd18c6d028b371
CRs-Fixed: 688141
2016-05-18 16:35:15 -07:00
Mohit Khanna
043efbd6ae qcacld-3.0: Fix race condition between tx traffic and peer deletion
A race condition has been observed between outgoing TX traffic and
peer deletion when DUT has concurrent SAP(DBS) and STA sessions in 5G
and 2G respectively and the peer connected to SAP moves away triggering
peer deletion at DUT. Due to peer being deleted, the vdev corresponding
to the peer is void which results in a crash in ol_tx_data function
while trying to send Tx data.

Fix crash by checking for a null vdev in ol_tx_data.

CRs-Fixed: 1012681
Change-Id: Id0aab4b1f03ed24dfb55e09fa1a115edfdfcce84
2016-05-18 16:35:10 -07:00
Anurag Chouhan
fbaefe270f qcacld-3.0: CL 1501516 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Addition of CBF stats for 160MHZ

Change-Id: I85b034967b9dc5b140472d864de3ec5aea83eda7
CRs-Fixed: 865207
2016-05-18 16:35:01 -07:00
Anurag Chouhan
b36db51a55 qcacld-3.0: CL 1501755 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

NAN Data Path WMI changes DATA END and CONFIRM messages

Change-Id: I6edaff37931db83d057e1ddb1e9952e2b0dc87aa
CRs-Fixed: 865207
2016-05-18 16:34:57 -07:00
Anurag Chouhan
86eab9be3d qcacld-3.0: CL 1498085 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

WMI changes to handle action frames of different category in WoW mode

Change-Id: Icbf9ad7cac93dd75ddb976a0f781e20b60201896
CRs-Fixed: 865207
2016-05-18 16:34:47 -07:00
Anurag Chouhan
2d5c12c8e0 qcacld-3.0: CL 1496762 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

WMI service flag for half-rate + quarter-rate support

Change-Id: I6109a2e5f347c88f7696dadfe85a8ca4364cb0d7
CRs-Fixed: 865207
2016-05-18 16:34:39 -07:00
Anurag Chouhan
cc474b7665 qcacld-3.0: CL 1494723 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Add WMI interface changes to send buckets_scanned bitmask per each scan
cache entry that is sent when WMI_EXTSCAN_GET_CACHED_RESULTS_CMDID

Change-Id: I284e6044c713c48dd3887852e1d1f6e8f85439a7
CRs-Fixed: 865207
2016-05-18 16:34:34 -07:00
Anurag Chouhan
b3fa7a1d57 qcacld-3.0: CL 1492713 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

WMI changes for adaptive dwell time scan.

Change-Id: Ibdd1bdd607b3acac5d55312ee2595c32892c89b5
CRs-Fixed: 865207
2016-05-18 16:34:24 -07:00
Anurag Chouhan
90c1a18590 qcacld-3.0: CL 1491974 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation

Add new WMI event for tx power stats.

Change-Id: Ic14b1c3c3538f5e1a62b69535c27108152f7076d
CRs-Fixed: 865207
2016-05-18 16:34:19 -07:00
Anurag Chouhan
0e13ab0b1f qcacld-3.0: CL 1490576 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Add new TLV tx_time_per_tpc_extended which is array of A_UINT32
to support tpc_levels more than MAX_TPC_LEVELS in
wmi_radio_link_stats_event_fixed_param Migrating Timekeeper debug
log identifiers into the NaN module.

This change set also includes dbglog id change from CL 1440161.

Change-Id: I127bb10c989c0d7ee8a0f9cc9c57e2c824017165
CRs-Fixed: 865207
2016-05-18 16:34:14 -07:00
Anurag Chouhan
08f66c6ad3 qcacld-3.0: CL 1489600 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

NAN Data path interface revamp to support backward compatibility

Change-Id: I3bf01c32d6423326fbb25db42d527ac7854f23d8
CRs-Fixed: 865207
2016-05-18 16:34:09 -07:00
Nirav Shah
9bf81570ab qcacld-3.0: Free body of message in deferred queue during unload
Free body pointer of messages pending in deferred
queue during driver unload to avoid memory leak.

Change-Id: I73e0e3f675728aa653c2c4f5d2291c260b339987
CRs-Fixed: 1003001
2016-05-18 16:34:00 -07:00
Nirav Shah
ed34b21226 qcacld-3.0: Dynamically allocate hdd_txrx_hist
qcacld-2.0 to qcacld-3.0 propagation.

Dynamically allocate hdd_txrx_hist to reduce size
of HDD context and avoid order 4 memory allocation
from kernel.

Change-Id: I04dd8f3cdb7f401fb761262bd34b0a2177f6097f
CRs-Fixed: 950790
2016-05-18 16:33:54 -07:00
Nirav Shah
9591970720 qcacld-3.0: Do not allocate large chunk of memory for rx hash
qcacld-2.0 to qcacld-3.0 propagation.
Do not allocate single large chunk of memory for rx hash
to avoid memory allocation failure. This change uses array
of pointers to reduce single large chunck of allocation.

Change-Id: I2aa7239be924b63c87f1044a74176a101d952108
CRs-Fixed: 954302
2016-05-18 16:33:49 -07:00
Nirav Shah
76291969a5 qcacld-3.0: Add logic in host to detect msdu_id duplication
Add logic in host to detect if host is using
musdu_id which is already in use.

CRs-Fixed: 929428
Change-Id: I10413ed4b5b76e16211aa0cbb9012cfb8f26cae0
2016-05-18 16:33:43 -07:00
Nirav Shah
617cff9d7f qcacld-3.0: Add logic to log pause/unpause time
Add logic to calculate pause and unpause time for
network queues to debug data path issues.

Change-Id: I825b10837d999384a91ca3c2271e472a71fd8863
CRs-Fixed: 999861
2016-05-18 16:33:38 -07:00
Nirav Shah
6a4eee661c qcacld-3.0: Add histogram for MSDUs per RX indication
Add histogram for MSDUs per HTT RX indication
message and update drop counters in RX path.

Change-Id: Ia861f6cd3d6a91f01a07f9bc4e2bc3afcf62c8f2
CRs-Fixed: 999861
2016-05-18 16:33:32 -07:00
Govind Singh
9db91ba92c qcacld-3.0: Add target bus type field in qdf context
Add target bus type field in qdf context, as bus type
needs to accessed at multiple layer.

Change-Id: I62b23d68743fedf205bb3859c0de50568ca09b7a
CRs-Fixed: 1009993
2016-05-18 16:33:28 -07:00
Manikandan Mohan
80dea79636 qcacld-3.0: Add WISA feature handling
Add support to enable WISA feature using QCA_NL80211_VENDOR_SUBCMD_WISA
and do scan blocking on WISA mode interface.

Change-Id: Ief105310fb71779b1a8c1d580408a489cad9977e
CRs-fixed: 997798
2016-05-18 16:33:19 -07:00
Anurag Chouhan
05d05fe52d qcacld-3.0: CL 1488100 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Add support for scenario debug logging
WMI changes to control WISA features of firmware from host.

Change-Id: I01d96c423b6241248242aa2feae6887d8f202691
CRs-Fixed: 865207
2016-05-18 16:32:25 -07:00
Anurag Chouhan
798fa4a38f qcacld-3.0: CL 1485676 - update fw common interface files
qcacld-2.0 to qcacld-3.0 propagation.

Add MAC phy, Hardware mode, soc mac hardware, soc hal reg capabilities.

Change-Id: I7ce118d5e9c4d762ef900dc4b9b0137a76e66091
CRs-Fixed: 865207
2016-05-18 16:32:04 -07:00
Varun Reddy Yeturu
5ab4746bc5 qcacld-3.0: LFR3: Store the last roam synch delay
1) Store the last roam synch delay incurred for the most
latest roaming instance.
2) Provide an ioctl "iwpriv wlan0 hostroamdelay" to fetch
the delay

CRs-Fixed: 1012891
Change-Id: Ibbfb8d17e68dcd84ca645ec3bccf25fd84acaa18
2016-05-18 16:32:00 -07:00
Varun Reddy Yeturu
e058ed35eb qcacld-3.0: Remove csr_neighbor_roam_prepare_non_occupied_channel_list
Remove unused routine
csr_neighbor_roam_prepare_non_occupied_channel_list

CRs-Fixed: 1007810
Change-Id: I072f08b179c87d3c182ae6577ac17e74b3862fce
2016-05-18 16:31:55 -07:00
Varun Reddy Yeturu
d1ecb4b070 qcacld-3.0: Remove csr_get_current_ap_rssi
Remove csr_get_current_ap_rssi which is not used

CRs-Fixed: 1007810
Change-Id: I2b9f82f64d2cd038abd61a0087886724daa19424
2016-05-18 16:31:51 -07:00
Varun Reddy Yeturu
5a1985a9f2 qcacld-3.0: Remove csr_neighbor_roam_offload_update_preauth_list
Remove csr_neighbor_roam_offload_update_preauth_list which is
unused currently after roam synch propagation optimization for
LFR3.0 has been done.

CRs-Fixed: 1007810
Change-Id: Icc8ef8a882813d980f05314cf07a379e607323ad
2016-05-18 16:31:47 -07:00
Varun Reddy Yeturu
5edadcc960 qcacld-3.0: Remove unused code of sending probe req template
Remove unused code of sending probe request template to
firmware which is a legacy code where Scan was not
completely offloaded to firmware.

CRs-Fixed: 1007810
Change-Id: I8c876bdb696f70452354f5f84b504b4a6564c479
2016-05-18 16:31:43 -07:00
Manikandan Mohan
5b1980ac9d qcacld-3.0: Send Auto shutdown cancel event
qcacld-2.0 to qcacld-3.0 propagation

Auto Shutdown cancel indication is needed to identify if a
driver is active in multi wlan radio platforms. Userspace
application processing auto shutdown event combines these events
from multiple drivers to arrive at system idle condition for
auto shutdown.

Change-Id: Icc51386bde58d3882e36ab09cd31a527b140a937
CRs-fixed: 1001128
2016-05-18 16:31:32 -07:00
Manjunathappa Prakash
ef45abaa6e qcacld-3.0: Fix lro dereg crash on driver unload
If lro_disable is called after  cds_close, which is the case
for module unloads, then many of the pointers used in dereg
sequence are NULL (CE_state, hif, txrx_pdev). There is a case,
when interfaces are removed, when these pointers are there.
Check pointers before using them in dereg code.
Update hif_map_service_to_pipe so that it will return E_INVAL if
the service is not in the table. Add logs for cases where either
leg information is not updated on return.

Acked-by: Orhan K AKYILDIZ <oka@qca.qualcomm.com>

Change-Id: I5b88a297134dcc1d7a6a68dd2a9879dfd1553a7e
CRs-Fixed: 1014428
2016-05-18 16:09:48 -07:00