Commit Graph

805 Commits

Author SHA1 Message Date
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
Rajeev Kumar
452e744883 qcacmn: Define API qdf_create_singlethread_workqueue
Define API qdf_create_singlethread_workqueue to create a single
threaded dedicated work queue.

Change-Id: Iab70044888911c1e4adba63e8eee643d5693d716
CRs-Fixed: 2026443
2017-05-06 23:40:15 -07:00
Houston Hoffman
284d5f66cb qcacmn: Introduce qdf apis for register io
Hif should not be used as an os abstraction layer for hal.

Change-Id: I50600229ad24414967347d71a637f75b30699dd7
CRs-Fixed: 2032131
2017-05-02 20:06:39 -07:00
Orhan K AKYILDIZ
c59be52d47 qcacmn: Add debug for TSO seg double-free
Add TSO segment debug code, in a featurized way, so that
when disabled, it will tolerate redundant returns to the internal
pool and when enabled, it will check sanity on free, and record a
history of last 16 actions on the segment in the object.

Goes with the corresponding cld3 component counterpart.

Change-Id: Ifee2ceae940043031e4861d0e4f5d19a51262229
CRs-Fixed: 2036665
2017-04-28 13:19:43 -07:00
Dustin Brown
dd16c1b664 qcacmn: Export qdf_sprint_symbol
Some targets compile QDF into a separate module. In order to support
those targets, export qdf_sprint_symbol().

Change-Id: I7ff30aac3efdb0a119d5a9d1a63dc774b496e60e
CRs-Fixed: 2039906
2017-04-27 15:34:39 -07:00
Himanshu Agarwal
e5b7db3baa qcacmn: Fill rate and bw info for HT/VHT frames in monitor mode
In monitor mode, while filling the radiotap header, rate and bw
info for HT and VHT frames was not filled correctly due to which
packets in tcpdump are showing incorrect rates and bw for HT/VHT
frames.

Fill rate and bw info for HT/VHT frames correctly in monitor mode.

Change-Id: I2dc9677e48fcf9fe19d61f84a253353e253b16da
CRs-Fixed: 2037501
2017-04-26 23:53:46 -07:00
Dustin Brown
e226cebdd2 qcacmn: Add Scheduler Watchdog Timer
In order to catch long running scheduler messages, start a watchdog
timer before processing each message, and stop the timer after each
message is processed. When the watchdog timer expires, immediately
crash the device in debug builds for easier debugging.

Change-Id: I4b43a9e12fc1f5b8a795fec790fe7548a100d9db
CRs-Fixed: 2037094
2017-04-26 17:01:52 -07:00
Ravi Joshi
0c547bbd85 qcacmn: Export API to add radiotap header
Exporting a new API for updating radiotap header.

Change-Id: I1f942aa52ef737f68bb0578019f67e107a425fb0
CRs-Fixed: 1113187
2017-04-21 18:06:33 -07:00
Manoj Ekbote
8a204d2dcb qcacmn: Add a qdf type for net device
Create a type for struct net device so that lower
layers in WIN can have access to the device handle.

Change-Id: I5f5469ea3fc65c64c4382c2dfbcf455bd96294a8
2017-04-17 11:23:29 -07:00
Rajeev Kumar
c350256efa qcacmn: Enable kernel panic on memory leak
Enable kernel panic on memory leak such that all basic memory
leak issues are reported every time and gets fixed on priority.

Change-Id: Ie990fa5bc4435ab717277578fa3a2ea71925e6d1
CRs-Fixed: 2030988
2017-04-14 17:12:41 -07:00
Hanumanth Reddy Pothula
fd65c6eabc qcacmn: Add QDF wrappers for kernel atomic bit operations APIs
Add QDF wrappers for kernel atomic bit operations APIs.

Change-Id: If00b8434e60c516e89c6781eea459bc1931872df
CRs-Fixed: 2033255
2017-04-14 08:40:21 -07:00
Dustin Brown
6cb0fa1c4f qcacmn: Create qdf_log_timestamp_to_secs helper function
Create a timestamp conversion helper that returns whole seconds and
remaining micro seconds, for easier consumption by logging methods.

Change-Id: I5bc40075566485f3dc9f7e5fd81a13ec462c5da0
CRs-Fixed: 2031564
2017-04-13 21:31:10 -07:00
SaidiReddy Yenuga
674c4a0650 qcacmn: clear qdf_net_buf_track_free_list in nbuf memory manager destroy
qdf_net_buf_track_free_list not cleared in nbuf memory
manager destroy API leads to crash in reprobe case.

