Commit graph

3,079 commits

Author SHA1 Message Date
Rajeev Kumar
bc19894820 qcacmn: Add QDF debug capability to track total SKB allocation
Enhance existing SKB leak debug capability to track total
SKB allocation by driver in SLUB debug enabled builds.

Change-Id: I6bb19ab482961febd8bb5adebe8f71e732ff60dd
CRs-Fixed: 2066205
2017-07-12 21:44:29 -07:00
Srinivas Girigowda
7dacc4efe3 qcacmn: Fix clang warnings implicit enum qdf_dma_data_direction
warning: implicit conversion from enumeration type 'enum
 qdf_dma_data_direction' to different enumeration type 'enum
 dma_data_direction' [-Wenum-conversion]

Change-Id: I181a448c48e8975025e67c2fc5ef44d3022ff1a0
CRs-Fixed: 2055513
2017-07-12 20:12:52 -07:00
Srinivas Girigowda
71a8dc51af qcacmn: WMI: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: Icc2d55626908b6e6448567b259af106e3314827e
CRs-Fixed: 2017427
2017-07-12 20:12:51 -07:00
Srinivas Girigowda
38ee305644 qcacmn: HTC: Reduce the log spam in kmsg
Move the logs to appropriate log levels to reduce
the log spam in kmsg.

Change-Id: I1a20a6b9e4c9de8c79517aafed70f0e7eea920fb
CRs-Fixed: 2017427
2017-07-12 20:12:50 -07:00
Srinivas Girigowda
43977f7e6d qcacmn: Fix kernel checkpatch warnings in QDF
Fix kernel checkpatch warnings in QDF.

Change-Id: Id2f54c6c436bde55b040012fbbe9922cb177461e
CRs-Fixed: 2028128
2017-07-12 20:12:49 -07:00
Srinivas Girigowda
4831049768 qcacmn: Fix clang compilation warnings
Fix clang compilation warnings.

Change-Id: If7d2d148f4d478d151640ee1a85ca64a9096cdd2
CRs-Fixed: 2055513
2017-07-12 20:12:48 -07:00
Sathish Kumar
09d4de8f98 qcacmn: Populate tx params tlv for mgmt and offchan tx WMI commands
Populate tx params tlv that includes information related to power,
chainmask, bandwidth mask, preamble type, frame type etc to the mgmt
and offchan tx WMI fixed param

Currently, we send the command with TX params valid set to zero always
and hence target does not look for the TX param TLV. This change
implements API to populate TX params TLV that facilitates configuration
of parameters per TX frame be it data or management frame

If the TX params valid is set to false, target decides the values
to use for each of the mentioned TX parameters

Change-Id: I90a1b5e1c9bf0a54a907876ed3629c2d627b3c98
CRs-Fixed: 2070454
2017-07-12 20:12:47 -07:00
Mohit Khanna
ed31227496 qcacmn: TSO - Fix ip_len for ipv6 packets
IP length is being calculated incorrectly for ipv6 packets during TSO.

Fix IP len to exclude IP header and include only the payload length
(TCP header + application payload).

Change-Id: I577e3da77e4cbfba0b76c0e5bce3700be2b70c19
CRs-Fixed: 2057055
2017-07-12 19:26:09 -07:00
Venkata Sharath Chandra Manchala
532cd5f161 qcacmn: Fix for Tx software descriptor leak
Release Tx software descriptor if access to ring
fails

Change-Id: I23152301b8042af402b9c605b69a2e68d9a0c85c
CRs-Fixed: 2042201
2017-07-12 19:26:08 -07:00
Dustin Brown
734cfbb2cb qcacmn: Enable wake event config for all device modes
There are several device operation modes that are not handled when
configuring wake events to firmware. Ensure all of the supported device
operation modes are mapped when configuring wake events to firmware.

Change-Id: I82042441bcc6810a4ef91a1a6996a758f7ef4736
CRs-Fixed: 2068814
2017-07-12 17:41:56 -07:00
Om Prakash Tripathi
2cd7fab473 qcacmn: create work queue to process htt stats
process htt stats in work queue context

