Commit Graph

1267 Commits

Author SHA1 Message Date
Himanshu Agarwal
82972fd824 qcacld-3.0: CL 1513397 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Define 2 sub-CCKM auth types
Deprecate WOW_NAN_RTT event and reason, and use their values
for WOW_OEM_RESPONSE

Change-Id: I0db10a599f4bbbdf23e5968fa5dab59b722efa30
CRs-Fixed: 865207
2016-06-23 12:27:12 -07:00
Himanshu Agarwal
e93c55ec42 qcacld-3.0: CL 1511668 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Fix union in WMI_MAC_PHY_CAPABILITIES
WMI changes to control transmit power for beacon frames

Change-Id: I4acd731ec8850766d4d47715ff78b813281d0b6a
CRs-Fixed: 865207
2016-06-23 12:27:06 -07:00
Himanshu Agarwal
a143815200 qcacld-3.0: CL 1509574 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Vdev level rx filter of from-ds / to-ds / no-ds / ta / ra
frames.

Change-Id: I63ee1aeb2eba793e3a06c2632f43ea044ba33422
CRs-Fixed: 865207
2016-06-23 12:27:03 -07:00
Himanshu Agarwal
800d58d7c8 qcacld-3.0: CL 1509448 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Merge WMI_VDEV_VOW_ENABLED flag
Add a new config to set preferable audio during WLAN connection

Change-Id: I86ed461a5d3d6d7f48e5ce2eb9370771a619d667
CRs-Fixed: 865207
2016-06-23 12:27:00 -07:00
Himanshu Agarwal
b953a26894 qcacld-3.0: Add place holder enums for new feature
Add place holder enums for new feature under development.

Change-Id: I3af426b0120e46e56bc0e2ff2831a471016d30e1
CRs-Fixed: 865207
2016-06-23 12:26:58 -07:00
Himanshu Agarwal
b0497b5f39 qcacld-3.0: CL 1507516 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

Add dbglog IDs for ARP and DHCP packets
WMI CMDID for dbglog time stamp sync
Move reason code from wmi to nan_msg.h

Change-Id: I2e6e837fade375ef86c0c4247490b44ec502be1b
CRs-Fixed: 865207
2016-06-23 12:26:55 -07:00
Himanshu Agarwal
134b73687b qcacld-3.0: CL 1506155 – update fw common interface files
Propagation from qcacld-2.0 to qcacld-3.0

WMI bandwidth fairness peer configuration command message
definition.

Change-Id: I8023e8a4f9758d6003a3f666cc45c1e98265c01a
CRs-Fixed: 865207
2016-06-23 12:26:51 -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
e42bb17c5a qcacld-3.0: Disable FEATURE_MEMDUMP in Kbuild
Disable FEATURE_MEMDUMP in Kbuild.

FEATURE_MEMDUMP should be redesigned appropriately for
cld-3.0. Disable this feature until implementation is
complete.

Change-Id: I3190414ff32d8a75b07c2c311e257f4d388ef26d
CRs-Fixed: 1026747
2016-06-23 12:26:33 -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
Poddar, Siddarth
3e9fa5c0ec qcacld-3.0: Add hdd layer changes for HL (Part 6 - HIF SDIO)
Add sdio bus type to PLD bus type to map it to low level bus type.

CRs-Fixed: 969334
Change-Id: Icfccca604f71b1d3b6cedcc9fa6300e9cc14f4c3
2016-06-14 14:28:04 -07:00
Manjunathappa Prakash
c8e756412e qcacld-3.0: Enable DEBUG_Rx_RING_BUFFER to keep track of posted buffers
This enables the tracking of posted rx ring buffers. With this we can
identify if host/fw is wrong when we hit below issue:
"wlan: [0:E :QDF] rx hash: htt_rx_hash_list_lookup: no entry found for"
<physical address>

Change-Id: Ib973a2e2a69e881beddea23cdc1d2d994eeb1e12
CRs-Fixed: 864569
2016-06-14 14:28:02 -07:00
Manjunathappa Prakash
92db771024 qcacld-3.0: Do not modify vdev Rx callback in peer (de)init functions
Do not reset vdev->rx callback in peer modification functions, same vdev
corresponds to multiple peer.
Without this TDLS handshake fails, vdev->rx null callback function
results in dropping of datapath packets.