clear qdf_net_buf_track_free_list in nbuf memory
manager destroy.

CRs-Fixed: 2029297
Change-Id: I4d652c38a23f0e31ff21321692bcecc9456bf03a
2017-04-13 19:17:52 -07:00
Himanshu Agarwal
33d0d707bd qcacmn: Add support to add memory tracking in tx path
Add support to add memory tracking in tx path in WLAN driver using
already present infrastructure for memory tracking.

Change-Id: I6a2c9890e0af1fd51c4e2dfcded68f0075a3a4ef
CRs-Fixed: 2025670
2017-04-13 17:53:03 -07:00
Kiran Venkatappa
3453674e75 qcacmn: Off-chan txrx componentization changes
Add new module id for offchan txrx compotent and call offchan init/deint.

Change-Id: I803925d2dafdbe3800636de4e5ac4ae69c4851d0
CRs-Fixed: 2030050
2017-04-12 06:02:11 -07:00
Rajeev Kumar
fd15ef2196 qcacmn: Return status from qdf_create_work
qdf_create_work is not returning any status hence modify it
to return proper QDF status to know proper status of work creation.

Change-Id: I8fc84933cc85ba628363638d7567b083ecbf4f34
CRs-Fixed: 2026441
2017-04-11 11:04:39 -07:00
Orhan K AKYILDIZ
5adc058835 qcacmn: Add boundary check on TSO segments
In the error-path execution stream where number of tso segments
in a tso_descriptor, there was an assumption that the number would
be > 0 (normal case is 2). When it is zero, a segment at a wrong
index (-1=> (4M-1)) was being unmapped, which was a bad access.
Add code to make sure that the index in question is in the range.
Need still to understand the reason why num_segs were smaller (0)
then expected (2).

Change-Id: I5d6e16f48f29c98cfb2191cf497f4203ea56a78f
CRs-Fixed: 2028808
2017-04-11 11:04:36 -07:00
Dustin Brown
536064a37e qcacmn: Implement WMI/Credit History log print APIs
Create output agnostic log print APIs for WMI and Credit History to
enhance the debugging experience.

Change-Id: Ie89a9cb3b54c373ac2610d62003e940da17696d8
CRs-Fixed: 2028762
2017-04-11 11:04:24 -07:00
Adil Saeed Musthafa
e3599a90e3 qcacmn: Remove all non-QDF directories from include paths
CRs-Fixed: 2026943
Change-Id: I6fa1ba02552b0c1d10c891471e072f9b235e6de8
2017-04-11 11:04:20 -07:00
Pramod Simha
bd46f6f929 qcacmn: Add macros for aligning addresses
Define macros which take in a value and align them on the given boundary.

Change-Id: Icea681b8dd9b678900507c555ee749287fd372ce
CRs-Fixed: 2026493
2017-04-04 16:14:50 -07:00
Dhanashri Atre
efd4d82391 qcacmn: Lithium LRO Support
Add Large Receive Offload (LRO) support on Lithium.

CRs-Fixed: 1107169
Change-Id: I536bf4bf5c5529e0ec7f77cec7b0f2ced94b6d92
2017-04-04 14:31:44 -07:00
Himanshu Agarwal
38cea4afc4 qcacmn: Reduce log level to avoid watchdog
Reduce log level to info/debug to avoid watchdog bark.

Change-Id: I14a77b9017ada3bc2f10fc78c69cb31b22452052
CRs-Fixed: 2026821
2017-04-04 06:54:50 -07:00
Kiran Kumar Lokere
43568a9b3f qcacmn: Fixes for regulatory channel event processing
Fix the population of tx power. Also fix the WMI TLV processing
for regulatory channel list event. Also make sure correct
range enums are calculated for pdev range.

Change-Id: Iec9559c0ab4b2b5e52d0b0a3eb4a0e8d038dc791
CRs-Fixed: 2002892
2017-04-03 13:47:15 -07:00
Baila, Shashikala Prabhu
f664eee546 qcacmn: Kbuild changes to include regdomain dispatcher file in
qdf

Change-Id: Icd8420195ace9bd193efb7d6bc55743d25a95c2e
CRs-Fixed: 2026170
2017-03-30 03:20:26 -07:00
Wu Gao
849fd2c759 qcacmn: Init and deinit P2P
This is a change to init and de-init P2P component in host common. Add
P2P component name in qdf trace.

