Commit Graph

12542 Commits

Author SHA1 Message Date
Vidyullatha, Kanchanapally
528789e7ac qcacld-3.0: Implement cfg80211 abort scan API
qcacld-2.0 to qcacld-3.0 propagation

There is no support for cfg80211 abort scan API,
so implement the cfg80211 abort scan API.

Change-Id: I4632c1b4770e6b2f301d67f37005585aef401ab6
CRs-Fixed: 930870
2016-06-24 14:30:50 -07:00
Kiran Kumar Lokere
666bf8591b qcacld-3.0: Add support for NSS configurability
qcacld-2.0 to qcacld-3.0 propagation

Add support for NSS configurability per vdev type
- Configure the 2g and 5g NSS with the INI value of
each vdev type
- Program the HT and VHT IE to FW for 1x1 and 2x2 mode,
FW will include them in scan probe request frames

Change-Id: I5cbf17a14ab6becad6cf5765ae5039fc284dc309
CRs-Fixed: 869026
2016-06-24 14:30:50 -07:00
Manishekar Chandrasekaran
d79c4e6cfa qcacld-3.0: Sanitize SAP context before extracting the handle
Ensure that the SAP context is sanitized before extracting
the global handle. The context passed in the callback could
be freed by the time it is accessed.

Change-Id: I4a08717abce2a0ecbe4055360fd8d31c3e50a701
CRs-Fixed: 1031855
2016-06-24 14:30:50 -07:00
Manishekar Chandrasekaran
f7a1dad7e0 qcacld-3.0: Validate SAP context before access in callback
Ensure that the SAP context is validated before access in
its callback. The global SAP context is now an array of
contexts rather than a single global context to help
validate the session. Increasing the SAP open session
timeout helps to configure all the commands to the FW and
helps to further avoid any crashes.

Change-Id: I6f722dcc4ab671fef010c816a7c7d38fc1bdebe4
CRs-Fixed: 1031855
2016-06-24 14:30:50 -07:00
Mahesh A Saptasagar
c35e8bf4a2 qcacld-3.0: Send disconnect event to upper layers upon disconnect
Indicate disconnect event to nl80211 and thereby to the supplicant
by invoking cfg80211_disconnect upon disconnect as kernel 3.11 onward
releases will not indicate the same to upper layers.

Call to cfg80211_disconnect also signifies whether disconnect is
triggered by the supplicant or received from the AP by setting the
"from_ap" flag accordingly.

qcacld-2.0 to qcacld-3.0 propagation

Change-Id: I55028533ebbf03910755da1b35c2fa57d97ce43b
CRs-Fixed: 1016872
2016-06-24 14:30:49 -07:00
Nirav Shah
da008344a6 qcacld-3.0: Enhance data path related statistics
Enhance data path related statistics
- Add per reason pause time
- Enahnce TSO stats
- clear DPTRACE buffer

Change-Id: Ia59fa5ba326504eb54e14d44f42a335c6b835ee4
CRs-Fixed: 1017437
2016-06-24 14:30:49 -07:00
Rajeev Kumar
4002e5b1c4 qcacld-3.0: Send wow wake event bitmap properly to fw
As part of WMI convergence wow wake event bitmap is sent wrongly
as enable/disable flag to fw. Fix WMA API to send wake event bitmap
properly.

Change-Id: I3b752c365e09f08104fa871c29e2629c1873b3fc
CRs-Fixed: 1033129
2016-06-24 14:30:49 -07:00
Kabilan Kannan
36090ce8b4 qcacld-3.0: Add TDLS connection tracker in WLAN host
TDLS implicit trigger mode works based on data traffic without
user intervention. When the traffic meets setup threshold,
TDLS connection is initiated and when the traffic
reaches a teardown threshold/rssi TDLS connection
is torn down.
Add TDLS connection tracker in the host driver to determine,
when to initiate and teardown the TDLS connection based
on data traffic.

Change-Id: I995ea9c391372515faabe5086b638f254b6b93d7
CRs-Fixed: 996988
2016-06-24 14:30:49 -07:00
Krunal Soni
2e48d01f44 qcacld-3.0: Populate extended caps coming for each phy to UMAC
Read TLVs for each PHY per each HW MODE coming as part of service
ready extension event and decode them and store them in wma_handle for
later use.