Change-Id: Ibacc09e3921da2fa88173bc0cfdc2f0ced51cc68
CRs-Fixed: 2070977
2017-07-12 13:48:56 -07:00
c_cgodav
bd5b3c2c9b qcacmn: Add CDP APIs to get security type from peer handler
Add CDP API to get security type for ucast and mcast from
peer handler. Add additional peer handler argument for raw mode
rx decap functions. The peer handler is needed in the raw mode
functions for getting the security type of the frame and process
it accordingly.

Change-Id: I8b4728e9eb0ff29849805bb461c81e4fc3accc81
2017-07-12 12:55:50 -07:00
Frank Liu
a6e0694098 qcacmn: fix start modules fail on sdio card
When open sdio bus, "probed" will be checked and increased, but it's not
decreased in close sdio bus, so if driver goes through hdd_wlan_startup ->
hdd_wlan_stop_modules -> __hdd_open process, it will fail to open the sdio
bus and to bring up the interface.

The fix is to remove the static variable, since the check is trivial for
two reason:
1. driver control flow guarantee no re-enter;
2. if re-enter happen, it is no harm.

Change-Id: Ie701fb44732600440aa70ff28f62fe766d4271e7
CRs-Fixed: 2066582
2017-07-11 23:48:17 -07:00
Ashok Ponnaiah
150a294b8a qcacmn: Check keyidx in wlan_crypto_getkey for validity
Check keyidx in wlan_crypto_getkey for validity.

Change-Id: I6bac8e8382e8850b0736ba6d4b9722672001d969
2017-07-11 23:48:15 -07:00
Abhishek Singh
d5406a73da qcacmn: Fix memory overflow in wmi roam scan filter cmd
The length of buffer used to send wmi roam scan filter cmd is not
properly calculated and thus the length is less than the actual data
to be copied.

Fix it by properly calculating the length of the buffer.

Change-Id: I6a3baa5ca5560d2d04f9bd41a709a37abc1b95a9
CRs-Fixed: 2072057
2017-07-11 23:48:13 -07:00
Karunakar Dasineni
3da0811330 qcacmn: Fix REO stats prints
Split stats prints since they are truncated to 512 bytes due recent changes in
QDF_TRACE. Also flush REO queue descriptor cache after fetching stats to help
dumping from memory (for debugging).

Change-Id: Ie1d00766bd452d32cbc7085e95b66fb11bb9893c
2017-07-11 23:48:11 -07:00
Om Prakash Tripathi
a7fb93f83d qcacmn: configure different reo destination each pdev
Change-Id: Icb44f2edf69cd271f5f5b49b192d52a204fa0f3a
CRs-Fixed: 2067575
2017-07-11 23:48:09 -07:00
Sathish Kumar
8cc902e20e qcacmn: Enable SET_MGMT_RETRY_LIMIT pdev param for TLV based host
TX management retries is configured by host through pdev param sent
to the target. Populate pdev param enum to support configuration
of management retries during TX

Change-Id: I3f8b976ef089a0455481923ce18147f167733b14
CRs-Fixed: 2073391
2017-07-11 23:48:07 -07:00
Neil Zhao
cc51c79fb6 qcacmn: FR 42103 drop mgmt if rx RSSI's below set threshold
Management frames with RX RSSI lower than
user set value will be dropped.

CNSS-CODE-SCAN:: QUICLOST-196308:: Completed

Change-Id: I9af967703182513cb9a51ee96c0954b7d27eaacb
2017-07-11 23:48:05 -07:00
Pamidipati, Vijay
bea353e14c qcacmn: Set the Tx completion ring size to appropriate value
Size the completion ring using following 2 parameters
 - NAPI schedule latency (assuming 1 netdev, gmac, competing for CPU) = 20ms
								 (2 jiffies)
 - Worst case PPS requirement = 400K PPS
    Ring size = 20 * 400 = 8000

