提交線圖

238 次程式碼提交

作者 SHA1 備註 日期
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
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
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
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
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
Kapil Gupta
041087bfe8 qcacmn: Resolve compilation errors in lower version kernels
symmetric key cipher APIs are present in linux kernel version 4.3
and above only.

Add changes to protect symmetric key cipher APIs invoke in lower
version kernels.

Change-Id: I512d0d98886c887a242a834763b46b2ec0cd4751
CRs-Fixed: 2034502
2017-06-28 12:47:42 -07:00
Kapil Gupta
830881389a qcacmn: Add changes to support crypto API
Add support for hash, hmac-hash calculation and
aead encryption and decryption.

Change-Id: Idddcfaa2ec4c5689c997559551230bc8f59df032
CRs-Fixed: 2029962
2017-06-28 12:47:14 -07:00
Rajeev Kumar
fdcab13767 qcacmn: Do not free leaked memory if halt on kmem leak is enabled
If halt on memory leak is enabled then do not free the leaked memory
because when leaked memory gets freed kernel poisons it with 0x6Bs
and all useful data from leaked memory gets lost. In addition add the
leaked memory in a global trash list such that leaked memory can be
extracted for offline debugging.

Change-Id: Ie37fd810199e845831c3c3f325ef1e9ff60c5f37
CRs-Fixed: 2055470
2017-06-27 20:02:00 -07:00
Tallapragada Kalyan
0cd1793ba5 qcacmn: fix skb cb corruption issue
the ftype in skb->cb is overshooting allocated 48 bytes
causing kernel crash

Change-Id: Ie33508c462a032b28624de5270ce91a93d0b067d
2017-06-27 10:32:46 -07:00
Rakesh Pillai
847482ff8e qcacmn: Fix buffer overflow when radiotap header is larger than available headroom
The condition which detects if the length of the radiotap header is
greater than the available headroom in the skb is incorrect.

Correction to check if sufficient headroom is available
for updating the radiotap header.

Change-Id: I71c140c6af415678efe66cff2f16b8cabc62697a
CRs-Fixed: 2047909
2017-06-23 07:42:02 -07:00
Zhu Jianmin
af3420af93 qcacmn: Add icmp dptrace for latency issue debug
Ping latency is a key performance KPI for some customers,
need log in debug mode

Change-Id: I96eebf3f249668dd220aa1062fb339f940d36975
CRs-Fixed: 2039646
2017-06-22 04:38:28 -07:00
Sravan Kumar Kairam
a46056182a qcacmn: Add support to log IP addr of the wow wakeup packet
Add support to log the IP header source and destination address
for the first Rx packet received after host wakeup.

Change-Id: Ie8cf71c8ce913378687ad2c79ab9d5f46c0c2419
CRs-Fixed: 1106593
2017-06-21 19:40:49 -07:00
Mahesh Kumar Kalikot Veetil
6eaefc4bf9 qcacmn: Fix qdf_timer_init/free implementation
With DEBUG_OBJECTS_TIMERS enabled, cds_mc_thread prints warning
"ODEBUG: object is on stack, but not annotated". Since the wd_timer
is on the stack, we should rightly use set_timer API's.

Change-Id: I38061ff6c1b706484cd5d4532954cfa24c7ac0d6
CRs-Fixed: 2052484
2017-06-20 19:36:12 -07:00
Manjunathappa Prakash
86287dcf2e qcacmn: Define platform CACHE_LINE_SZ
Add platform CACHE_LINE_SZ so that it can be used to roundup the data
structures.

Change-Id: Iec45f5747956d0797411f76c2fec1368a13e7d6d
CRs-Fixed: 2046852
2017-06-19 12:43:31 -07:00
Tallapragada Kalyan
274eb9e76b qcacmn: Temporary WAR for Multicast echo check in host
This is a temporary WAR in host for multicast loopback check
until we finalize on exact design, and host or firmware will
take care of this

Change-Id: I4d2d1b0f5d2a78d4c8716740b74c4fee22c28e96
CRs-Fixed: 2039038
2017-06-16 17:12:15 -07:00
Karunakar Dasineni
4055568bad qcacmn: Monitor status ring handling
Changes to process PHY TLVs from monitor status ring and extract
information required for radiotap header.