CRs-Fixed: 1029145
Change-Id: I302ad442f660feb795d7a8f1353b5d820d26aac8
2016-06-24 14:30:49 -07:00
Krunal Soni
aa664da4af qcacld-3.0: Derive HT and VHT caps from given per PHY cap
loop through each mac's cap per hw mode and derive final
ht cap and vht cap by either taking MIN or MAX value based
on the engineering requirement.

For backward compatibility reasons, if firmware doesn't
give any TLV for extended caps then use legay HT and VHT cap
values.

CRs-Fixed: 1029145
Change-Id: I3ad9b474c281f3dd371eb2b88b71e8af59fcd66d
2016-06-24 14:30:49 -07:00
Krunal Soni
09e5503fe7 qcacld-3.0: Don't set operating channel before ROC gets finished
Vendor cmd(QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL) in supplicant
has been designed to notify the driver about operating channel right after go
negotiation is completed, so that driver can get going with HW mode
change little ahead of time before the change iface/add iface req comes
down from supplicant for the CLI role. But it looks like the cmd is
coming even before RoC cancellation is done for the completed
negotiation. So, this delays the HW mode change req in FW as FW thinks
the scan (on going RoC) is not complete yet. As a result it waits for the RoC to
finish before entertaining the HW mode change req.

To fix this situation, don't set probable operating channel till RoC
gets finished.

CRs-Fixed: 1025390
Change-Id: I8b3df2259f71cf51b8ffc8b9a50edad7fea81d13
2016-06-24 14:30:49 -07:00
Varun Reddy Yeturu
101f954b16 qcacld-3.0: Include appropriate auth info for roaming
In case of CCKM, the host is not passing specifics as to whether
it is WPA or RSN proto type which would be needed for the
firmware to do a proper LFR3 roaming. So, pass the necessary
information to the firmware and also ensure the backward
compatibility is still maintained with LFR2.0.

CRs-Fixed: 1020291
Change-Id: I220d2c1909a44fd7edb46127daec1165fca71ebe
2016-06-24 14:30:34 -07:00
Vishwajith Upendra
5a3b9b6299 Release 5.1.0.12
Release 5.1.0.12

Change-Id: I84c2045bca3ae8775e6afbc1abeb6eec73488be7
CRs-Fixed: 688141
2016-06-23 12:28:29 -07:00
Houston Hoffman
e248264ce4 qcacld-3.0: Add context checking in epping_disable
epping_disable needed to check that contexts were
not null before trying to perform the disable opperations.

Change-Id: Ia8182b1deed1a6a1d2643f91660880fb52450e3d
CRs-Fixed: 1027691
2016-06-23 12:28:26 -07:00
Rajeev Kumar
769d982071 qcacld-3.0: Remove redundant spam logs from BMI
BMI is logging every read/write in driver log buffer which
is leading to driver buffer overrun. Remove redundant log
messages from BMI such that driver log buffer can store more
useful control path log messages.

Change-Id: I7e21a9199b42cdbc60c3207ecf9d705e0a151da8
CRs-Fixed: 1031927
2016-06-23 12:28:22 -07:00
Sandeep Puligilla
394da5dde7 qcacld-3.0: Enhance logging related to scan
Enhance debug information related to scan results
like adding SSID and time stamp of beacon in logs

Change-Id: Ib85dffff39d0db69a695e8167b6a221b51ef7d45
CRs-Fixed: 1013236
2016-06-23 12:28:18 -07:00
Sandeep Puligilla
1cc23f6e37 qcacld-3.0: Obtain channel params from CDS
All the regulatory and channel management functionality
moved to CDS.

Cleanup the SME redundant functionality related to channel
parameters generation and update all the code references
to CDF API's

Change-Id: Iaf4e15b4ebb7107d8bbf7a54e42f9ea9358dcdaf
CRs-Fixed: 994562
2016-06-23 12:28:15 -07:00
Jeff Johnson
0c1301d1fe qcacld-3.0: Convert wlan_hdd_stats.c to unified logging
Currently the HDD code uses a variety of logging APIs.  In qcacld-3.0
HDD should converge on a unified set of logging APIs.  Update
wlan_hdd_stats.c to use the unified set of APIs.

Change-Id: I32c2bc3755b42693947a38808e510683b9477b44
CRs-Fixed: 937687
2016-06-23 12:28:11 -07:00
Mohit Khanna
43f433d719 qcacld-3.0: Add USB bus support (CDS, Utils, SAP)
Add Module specific changes for USB bus support for qcacld3.0.