Change-Id: Iaac0b61f50b52a4e824c3c8ef5d980adf455854c
CRs-Fixed: 2068155
2017-07-11 23:48:03 -07:00
Pamidipati, Vijay
f82fb2b8f7 qcacmn: Add support to process v2 fw2wbm completion structure
FW has moved to using v2 HTT_FW2WBM message format for Tx completions
Add corresponding change on Host.
Add missing code to free Tx descriptors for few HTT completion types
Also change the descriptor pool lock to spinlock_bh since transmit path
and completions typically run in tasklet/softirq context

Change-Id: I024d44243f95907f19086225f0f02a5cd64f4508
CRs-Fixed: 2068155
2017-07-11 23:48:00 -07:00
Abhijit Pradhan
ca7d77b408 qcacmn: Fill per psoc regulatory info
Move per psoc regulatory info from pdev level function to psoc
level function.

Change-Id: Id06c6fee110ce929925f568db3a3b507214294d5
CRs-Fixed: 2066122
2017-07-12 12:08:42 +05:30
Abhijit Pradhan
cc5597b3d2 qcacmn: Add "reg_" prefix to regulatory static functions
Add "reg_" prefix to regulatory static functions.

Change-Id: Idf9beff4c2aa25c1429f52caabe4228599942d84
CRs-Fixed: 2065940
2017-07-10 09:37:01 -07:00
Amar Singhal
331a5a6e7c qcacmn: Correct CTL value for world reg-domains
Assign CTL_NONE to WORLD 2GHz/5GHz regdomain.

Change-Id: I346c136947083f5e00407a3d91651c6fd071aa1d
CRs-Fixed: 2048784
2017-07-10 09:36:59 -07:00
Amar Singhal
3162e0daad qcacmn: Modify reg-domain to pdev level
In worst case, different pdevs can be in different countries and
hence different reg-domains. Also there could be differences due
to front-haul and back-haul.

Change-Id: Ib9e998b5f7de4e42a1736d07e9e5602d8506e7b6
CRs-Fixed: 2048784
2017-07-10 09:36:58 -07:00
Varun Reddy Yeturu
3c38ca8bcf qcacmn: Increase scan ageing init value for emulation
Increase the scan ageing timer value from 30 seconds
to 90 seconds for the initializer
SCAN_CACHE_AGING_TIME

Change-Id: I0131ab601de9c86b89449bddd721ac857862a5b5
CRs-Fixed: 2072461
2017-07-08 23:41:12 -07:00
Arif Hussain
23473930ae qcacmn: Add more channel flags in nol logic
Add more channel flags support in nol channel
marking logic.

Change-Id: I2c931fec773c2f6138fff8ee757c4c99b056d56d
CRs-Fixed: 2069388
2017-07-08 23:41:10 -07:00
Naveen Rawat
7b62aff6c7 qcacmn: Add Passphrase and Service Name parameter to NDP cmds
Add Passphrase and Service Name to NDP initiator request and NDP
responder request.

Change-Id: I6a189747760a15393fcbac9dc382847fef789ab1
CRs-Fixed: 2072498
2017-07-08 01:45:00 -07:00
Pramod Simha
e382ff88b9 qcacmn: Add RXDMA_DST ring support
Setup & process the RXDMA_DST ring to handle error frames
from RXDMA block. Pro-active fix to handle the WAR for
the WBM stuck issue seen when sending RX_FLUSH command.

Change-Id: Ibf56062da2cd9b5d447f1d43bbae5944426d88c8
CRs-Fixed: 2059870
2017-07-07 12:33:54 -07:00
Selvaraj, Sridhar
a0e6f88b15 qcacmn: Add support to pass lca_disallow_config_params to fw
Add LCA[Last Connected AP] AP disallow params to
roam_scan_filter_params structure.

Change-Id: Id7a47bdc40d08b356483114b71981df352386172
CRs-Fixed: 2054195
2017-07-07 00:50:11 -07:00
Ravi Joshi
a9ebe0a7ca qcacmn: Fix issues in monitor mode initialization
Current monitor mode implementation does not catch
initialization failures causing it to believe successful
monitor mode initialization.

