Граф коммитов

122 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ishank Jain
949674c4cb qcacmn: Add DSCP_TID changes for Lithium
Add command to set mapid for each VAP using:
iwpriv athX s_dscp_mapid  N

Add command to change tid values in PDEV maps using:
iwpriv wifiX s_dscp_tid_map <MAP_ID> <TOS> <TID>

Change-Id: I510a40e71ecec5c453dd2dff1b13fd5ebedbe98a
CRs-Fixed: 1108452
2017-03-21 22:01:27 -07:00
Amar Singhal
1fd82c6c58 qcacmn: Regulatory component registration
Register the regulatory component with obj mgr. Regulatory
component only needs to listen to psoc level messages.

Change-Id: I3d060d66cb7bac2912afb1301ef1960f8bd9c0ef
CRs-Fixed: 2002892
2017-03-20 18:01:45 -07:00
Poddar, Siddarth
01c4031969 qcacmn: Add a flag in skb->cb for packet tracking
When a packet is generated internally, host adds a debug
node entry to the table and deletes the entry once received
tx completion for that packet by calling qdf_nbuf_free.
But when a packet is coming from network stack, host doesn’t
add any debug entry to the table and on receiving tx completion,
it calls qdf_nbuf_tx_free which will simply free the skb.

In case of P2P GO mode where packets are forwarded internally,
host creates a private copy of skb and add debug node entry in
the table. But when receiving a tx completion for the same packet
host calls qdf_nbuf_tx_free which will free the skb but will not
remove this node entry from the table. Currently, this api is common
for all data tx completion packets.

Add an extra flag in control block to differentiate whether skb is
generated by driver or come from network stack. If flag is true,
that means generated internally and need to remove the entry from
debug node table.

Change-Id: I61a76fdfedf0429e1b972824dc4513065d53033f
CRs-Fixed: 2020947
2017-03-20 02:47:38 -07:00
Dhanashri Atre
1404917b6e qcacmn: Add support for hash based rx steering
This change includes:
- Adding the hooks to send LRO and hash configuration to the firmware
- Configuring the REO remap registers

Change-Id: I6d83e2a2365647f2c7a6440bd1d4b42fa7df7eff
CRs-Fixed: 1094775
2017-03-13 14:01:49 -07:00
Tushnim Bhattacharyya
7cea3414ec qcacmn: Add ID for config component
Add config ID for object manager registration & logging

Change-Id: Ic0d6e443ff9bda385b88c52ed075ef84bfd46888
CRs-Fixed: 2003447
2017-02-27 22:08:55 -08:00
Adil Saeed Musthafa
bcf62ed43e qcacmn: Initialize utils/logging module from QDF
When LOGGING_UTILS_SUPPORT is turned on, initialize utils/logging
module

Change-Id: I07421ab8979e6f58133ba7b386b9772707be5930
CRs-Fixed: 2010251
2017-02-23 20:15:24 -08:00
Tushnim Bhattacharyya
fbce077792 qcacmn: Add ID for policy manager component
Add policy manager ID for object manager registration & logging

Change-Id: I5d665352598d84218522bf1d8a44538e4cad0368
CRs-Fixed: 2009818
2017-02-23 15:04:01 -08:00
Kalyan Tallapragada
277f45e2b1 qcacmn: Add support to handle RAW packets in RX path
API to handle pkts received on vdev which has RAW mode
enabled. Currently supports only MPDU with single MSDU.

Change-Id: Ife00699646bd97c5de0021fc32db434a544058f6
CRs-Fixed: 1111781
2017-02-23 14:05:53 -08:00
Himanshu Agarwal
846cf37306 qcacmn: Do IPA version based DMA coherent mask setting
In case of IPA hw version less than 3.0, only 32 bit DMA
address can be handled as it is only 32 bit compliant.
Because of this, setting DMA coherent mask of 37 when
IPA hw version is less than 3.0, crash is happening.