Change-Id: Idb9fe1232d451e4f88a001fbd6591ba13b0c859a
CRs-Fixed: 1023663
2016-06-23 12:28:04 -07:00
Mohit Khanna
841044f9c0 qcacld-3.0: USB bus support (Corestack)
Add corestack specific changes for USB bus support.

Change-Id: I1d0813f70280618c0502db6e67233054726c3c17
CRs-Fixed: 1023663
2016-06-23 12:28:01 -07:00
Poddar, Siddarth
b61cf643e2 qcacld-3.0: Add hdd tx-rx apis for High Latency systems (Part 5 - HL Datapath)
Support per vdev tx desc pool in hdd and
for sending 802.11z action frames.
CRs-Fixed: 975526
Change-Id: Ic63e07abdabae9795bba6f76daa954235c894245
2016-06-23 12:27:58 -07:00
Poddar, Siddarth
5a91f5bdec qcacld-3.0: Add wma apis for High Latency systems (Part 4 - HL Datapath)
Initialize bad peer tx control data structure in WMA,
send down the initial configuration info to fw and
configure the peer status update setting in the tx_rx module.

CRs-Fixed: 975526
Change-Id: Ib380e10a0b343b6a8f9c2c0bf6d6dd602d2601c5
2016-06-23 12:27:54 -07:00
Siddarth Poddar
b2011f6435 qcacld-3.0: Add txrx apis for High Latency systems (Part 2 - HL Datapath)
Add tx schedular module, tx classify module within the data SW,
tx frame queues logging,  group credit support and
send-recieve tx frames instance for HL system.

CRs-Fixed: 975526
Change-Id: If1655d4d832f88e565ab946ef9e9719f256ab7b1
2016-06-23 12:27:50 -07:00
Siddarth Poddar
1df1cd85b4 qcacld-3.0: Add htt apis for High Latency systems (Part 1 - HL Datapath)
Add support for HTT instance creation, initialization and
deletion, Host -> Target and Target -> Host HTT messages
exchange, receive and transmit aspects of HTT.