Change-Id: I5c30ac22e3084871b86cf5e2f0627988ebbb7b5d
CRs-Fixed: 2071602
2017-07-06 21:55:19 -07:00
Ravi Joshi
8851f4eb1c qcacmn: Enable RXDMA ring configuration for monitor mode
Enable RXDMA status, desc, buffer and destination rings to
support monitor mode. The change also provides fix to properly
map pdev_id to mac_id.

CRs-Fixed: 2071602
Change-Id: Ie9caaaa0021d5842eaf28a5532b3ab5512fe507f
2017-07-06 21:55:18 -07:00
Ravi Joshi
2320b6fe68 qcacmn: Enable all mgmt, ctrl and data fields in pkt_tlv
Currently all mgmt, ctrl and data frames are not enabled
while requesting for the pkt_tlv configuration for the
monitor mode. Adding changes to enable these while sending
HTT ring configuration message.

Change-Id: Ifa23edb55562512e18bb2ee4c426fa0b5e45a577
CRs-Fixed: 2071602
2017-07-06 21:55:16 -07:00
Ravi Joshi
1eaf7b5b82 qcacmn: Update radiotap header to include HE parameters
Add/extend radiotap header to include high-efficiency (11ax)
parameters.

CRs-Fixed: 2071602
Change-Id: I8bfbed16edca42eb38256bccc2efff8f21e50f15
2017-07-06 21:55:15 -07:00
Adil Saeed Musthafa
0ec675d2cd qcacmn: Add verbose print in wmi_register_event_handler
Add verbose information print in register_event_handler

CRs-Fixed: 2071681
Change-Id: Icf2a81b71a97a0d01a9771ad998f96b5d10f6cb6
2017-07-06 17:50:27 -07:00
Krishna Rao
d03216cbe1 qcacmn: Rename 20/40 coex flags to facilitate 11ax changes
Rename the 20/40 coex related flag WLAN_PEER_F_REQ_HT20 to
WLAN_PEER_F_REQ_20MHZ and WLAN_PEER_F_40_INTOLERANT to
WLAN_PEER_F_40MHZ_INTOLERANT in order to facilitate 802.11ax 20/40
coex changes. This is also in line with relevant clauses in the
standard.

Change-Id: I78ddc0ebcfe70c37283bf81522e6519fa052c50c
CRs-Fixed: 2040816
2017-07-06 14:35:15 -07:00
Srinivas Girigowda
5d4ab79521 qcacmn: Move the logs to appropriate log levels
Move the logs to appropriate log levels.

Change-Id: I9e28ecc7a62be6108ba13e510b8b42b843c97468
CRs-Fixed: 2063646
2017-07-06 11:40:51 -07:00
Kapil Gupta
7401104431 qcacmn: Add support for AES ctr mode for kernel 3.18
Add changes to support AES CTR modes for FILS encryption and
decryption.

Change-Id: I418e85987bfa96efb7b9dc10e9b2125290299c89
CRs-Fixed: 2039626
2017-07-06 08:29:27 -07:00
Wu Gao
f5bb0ac31b qcacmn: Free global pointer ol_sc
For TF SDIO chip, it allocated memory for global pointer ol_sc, but
doesn't free when unloading, which cause memory leak.

Change-Id: Ia27be884ccbaaeb01c9fd5b67898e6f7e4c54364
CRs-Fixed: 2070479
2017-07-06 06:19:48 -07:00
Srinivas Pitla
f4c4186d0d qcacmn: Add notes on Ref count
This change adds the notes in function headers for which ref count
gets incremented internally

Change-Id: Ide232bd7a7361b081edd08c8107451820c2736cc
CRs-Fixed: 2063383
2017-07-05 18:34:42 -07:00
Kiran Kumar Lokere
4decc31941 qcacmn: Add 11d scan as wakeup event
11d scan is scheduled every one hour.The HOST can
be asleep when new country is found. So add 11d
scan as wakeup event.

Change-Id: I495c010b9c1224ab17fc0b082292befaa6b4f1e8
CRs-Fixed: 2057841
2017-07-05 11:04:58 -07:00
Ashish Kumar Dhanotiya
c846868cd8 qcacmn: Add correct api call to get proper boot time
Propagation from qcacld-2.0 to qcacmn