Do IPA version based DMA coherent mask setting such that
when IPA hw version is less than 3.0, set DMA coherent mask
as 32 only.

Change-Id: I8dec7da47766985ab0590f885b29f345f153cd08
CRs-Fixed: 1114605
2017-02-23 07:29:54 -08:00
Krunal Soni
8a583437e7 qcacmn: Fix bugs in serialization module reported by reviewer
Few issues are observed and reported in serialization module, fix
them.

Change-Id: I11929f086a5f7ef227b8b8fa62d0cf8c1b5f0b9c
CRs-Fixed: 2000032
2017-02-18 18:55:11 -08:00
Wu Gao
f482dea2a7 qcacmn: Initialization of P2P component
Defines main APIs and data structures. Initial basic frame work of
P2P component.

Change-Id: I08d2e2cec734ddc535d88996f7d5ece5ef3d270a
CRs-Fixed: 1099441
2017-02-17 17:34:25 -08:00
Mukul Sharma
d8fd144d95 qcacmn: Add PMO qdf and component module ID
Add PMO qdf and component module ID's.

Change-Id: Icbd5ea96a4164dce600d5382b3bce0d38babd201
CRs-Fixed: 1115147
2017-02-14 02:53:58 -08:00
Himanshu Agarwal
2388a52210 qcacmn: Add msdu index for tso stats in msdu info
Add msdu index for tso stats in msdu info.

Change-Id: I37413ab7ccf6bd5171815af0038401925aa7831b
CRs-Fixed: 1114150
2017-02-14 00:22:21 -08:00
Himanshu Agarwal
19d5fabddc qcacmn: Allocate memory tracking node for nbuf clone and copy
When nbuf is cloned or copied, memory tracking node is not being
created as of current implementation. While freeing the nbuf,
qdf_nbuf_free API is being called as many times as the number
of copies or clones of nbuf and as memory tracking node is being
created only once, warning print of double free is coming for all
the clones and copies of nbuf.

Allocate memory tracking node for nbuf clone and nbuf copy APIs as well.

Change-Id: I95fa6e7b2789dd97c0c500d0854210240feaac17
CRs-Fixed: 1114632
2017-02-09 13:46:39 -08:00
Abhishek Singh
ff2328f3a0 qcacmn: API to insert node before/after a node in qdf list
Currently there is no support to insert a node in between
the qdf list.

This change adds API to insert a new node before/after node
in qdf list.

Change-Id: I91ad5d57ffb5d15abdd5faa36387198608369b12
CRs-Fixed: 1117206
2017-02-08 02:20:21 -08:00
Himanshu Agarwal
4f162b59fc qcacmn: Add support to dump ICMPV6 RS and RA in wow wakeup stats
Propagation from qcacld-2.0 to qcacmn.

Add support to dump information for ICMPV6 RS and RA packets in
wow wakeup stats.

Change-Id: I1a2852189664fff31e29b487d7a8c66ee83931c5
CRs-Fixed: 1115364
2017-02-03 23:37:17 -08:00
Himanshu Agarwal
f30a9e9314 qcacmn: Add support to dump few bytes of rx packet in DPTRACE
Propagation from qcacld-2.0 to qcacmn.

Add support to dump few bytes of rx packets in DPTRACE by adding
QDF_DP_TRACE_HDD_RX_PACKET_RECORD in DPTRACE enum.

Change-Id: I950108b9d1c9094ce3d285493ee36bda4f9d7e41
CRs-Fixed: 1074551
2017-02-03 23:37:16 -08:00
Krunal Soni
c4e3592bbf qcacmn: Serialization Init and DeInit
Define folder and file structure for
Serialization UMAC convergence component.
Define the changes for initializing and de-initializing
the serialization component

Change-Id: I1074091a74bba8aa7426345f6fb1a5df127f1a59
CRs-Fixed: 2000032
2017-02-03 18:06:19 -08:00