Change-Id: I39b51d2596cde494bee888009583a42f12a3f068
CRs-Fixed: 1024298
2016-06-14 14:27:59 -07:00
Poddar, Siddarth
ef1f30228f qcacld-3.0: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform.
Refactor fw and bmi download routines to get rid of compile
time bus specific macro.
Refactor allocation and free routines for high latency bus.

CRs-Fixed: 969334
Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
2016-06-14 14:27:55 -07:00
Poddar, Siddarth
27b1a60e64 qcacld-3.0: Add datapath layer changes for sdio bus (Part 4 - HIF SDIO)
Remove bus specific calls from data path layer.
Add sdio specific target address
Add sdio bundling rates in datapath layer.
Fix rx data callback for UMP system.

CRs-Fixed: 969334
Change-Id: I0cd45479ca89b97455b4a9c71ce326646f38a5f3
2016-06-14 14:27:53 -07:00
Govind Singh
d5a7bcd155 qcacld-3.0: Add INLINE macro definition in os API header
FW common files needs to be in sync with host and fw.
Latest version of FW interface file uses INLINE macro and
INLINE macro definition is not exposed by fw interface files
as it has different definition of INLINE for different
toolchains/compilers. Abstract INLINE macro definition in
os API header file.

Change-Id: I431b12ce7f880e2f0e8db244f230c64f59e12e42
CRs-Fixed: 1012542
2016-06-14 14:27:47 -07:00
Manishekar Chandrasekaran
db9b86747f qcacld-3.0: Check validity of the adapter before access
Fix errors reported by static source analysis tool by
validating the adapter to make sure it is not NULL
before access.

Change-Id: I312da3ebf6913e5b8999a9ad9dc4eaa6ae08234b
CRs-Fixed: 1027065
2016-06-10 11:30:58 -07:00
Manishekar Chandrasekaran
c67b2bb16c qcacld-3.0: Restart SAP through (E)CSA on channel avoidance event
Restart SAP through (E)CSA on receiving channel avoidance event
from FW instead of doing a hard restart. This provides the
advantage of not disconnecting the connected clients.

Change-Id: Ibaa74dc8d7c75ed793faa418ee8c179b4210b35e
CRs-Fixed: 1020771
2016-06-10 11:30:54 -07:00
Yuanyuan Liu
9736118d7e qcacld-3.0: Add NULL check for qdf_ctx
Add NULL check for pointer qdf_ctx as it returned from call to
function 'cds_get_context' may be NULL and could be dereferenced.

Change-Id: Iea44cd1a2d20ee04d1720c4e8af1065320a589fd
CRs-Fixed: 1024778
2016-06-09 22:14:39 -07:00
Ryan Hsu
50da826021 qcacld-3.0: Add check to avoid NULL pointer access
nlmsg_put might return NULL if the tailroom is insufficient
to store the nl message. Add the check to avoid the NULL
pointer access.

Change-Id: I01f88262e7cf84cd611c8f72a11577e61e7af1a3
CRs-fixed: 1024810
2016-06-09 22:13:26 -07:00
Dhanashri Atre
5166d573eb qcacld-3.0: Higher 32 bits in the dma address are ignored
In TSO the higher bits in the 64 bit dma address are being ignored.
This is resulting in an incorrect address being programmed in the
fragment descriptor.

Change-Id: Id015e81212d2ded3f0716ca5cc06ae2220952270
CRs-Fixed: 1024169
2016-06-09 22:10:03 -07:00
Yuanyuan Liu
1348108467 qcacld-3.0: Return error code when any of bus register failed
Return error code when any of bus register functions failed.