Currently to get clock boottime, qdf_get_monotonic_boottime_ns
api is getting used which does not include the suspend time.

To include the system suspend time also in clock boottime, use
qdf_get_bootbased_boottime_ns api which uses ktime_get_boot_ns
kernel api.

Change-Id: Ibcc628c315201fa3ced7e1ad96753772d91707b2
CRs-Fixed: 2069085
2017-07-05 03:40:50 -07:00
Nandha Kishore Easwaran
f6ddc0cd3e qcacmn: Change keyix in wlan_crypto_getkey for athkey tool
wlan_crypto_getkey only gets key data for default index.
Athkey get with idx 0 retrieves default key else, it will
retrieve custom key data.

Change-Id: I3d1d412f7f024b4ed40590be9b74c6a7fcec0303
2017-07-04 04:29:52 -07:00
Rajeev Kumar Sirasanagandla
2a46442db5 qcacmn: Send proper CTL info to fw in world regd
Currently, for world regd and some other regds where conformance test
limit is NO_CTL, host is sending invalid CTL info to fw instead of
NO_CTL (0xff) due to type conversion issues.

To fix this, use proper unsigned type for CTL info.

Change-Id: I0407d30c6cd6f7f485d767c97bc5381c9c731440
CRs-Fixed: 2056847
2017-07-03 15:58:01 +05:30
Rakesh Pillai
13146458f9 qcacmn: Fix CLANG warnings in Data path
implicit conversion from enumeration type 'A_STATUS' to different enumeration type 'QDF_STATUS'
implicit conversion from enumeration type 'QDF_STATUS' to different enumeration type 'A_STATUS'

CRs-Fixed: 2063344
Change-Id: Id3613d0b7fca58c3d94c5af59838b0bff3ef26de
2017-06-30 22:50:37 -07:00
Pramod Simha
59fcb31d81 qcacmn: check for in use flag during free
Add a in_use flag to identify if a rx desc is associated
with a valid nbuf and use this flag while freeing the nbuf.

Change-Id: Iace002ecadfd95ce60b7d1eaebc42194a433963b
CRs-fixed: 2044907
2017-06-30 20:14:16 -07:00
Karunakar Dasineni
f40efac097 qcacmn: Fix wbm release descriptor settings
Set BM_ACTION, RELEASE_SOURCE and BUFFER_OR_DESC_TYPE fields in WBM release
ring descriptor in hal_rx_msdu_link_desc_set function.
Added HAL API to retrieve RXDMA push reason and error code from REO entrance
descriptor.

Change-Id: I64209d9ebb332136fae43a55b39e0f0d242315fb
CRs-Fixed: 2062922
2017-06-30 19:29:47 -07:00
Sandeep Puligilla
5c41638e14 qcacmn: set logging thread priority to default
Currently logging thread priority is equal to cds
thread which can cause scheduling issues to other
priority tasks when there are too many wlan debug
messages.
Set logging thread priority to default value.

Change-Id: I578ac062a69a34f7f4b7a2450e59e3f934704934
CRs-Fixed: 2047462
2017-06-30 15:50:14 -07:00
wadesong
c79aed0d8c qcacmn: Wakeup target when configuring PCI-E legacy ISR
Wakeup AR6320 target when PCI-E legacy ISR is configured to
avoid a subsequent crash while interrupt is handled

Change-Id: I3d24f3b7e06c05ba43f631daaeb75af419ed13a5
CRs-Fixed: 2035618
2017-06-30 05:40:32 -07:00
Karunakar Dasineni
1018547152 qcacmn: Fix LMAC interrupt mappings
Current data-path interrupt registration/handling assumes PDEV indices to be
in same order as HW MAC IDs, which is not always true. Fixed this by adding
wlan_cfg api to set and get pdev index to mac id mapping.

Change-Id: Iec8e9f4a02cd618a3b244cfd6fc7ead1e7d993c3
CRs-Fixed: 2063673
2017-06-29 18:25:27 -07:00