Change-Id: I99d642e7506ea797b26dbfac89fd223d1a4c0a55
CRs-Fixed: 2048006
2017-06-16 17:12:13 -07:00
Anurag Chouhan
656ec600ac qcacmn: Fix Operands size in a bitwise operation
Bitwise operation on different operands size may lead
to unexpected results, Typecast the constant to
the size of the variable while performing the bitwise
operation.

Change-Id: Ifd9939905cc9df22bb249fa9b1a6a9670cf5f113
CRs-fixed: 2047880
2017-06-14 00:58:30 -07:00
Himanshu Agarwal
26cfe7eb28 qcacmn: Reduce log level of DPTRACE prints to DEBUG
Presently log level of DPTRACE prints is INFO due to
which they are coming in kmsg and causing watchdog bite.

Reduce log level of DPTRACE prints from INFO to DEBUG.

Change-Id: I0124dcc461d3e05541267c8310a43ea3ce0de9af
CRs-Fixed: 2043719
2017-06-14 00:58:27 -07:00
Nandha Kishore Easwaran
7249f0df2c qcacmn: Export qdf_trace_hex_dump
Export qdf_trace_hex_dump to make it available in other module.

Change-Id: Ib59439d64ad31dc23e46caf068914dd0601aa248
CRs-fixed: 2058321
2017-06-08 14:23:07 -07:00
Ravi Joshi
52569e2a83 qcacmn: Extend radiotap header to include HE parameters
Extending monitor/radiotap header structure to include
high-efficiency (HE) headers.

CRs-Fixed: 1113187
Change-Id: I841dcdff3a91f1c70c3b0aac0a555c2f4b40aed7
2017-06-08 11:34:39 -07:00
Vivek
2c86b213c6 qcacmn: Replacing qdf_print with QDF_TRACE
Replace all object manager qdf_prints with obj_mgr_err/obj_mgr_info
based on QDF_TRACE with the right log levels.

Added additional debug information like
Pdev_id
Vdev id
Peer MAC address

Change-Id: I96d96182176d332b9fbdb202305d29c08ddc0d18
CRs-Fixed: 2026537
2017-06-06 01:26:00 -07:00
Nandha Kishore Easwaran
e43583f3c1 qcacmn: Dptrace changes to take per pdev stats
Initial changes for adding dp trace in common framework. Modified dp_trace
record sturcture to include pdev_id as a member to take per_pdev stats.
Dump command has been modified to dump stats per pdev.

Change-Id: I8aede0bd8ab6f381c7fa0542d077bdd8bf66b3d2
CRs-fixed: 2038944
2017-06-05 22:52:34 -07:00
Manjunathappa Prakash
ad866513f5 qcacmn: Do not free the src buffer in __qdf_nbuf_cat()
It is callers reponsibilty to free the src nbuf if concat succeeds.

Change-Id: Iaf83524924e312bf819483de38603241f45170a5
CRs-Fixed: 2047585
2017-06-02 14:47:28 -07:00
Houston Hoffman
4a4623c7c7 qcacmn: Let qdf_lock_stats_cookie_create failure be dbg level
qdf_lock_stats_cookie_create is a debug feature.  Its failure should be dbg
level since it fails gracefully.  This avoids watch dogs in cases where
all the cookies have been leaked.

Change-Id: I99c751e6153964d00f2fc0b7dbf174a0e50e7fb9
CRs-Fixed: 2045394
2017-06-01 12:32:21 -07:00
Rajeev Kumar
a86e46fee9 qcacmn: Relax spin lock abuse detection thresholds
Increase irq save spin lock abuse detection threshold to 10 ms
and spin lock bh abuse detection threshold to 1 second such that
very obvious spin lock abuse cases by WLAN driver are detected
and fixed.

Change-Id: I8ca751404dc05e3fc3b6aa5db8538cb98c710260
CRs-Fixed: 2047464
2017-05-30 17:31:21 -07:00
Dhanashri Atre
991ee4defc qcacmn: Modify legacy LRO implementation to use QDF
Modify the legacy LRO implementation to use the implementation
in QDF instead. This is to avoid code duplication and to unify
the LRO implementations for Napier and Helium.

CRs-Fixed: 2042812
Change-Id: I38e9da3b54392a1c5781133916361aac3875d43d
2017-05-26 16:11:22 -07:00
Mahesh Kumar Kalikot Veetil
6d5917ad22 qcacmn: Fix a function redefinition
Remove redefinition of the function 'qdf_mem_debug_debugfs_init' when
WLAN_DEBUGFS is not enabled.