Change-Id: I0a9d56afe851e3414bf860bed944c4e0fe661fbc
CRs-Fixed: 2006260
2017-03-29 18:12:47 -07:00
Kai Chen
6eca1a62da qcacmn: Monitor mode configuration and processing
This change is for supporting monitor mode VAP.  All the monitor mode ring
is configured. The related monitor mode ring includes:
-monitor mode buffer ring
-monitor mode destination ring
-monitor mode status ring
-monitor mode link descriptor ring
The packet is not sent to monitor mode ring unless the monitor mode VAP is
configured. This release support Multiple VAP - AP/STA VAP plus Monitor
VAP configuration. The status ring is not used in this release. However,
the ring is tested and the ring is moving and there are TLV's in the ring.

Change-Id: I782ee0c3b998d8b3bbac79b5e7fdecdbff15fa93
CRs-Fixed: 2013049
2017-03-29 05:58:52 -07:00
c_cgodav
f151c38600 qcacmn: Changes to store stats in 64bit data type
Changed the data type to store stats to 64bit
from 32bit to support larger number for stats
counter

Change-Id: I25eca626623503663b6aa8436217413609e2a807
CRs-Fixed: 2024225
Acked-by: Chaithanya Garrepalli <cgarre@codeaurora.org>
2017-03-28 23:22:30 -07:00
Adil Saeed Musthafa
3318807269 qcacmn: Add shared print_ctrl_obj for qdf_trace_msg
At this point lot of Win code already uses QDF_TRACE macro. It will be
difficult to translate QDF_TRACE to qdf_trace_msg unless all the modules
(already using QDF_TRACE) make changes to use the qdf_print_ctrl
framework. Until that happens, we can have a shared object temporarily
so that wlan_log_to_user and hence user space logging of messages can be
in place

Change-Id: Ia149b86de8c2c36ed1c8508570b31db25f6bc41e
CRs-Fixed: 2018767
2017-03-28 13:50:42 -07:00
Yun Park
2a31213ccf qcacmn: Change HDD IPA to comply with the refactored SKB CB
Refactor IPA private data stored in skb control block,
which size is reduced to 32 bits.
Owner id is changed to 1 bit, to flag if the owner is IPA.
Callback function pointer is removed by adding the callback into cdf.
Skb control block priv data is reduced to 16 bits by storing the index
to the Tx descriptor list added in HDD.

Change-Id: I0eec0636794da3b4729b8be825afe6a1275915a4
CRs-Fixed: 982728
2017-03-24 14:16:34 -07:00
Karunakar Dasineni
7957fa9705 qcacmn: REO descriptor allocation change
Use normal allocation instead of alloc_consistent for REO descriptors to
allow freeing from interrupt context.
Also fixed an issue in ba_window_size setting in REO queues.

Change-Id: I91b06e04c0343eb7fe8580d8655c6bc5e33cfe06
2017-03-24 05:41:20 -07:00
Naveen Rawat
5154273ac3 qcacmn: Include NAN component ID in common files
Include NAN component ID in umac common files. These IDs
will be used by NAN component for trace, object ref counting
purpose etc.

Change-Id: Ia831b38627cc02ee8f61e19f389abba0158a1d40
CRs-Fixed: 2014795
2017-03-23 19:16:47 -07:00
Zhang Qian
808f33bcaa qcacmn: Remove event report when failed to allocate memory
qcacld-2.0 to qcacld-3.0 propagation

There will be recursive call for vos_mem_malloc once there is memory
allocation failure, because vos_mem_malloc is called to allocate message
buffer for WIFI_EVENT_MEMORY_FAILURE.

Remove this event report in this change.

Change-Id: I897af2428af7e21c2962d5c91969930125178e74
CRs-Fixed: 2010103
2017-03-23 05:02:59 -07:00
Ishank Jain
9dd1ed1a84 qcacmn: ADD qdf changes required for datapath
Remove qdf print from QDF_TRACE
Change physical address type to qdf_dma_addr_t
Add qdf API to get min of two numbers

Change-Id: Ie4e0a98d603e56e1bdaf3b8b7c099c7dad5b1bac
CRs-Fixed: 2016072
2017-03-22 23:04:33 -07:00
Ashok Ponnaiah
d973716683 qcacmn: Initial crypto service component addition
Initial crypto service component addition in object
manager and qdf error for crypto

Change-Id: I423b41cfe3cf429c29859867aaa8467b3e35cddc
2017-03-22 05:34:45 -07:00