CRs-Fixed: 975526
Change-Id: Ie66a83b6efe216df192b033c9d137a93fdce688f
2016-06-23 12:27:43 -07:00
Ryan Hsu
b736bc55f2 qcacld-3.0: Fix regression in the sched_scan interval value
In Kernel commit 3b06d27 ("cfg80211: Add multiple scan plans
			  for scheduled scan")

The interval in the sched_scan plan request is changed to second.
Driver needs to do the conversion to msec before set to firmware.

Also, driver can only support one sched_plan so far, so set this
back to wiphy and adds sanity check when request comes to driver.

Change-Id: Id725f2726e1caafe48c6b76d59a24f71ffa01af6
CRs-fixed: 1029203
2016-06-23 12:27:39 -07:00
Abhishek Singh
1c67622020 qcacld-3.0: Set wlan phy mode in OEM channel info response
qcacld-2.0 to qcacld-3.0 propagation

Calculate and add wlan phy mode for each channel in OEM channel
info response.
Also send ANI_MSG_PEER_STATUS_IND indication for STA mode when
STA gets connected.

Change-Id: I91363e90698cabda72028135eb7fe9adeb1fbc86
CRs-Fixed: 1007004
2016-06-23 12:27:37 -07:00
Amar Singhal
a5bd9e8c27 qcacld-3.0: Fix issues in channel bonding APIs
Fix calculation of sec_ch_offset. Also fix the check for
HT40 flag to calculate the channel BW. Also fix check for
secondary channel.

CRs-Fixed: 1022025
Change-Id: If37780ea64698ab616131a550cd877368c56faa6
2016-06-23 12:27:34 -07:00
Gupta, Kapil
96c7f2f620 qcacld-3.0: Add support for adaptive dwell scan time
Dwell time can be modify based on channel congestion per scan
request.
Add changes to enable firmware to use scan control flag and
select dwell time optimization algorithm based on ini values.

Change-Id: Iea3de57c1b7d087442e4b8984b4184d24bb8c930
CRs-Fixed: 994443
2016-06-23 12:26:44 -07:00
Abhishek Singh
7a995582d6 qcacld-3.0: Change struct of EVENT_WLAN_SECURITY diag event
qcacld-2.0 to qcacld-3.0 propagation

Currently for diag event EVENT_WLAN_STATUS, diag
structure only allocates 6 bytes for ssid, though
ssid can be upto 32 bytes.

Also for diag event EVENT_WLAN_SECURITY, event id is
filled as PTK and GTK req/rsp for unicast and broadcast
req/rsp. PTK,GTK request doesn't make sense for wep case.

As a part of change, increase ssid size to 32 and replace PTK,
GTK req/rsp event id with Unicast, Broadcast req/rsp respectively.

Change-Id: I5aad1875262dd73878cc8393d09de1b23953d3a2
CRs-Fixed: 921847
2016-06-23 12:26:41 -07:00
Kiran Kumar Lokere
92b1fcaab9 qcacld-3.0: Fix the regression in join failure processing
Set the correct link state in join failure processing so that
WMA processes the request and sends the vdev stop when the join
failure happens.

Change-Id: I4e5ddcbd7e7b2b0141904410adb66f228dab0046
CRs-Fixed: 1020982
2016-06-23 12:26:38 -07:00
Krishna Kumaar Natarajan
1b909d7d51 qcacld-3.0: Fix out of bound memory copy in WMA
Fix out of bound memory copy by allocating buffer for
required size.

When WMA structures are converted into wmi_unified_param
structure, required memory was not allocated and hence
invalid memory was referenced resulting in stack corruption.

Change-Id: I868300cba9326b0146d3afadc9fef6337877d58d
CRs-Fixed: 1024437
2016-06-23 12:26:31 -07:00
Krishna Kumaar Natarajan
294da81dec Revert "qcacld-3.0: 11ac 160MHZ support workaround"
Revert the change merged while adding 160MHz support.

RM 5.0 FW was not handling phymode VHT20/40 in 2G correctly which
was resulting in an assert. This revert will now enable host to
associate in VHT20/40 modes in 2G. This change will revert
the Change-Id: I7e7f1a9c1ff82a567f278987dbbe14c5c8b9bb2e

Change-Id: If0f8fb71413e0aeb5d355c5bbb1f0626a18b8d6f
CRs-Fixed: 1014267
2016-06-23 12:26:28 -07:00
Vishwajith Upendra
9e25bc9e5f Release 5.1.0.11
Release 5.1.0.11

Change-Id: I4a03c1be30d4efeffc8987d310bf6f862cb896da
CRs-Fixed: 688141
2016-06-21 14:32:04 -07:00
Houston Hoffman
5649db91a8 Revert "qcacld-3.0: Refactor WMA data commands to fix WIN compilation"
This change reverts Change-Id:I48978e51ca6bd4416420ee66746d5bfe7adae3c9

Change-Id: I97bd7e1c9977c061f138d3415d2d7d756b401582
CRs-Fixed: 1008872
2016-06-14 14:55:16 -07:00
Manikandan Mohan
7579337abf qcacld-3.0: Fix compilation error in 4.4v Kernel
Fix compilation errors in Kernel 4.4 version.

Change-Id: I08ce390a7983cfe70b46a48d22d6cfde11dc4c30
CRs-fixed: 1026152
2016-06-14 14:28:50 -07:00
Manikandan Mohan
b6315dd6ab qcacld-3.0: Setup datapath for WISA mode
Setup datapath for WISA mode based on WISA CFG80211 vendor command.

Change-Id: I488ae908f04b007be12a3850d432bff314c03ebd
CRs-fixed: 997798
2016-06-14 14:28:47 -07:00
Nirav Shah
2e583a0344 qcacld-3.0: Datapath changes for WiSA specification
Datapath changes for WiSA specification.
- Multicast packets with 50000 as destination
  port should go at 6Mbps.
- Multicast packets with 50001 as destination
  port should go at 24Mbps.

Change-Id: Ic219f58f3e8b2f6863a275928429153defe63b5a
CRs-Fixed: 1010412
2016-06-14 14:28:44 -07:00
Nirav Shah
1da7768385 qcacld-3.0: Remove PROTO_TRACE feature
Remove PROTO_TRACE feature and add MGMT packet
logging in DPTRACE.

Change-Id: I9bc019bb03e703cb8044cb5d4290fd438b1c3e69
CRs-Fixed: 1008087
2016-06-14 14:28:41 -07:00
Nirav Shah
0d58a7ef5f qcacld-3.0: Enhance DPTRACE to support RX path
Enhance DPTRACE to support RX path and
add support for live mode.
Live mode will print info in kmsg and
log it in buffer as well.
To enable live mode use below command.
iwpriv wlan0 dump_dp_trace 1 0

Change-Id: Id309a4d75cec93654b4acac51e5be42eae7f0b35
CRs-Fixed: 1008087
2016-06-14 14:28:38 -07:00
Nirav Shah
cc1f1ae340 qcacld-3.0: Add ini support for DPTRACE
Add ini parameter and feature flag for
DPTRACE to enable/disable as per requirement.

Change-Id: I80db65adb7b8e82d5ea75cceac742fd229d7a2b5
CRs-Fixed: 1008087
2016-06-14 14:28:36 -07:00
Nitesh Shah
0ddd4f656a qcacld-3.0: HS20 indication element support
HS20 Indication element parsing is added to indicate
release number of the HS20 passpoint that is present
in Hotspot configurations.

Change-Id: I8671d569d3809ebe5da7233ec862ae2569f5c109
CRs-Fixed: 1019592
2016-06-14 14:28:33 -07:00
Govind Singh
6a2fe03b7b qcacld-3.0: Add PLD layer for SDIO bus(Part 7 - HIF SDIO)
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

Change-Id: I7591761d2a2be0e22fcad13a504e9fe5f92b9608
CRs-Fixed: 1015316
2016-06-14 14:28:30 -07:00
Komal Seelam
92fff91248 qcacld-3.0: Get WLAN MAC address from CNSS platform driver
OEM's has provision to update cnss platform driver with the mac address.
Modify wlan functional driver to query cnss platform driver for the mac
address.

If the cnss platform driver is not populated with valid mac address, driver
will fallback to use the existing approach to update mac address.

Change-Id: I0b4bb53047eba3af8b98aadfae22974558153cb5
CRs-Fixed: 985585
2016-06-14 14:28:27 -07:00
Govind Singh
ec7ad72102 qcacld-3.0: Refactor WMA data commands to fix WIN compilation
Refactor WMA data commands to remove dependency of WMA header files
in common wmi layer.

Change-Id: I48978e51ca6bd4416420ee66746d5bfe7adae3c9
CRs-Fixed: 1008872
2016-06-14 14:28:24 -07:00
Yuanyuan Liu
f7aea120bf qcacld-3.0: Re-organize header file including structure
Include pld_common.h in pld_internal.h as it uses data structures
defined in pld_common.h.

CRs-Fixed: 1022636
Change-Id: I17f8abfbec08b620be5af677e1599554c5fc7ea6
2016-06-14 14:28:20 -07:00
Yuanyuan Liu
5e25f531b5 qcacld-3.0: Provide common functions of adding/deleting dev node
Provide common functions of adding/deleting dev node from PLD
global context. These two APIs should be called in probe/remove
callback functions.

CRs-Fixed: 1023650
Change-Id: Iff8157ab4396266ffb013700076d4107a3a21566
2016-06-14 14:28:17 -07:00
Yuanyuan Liu
59f81e020e qcacld-3.0: Add PCIE/SNOC wrapper functions in PLD
It is not flexible to call CNSS/ICNSS APIs directly in pld_common
as PCIE and SDIO share some CNSS APIs. It will introduce "duplicate
definition" errors when SDIO is added. Hence, add wrapper functions
for all used CNSS/ICNSS APIs.

CRs-Fixed: 1022778
Change-Id: I6a38434cfa99fc47543e995dd82b7d8ddc4453a7
2016-06-14 14:28:14 -07:00
Yuanyuan Liu
11f526acba qcacld-3.0: Use PLD internal flags
Use PLD internal flags in PLD layer instead of using CNSS/ICNSS
kernel flags.

CRs-Fixed: 1018099
Change-Id: Id32c62ccd1749ef5a38fd11aba6ce6e4fbe84a6e
2016-06-14 14:28:12 -07:00
Yuanyuan Liu
25c66e1ac9 qcacld-3.0: Add CONFIG_PM flag for PLD pcie suspend/resume
Add CONFIG_PM flag for PLD pcie suspend/resume as it is not needed
in other platform when CONFIG_PM is not defined.

Change-Id: Iab04d15c81cbb94ccbdeb9be2b00fa069a421a86
CRs-Fixed: 1014363
2016-06-14 14:28:08 -07:00
Himanshu Agarwal
a6cedee349 qcacld-3.0: Change unsigned long to uint64_t
Change unsigned long to uint64_t while updating intra bss forwarded
packets count to make sure that the assignment is compatible for all
architectures.

Change-Id: I6bc0e2d7524c117ce199b4a373f541fd06fc9ef8
CRs-Fixed: 996735
2016-06-14 14:28:06 -07:00