Change-Id: Id35865edda7e41cbc073cfca6099c56e7455165d
CRs-Fixed: 2048039
2017-05-25 18:21:31 -07:00
Mahesh Kumar Kalikot Veetil
5b321ba16e qcacmn: Restrict debugfs file mode
Disable write permission to qdf mem debugfs entries.

Change-Id: I428f2018018cf8edacdbbb9011ed55a8894511d4
CRs-Fixed: 2047311
2017-05-25 18:21:30 -07:00
Mahesh Kumar Kalikot Veetil
e4f8f0e015 qcacmn: Add mem stats for perf builds
Add memory allocation statistics for perf builds where MEMORY_DEBUG is
not enabled. Part of this effort, re-structure some of the QDF memory
APIs. Memory stats shows real size allocated.

Change-Id: I1e8fe0f4080ea186b8bfa0ce0438b4a06dde5a66
CRs-Fixed: 2045476
2017-05-25 18:21:27 -07:00
Dustin Brown
c7e0c63260 qcacmn: Create QDF timer multiplier get/set APIs
In order to provide greater flexibility on emulation platforms, replace
the current hard-coded QDF_TIMER_MULTIPLIER with a pair of get/set
methods, configurable at runtime.

Change-Id: I0757da6c2129db08459411eaef75b6183f1aa557
CRs-Fixed: 2049309
2017-05-24 23:56:53 -07:00
Ishank Jain
6290a3c543 qcacmn: Add APIs to enable HTT FW Stats
Adding support to parse stream of HTT TLV's recieved as response
to the HTT EXT stats request message

Change-Id: I44c990a1ed91c2381b89811de33c0717bd24be7d
CRs-Fixed: 1114641
2017-05-24 02:41:10 -07:00
Dustin Brown
a4c33f01bc qcacmn: Define new qdf_cpu_to_be*() macros
Add a set of OS agnostic CPU-to-Big-Endian byte order macros to QDF.

Change-Id: I8315dd55cf909abb871f7e7eb73684ed794fb134
CRs-Fixed: 2041099
2017-05-23 23:24:48 -07:00
Pamidipati, Vijay
03f1a662a7 qcacmn: TSO Bug fix
Add fix to handle a case where the head SKB carries no payload
and only EIT header

Change-Id: I4513944d1e1f491f985be522bc04be6845c8a3c4
CRs-Fixed: 2004658
2017-05-22 17:05:23 -07:00
Venkata Sharath Chandra Manchala
35503cce26 qcacmn: TSO fixes
1. Unmap tso common segment only after receiving
   completions for all the tso segments for a given
   skb.
2. Keep a track of num of free tso descriptors available
   in the pool of tso descriptors.

Change-Id: I01bdbb9e40b7259f77dbcfeec22c6d8cd0c0a6dd
CRs-Fixed: 2042950
2017-05-22 17:05:21 -07:00
Adil Saeed Musthafa
03e2ac22d7 qcacmn: Change DP_TRACE level to FATAL (instead of NONE)
Change DP_TRACE and DP_TRACE_STATS to use FATAL level.
Set DP module at QDF_TRACE_LEVEL_FATAL by default.

Change-Id: Ia894c6695699192feed204bb0dffdb9cfd59480c
CRs-Fixed: 2048931
2017-05-20 19:26:09 -07:00
Rajeev Kumar
f37f18e2b3 qcacmn: Trigger panic on SKB memory leak in debug builds
To catch SKB memory leaks trigger panic on SKB leak in SLUB debug builds
if CONFIG_HALT_KMEMLEAK is enabled.

Change-Id: I25b65454ec3954fdcbf6e39390ac793ee77fc1f4
CRs-Fixed: 2049330
2017-05-19 23:06:35 -07:00
Dustin Brown
d7cfa497c7 qcacmn: Fix regression in qdf_trace_hex_dump
During convergence, a new module log level table was introduced, however
qdf_trace_hex_dump still points to the old table. Use the newly
introduced module log level table in qdf_trace_hex_dump.

Change-Id: I243a8c8b0ed84d501a472189d89074815ab67334
CRs-Fixed: 2046137
2017-05-19 05:27:18 -07:00
Kiran Kumar Lokere
a843634983 qcacmn: Add support to send new country to FW
Add support to set new country code to the FW