Change-Id: I3cdc6afaa3899f1c32ab85fec5b89fa2e736d7b8
CRs-Fixed: 1023647
2016-06-09 22:09:57 -07:00
Manishekar Chandrasekaran
ec26759fc8 qcacld-3.0: Correct channel parameters during channel switch notification
Correct the channel parameters that are calculated and used to indicate
the channel switch notification sent to user space. The channel bonding
values should not be used to get the channel width information since
they can be used only in STA mode to enable or disable the channel
bonding. Fix the same by getting the updated channel switch information
from the session entries.

Change-Id: Ia51779cddb2b9c3108b211822f104c45f88e53fd
CRs-Fixed: 1021380
2016-06-09 22:09:51 -07:00
Leo Chang
07b28f6878 qcacld-3.0: enable hsoffload feature
Enable HS offload feature against latest kernel and ipa release.
Compile against latest ipa header is required.

Change-Id: I704bdfde098de6e33fb6b30455a75cb6a6cddb21
CRs-fixed: 1019762
2016-06-09 22:09:46 -07:00
Manishekar Chandrasekaran
44e334fb7e qcacld-3.0: Sort ACS channel list for all channel width cases
Ensure that the channel list used for ACS channel selection
is sorted for all the possible channel width cases. In the
current implementation, channel list sorting is not done for
channels widths 80, 80+80 and 160MHz. Along with this the
ACS channel range is getting set before the 11ac override,
leading to incorrect hardware mode. Fix the same by setting
the ACS range after 11ac override and ensure that channel
list is sorted in all the valid channel width cases.

Change-Id: Ic773b3a4b1c049bc2053c1d0d17dd047d7a88324
CRs-Fixed: 1022304
2016-06-06 18:45:32 -07:00
Komal Seelam
9764a840a6 qcacld-3.0: Configure SSDP address to FW as WoW pattern or MC list
Incoming Data packets are filtered by FW during WoW based on the pattern
configuration done by host.

The incoming packet is filtered out to Multicast list if configured,
else it looks for other patterns that are configured.

SSDP pattern is not configured along with Multicast List, instead it
is configured as a normal WoW pattern during system/runtime suspend.
So, all the ssdp packets are dropped by FW during WoW.

To address this, host should configure the SSDP pattern as a Multicast
filter if Multicast filter is enabled in ini, else configure it as a
normal WoW Pattern. Hence the fix.

Change-Id: I64aa30832999a779591bdfce02e13545a6cbf4f2
CRs-Fixed: 1010542
2016-06-06 18:45:30 -07:00
Himanshu Agarwal
5ac2f7bef9 qcacld-3.0: Refactor intra bss forwarded packets count
Propagation from qcacld-2.0 to qcacld-3.0.

Initially, when a packet is forwarded from txrx layer, it is added in
count only once although the count should increase by 2 as there is one
rx packet and one tx packet that is not getting considered in the hdd
packet count.

Add code to ensure that when packet is forwarded from lower layers,
it get considered accurately in the packet count.

Change-Id: I47bc1e0ecfa2e831438534cf34d37086a306b4e9
CRs-Fixed: 996735
2016-06-06 18:45:27 -07:00
Himanshu Agarwal
8c66df3699 qcacld-3.0: Remove error print from kmsg
Propagation from qcacld-2.0 to qcacld-3.0.

Remove error print from kmsg as this print is unnecessary and
may flood the kmsg.

Change-Id: I0978f88af6677cb0c1e1db5eae7e5d6a69bd4b70
CRs-Fixed: 997243
2016-06-06 18:45:25 -07:00
Himanshu Agarwal
11c874abae qcacld-3.0: Add intra bss forwarded packets count
Propagation from qcacld-2.0 to qcacld-3.0.

In lpm qos voting, no. of packets or bytes sent or received in a
particular amount of time is recorded and decision of disabling
or enabling lpm is done based on that. These packets are recorded
in HDD layer. In case when packets are forwarded to tx only, packets
don't come upto HDD layer and so in case of intra bss forwarding,
lpm qos voting is not being executed appropriately.

Add code to calculate the intra bss forwarded packets in txrx layer
and update them in calculating lpm qos voting.

Change-Id: I805663688cb300c8735b3e2f9680818a7b50bc9f
CRs-Fixed: 990868
2016-06-06 18:45:21 -07:00