Change-Id: Id24967b7c9e93bfbf045f494f142be9e33e16483
CRs-Fixed: 2042879
2017-05-18 13:42:21 -07:00
Sathish Kumar
adeb66e07c qcacmn: Set default trace level for all modules as NONE
Setting default trace level for all modules registered through shared print
control init as NONE. Any module that requires a valid default trace level
may need to change the trace level in the default array, ensure sanity pass
and merge their changes.

Change-Id: I4d5b195da2646e53dea7beefdd2536fe743ecb34
CRs-Fixed: 2048931
2017-05-18 09:45:23 -07:00
Karunakar Dasineni
b92ecffc25 qcacmn: Fix bug in Hawkeye emulation WAR
Fix address check in Hawkeye emulation WAR.

Change-Id: Ia0a70d0b49084b891a74ca440d9a46485b68dd17
2017-05-17 19:30:42 -07:00
Sathish Kumar
470c620cf9 qcacmn: Modify trace related APIs to support dynamic configuration in WIN
New iwpriv commands are implemented in WIN to support dynamic configuration
of verbose level for each of the module IDs.

Add following changes in trace module to support above requirement -

1. Make qdf_get_pidx and qdf_set_pidx common to WIN and MCL
2. Export g_qdf_category_name to be accessible in WIN driver
3. Add macros to derive upper and lower 16-bits from a 32-bit value
   combining module and trace level information used for dynamic trace
   level configuration per module
4. Address trace level NONE case during registration to set the correct
   mask

Change-Id: I97be5f26b0d611e96409837fb0c03d55ce5f6e07
CRs-Fixed: 2041247
2017-05-16 22:08:07 -07:00
Edayilliam Jayadev
642201f048 qcacmn: Converge the Spectral feature
Add Spectral TxOps and RxOps interfaces in
psoc towards converging the Spectral feature.

CRs-Fixed: 2028657
Change-Id: If5b46fb9d71529060df6e5b242fcc8976fce82f8
2017-05-16 22:08:04 -07:00
Adil Saeed Musthafa
2ef2787255 qcacmn: pass parameter array to set the debug levels
Pass an array of values each of which contains a combination of
module-id and level. This way the levels can be set before all the
dependent KO modules are loaded

CRs-Fixed: 2042170, 2046694
Change-Id: If8c8260cc25e25bd821462f7d8860a13a5961148
2017-05-15 17:00:07 -07:00
Kris Muthusamy
ea7dc9339d qcacmn: Hawkeye emulation WAR
SKBs allocated from higher memory instead of
lower memory range. This is needed for Hawkeye
emulation

Change-Id: Ibeb27c43ee882d772b9166731804faefab2e406e
CRs-Fixed: 2046721
2017-05-12 17:59:10 -07:00
Abhishek Singh
ac80309005 qcacmn: Add runtime suspend logic for scan
Add runtime suspend logic for scan, to block runtime suspend when
scan is started and unblock when scan is completed.

Change-Id: I61c9afaf996d1ac97bfb5ffb0cd8a3abc971051e
CRs-Fixed: 2035675
2017-05-11 06:25:40 -07:00
Venkateswara Swamy Bandaru
0b9f5ec37c qcacmn: Smart antenna API convergence
Added sa_api_tx_ops, sa_api_rx_ops and their initialization. SA API component
id is also added along with sa_api objmanager calls.

Change-Id: I2e912106dcc900e5eba19090c0157827e08264f3
CRs-fixed: 2038298
2017-05-11 10:45:35 +05:30
Linux Build Service Account
c9dda4429c Merge "qcacmn: SON convergence" 2017-05-10 02:12:04 -07:00
Bharat Bhushan Chakravarty
145d393444 qcacmn: SON convergence
1) Defined modularized public api for cdp module
to track inactivity and over load detection.
2) Initialization calls are added to attach and
detach SON specific api.
3) operating system specific calls are replaced with qdf calls.

Change-Id: I130d1e99208d6454f5d9888774534cc6d619ad83
2017-05-09 17:29:11 -07:00
Ravi Joshi
36f68ad7cb qcacmn: Enable support for receive defragmentation
Enable support for receive defragmentation on Lithium.

Change-Id: I6c1213db29d3b6e0a11506d6945d9ea05ece2c73
CRs-Fixed: 1109359
2017-05-08 14:59:04 -07:00