Grafik Komit

275 Melakukan

Penulis SHA1 Pesan Tanggal
Manjunathappa Prakash
a22b919560 qcacmn: bug_on on detecting nbuf leak
bug_on the system to catch and debug the nbuf leaks.

Change-Id: Id88714654996790e53217edeb78ea6fb94bbf415
CRs-Fixed: 2162344
2018-01-15 15:39:14 -08:00
Venkateswara Swamy Bandaru
e91dd92e8b qcacmn: Mesh throughput enhancements
Sending all frames to firmware will have high throughput impact.
Queue mesh frames also to TCL/TQM and send cloned frame to firmware
only if meta header information is changed to update meta header
information. Increased meta info size as per new ext2 header.

Change-Id: I89ff27994477a5637979a9cd6a397286144b2535
CRs-Fixed: 2162643
2018-01-13 02:17:50 -08:00
Padma, Santhosh Kumar
f5d592433f qcacmn: Add support for GMAC MIC calculation
Add changes to calculate MIC using aead calls in linux

Change-Id: I710b1c748c36babc8e66aaf920a07f9657f6e273
CRs-Fixed: 2164910
2018-01-13 00:42:51 -08:00
Himanshu Agarwal
b3c81ac057 qcacmn: Green AP UMAC componentization
Add APIs, structures for Green AP component.

Change-Id: I4a39470104c89c20eec5440b7ae251a764151fd5
CRs-Fixed: 2166428
2018-01-12 12:20:17 -08:00
sumedh baikady
2a19fe4317 qcacmn: Fix legacy rate and group id in rx_status
In radiotap section of sniffer, fix group id field for vht
and rate field for legacy.

Change-Id: I3c1e2e650548551230d9eca5bc043b690169e844
CRs-fixed: 2143521
2018-01-09 23:47:25 -08:00
Nachiket Kukade
88ae85340c qcacmn: Add Objmgr related definitions to support DISA component
Add Objmgr ID and related definitions to support the newly
defined DISA component in CLD.

Change-Id: Ibbe5db39c01dae94cad5af5f4dccd2611c5b06d4
CRs-Fixed: 2159599
2018-01-09 13:40:06 -08:00
Dustin Brown
7768da6890 qcacmn: Extract memory debugging features from qdf_mem
When memory debugging is enabled, qdf_mem_malloc and qdf_mem_free do a
number of memory corruption checks. Extract these checks into their own
functions to allow other memory allocation/free logic to leverage the
same logic.

Change-Id: I07802093119c90b3d8c40a50d5b4bb152cb8243f
CRs-Fixed: 2136659
2018-01-03 20:09:43 -08:00
Yuanyuan Liu
f67e197433 qcacmn: Remove unused ipa_connect/ipa_disconnect APIs
Remove unused ipa_connect/ipa_disconnect related APIs.

CRs-Fixed: 2160644
Change-Id: If45c60d8c73cc89719d1576171921c50261a23df
2017-12-20 13:25:53 -08:00
Dustin Brown
47d702f693 qcacmn: Add qdf memory domain support
In order to support memory leak detection during a specific period of
time, add APIs to allow setting the current memory domain. Each
allocation is tracked against the current memory domain at the time of
allocation. Consumers can then check to ensure the memory domain is
empty before each transition to a different domain.

Change-Id: I3a8d18ea0700122a2425eacb6051c6188b9aa5d6
CRs-Fixed: 2113614
2017-12-20 05:38:45 -08:00
Sathish Kumar
a9a42ebe04 qcacmn: Add module id for direct buffer rx module in QDF debug trace
Direct Buffer Receive provides the driver with a mechanism by which target
can transfer information directly into host memory via DMA.

Add module id and set default trace level for the module.

Change-Id: Id2c64a342867c499a1f5f10e46b40a2b53161d2e
CRs-Fixed: 2157978
2017-12-19 03:03:48 -08:00
Govind Singh
11c7f8b00e qcacmn: Dump WMI work queue stack for watchdog bite
In the event of an WMI work queue watchdog bite, dump the stack
trace to aid in debugging.

Change-Id: I7f3df5a56904748fb80afb1aef1aed90d20fbbc0
CRs-Fixed: 2145913
2017-12-15 19:26:25 -08:00
nobelj
2c3db26446 qcacmn: passing correct argument to qdf_mem_set api
qdf_mem_set api parameter switched!
old
qdf_mem_set(void *ptr, uint32_t value, uint32_t num_bytes)

new
qdf_mem_set(void *ptr, uint32_t num_bytes, uint32_t value)

Change-Id: I4ebbc222d32e6fe18c28f2446102c95bfc734c8e
2017-12-14 17:45:20 -08:00
Ravi Joshi
54ee5e48db qcacmn: Enable support for HE radiotap headers
radiotap has updated HE (11ax) radiotap header extensions.
The change enables the support for those headers in the
driver.

CRs-Fixed: 2133532
Change-Id: I42c4f13e157ea981d6a276582553893921a70758
2017-12-14 11:25:18 -08:00
Dustin Brown
f7fb76bd5e qcacmn: Add qdf_mc_timer_check_for_leaks API
Add a new  QDF MC Timer API for asserting that there are no active MC
Timers allocated. This is useful for detecting MC Timer leaks at
runtime.

Change-Id: I272ce806111b01b5c7f6b0dfef2e992c27b83529
CRs-Fixed: 2125800
2017-12-12 15:56:48 -08:00
Rajeev Kumar
9368d4e645 qcacmn: Add QDF timer multiplier in qdf_wait_for_event_completion APIs
Add QDF timer multiplier in qdf_wait_for_event_completion APIs such that
for emualtion setups timeout values are adjusted accordingly.

Change-Id: I661cf63a963938b2d61377980335b2f209656b4e
CRs-Fixed: 2151194
2017-12-06 10:06:12 -08:00
Ruchi, Agrawal
34721398d5 qcacmn: Host CCE Classification Changes
Host CCE Classification changes for RAW Mode workaround
H/w CCE hangs while classfiying raw packets
so the classification is moved to host

Change-Id: I75cfc6b140a7983fcdfb797c93b9fd57f01c5ee3
2017-12-06 06:57:02 -08:00
wadesong
41f857eb31 qcacmn: Debug print rate limiting
Implement driver debug print rate limiting in HIF SDIO RX
path and QDF nbuf allocation path to avoid driver
inactivity watch dog time out when the platform is facing
great memory pressure.

Change-Id: Ifa4fe3e7027150fd1469df58049776fca8aa6f2f
CRs-Fixed: 2148314
2017-12-04 23:38:59 -08:00
Mohit Khanna
90d7ebd385 qcacmn: add periodic data traffic stats
Add support for periodic stats for data packets to be displayed in
wlan driver logs.

Change-Id: Ifb8fc5cabb8ecd31da83b5d307721c1d41a30f9d
CRs-Fixed: 2118581
2017-12-04 19:47:14 -08:00
Manjunathappa Prakash
71772a5317 qcacmn: skb->cb reorganize, use new FLOW_ID macro
Fix compilation failure because of skb->cb reorganize change.
Use new macro QDF_NBUF_CB_RX_FLOW_ID instead of
QDF_NBUF_CB_RX_FLOW_ID_TOEPLITZ

Change-Id: I4f34c4710c4352a1895d0a08ce7f2e0632b1d30a
CRs-Fixed: 2120295
2017-12-02 01:41:00 -08:00
Vivek
de90e59667 qcacmn: Reorganize the tx & rx member of skb->cb structure
The current tx & rx member of skb->cb structure has lot of common members
duplicated across win & mcl sub structures.
The common members are now moved out
and new members are added as per the requirement.
Also the members are organized to avoid additional padding
and fit within the 48 byte boundary for both 32bit & 64 bit platforms.

Change-Id: I27abc95d51127513cf2e7e9657a4ee84324b2cc9
CRs-Fixed: 2120295
2017-12-02 01:40:58 -08:00
Dustin Brown
013400c3e1 qcacmn: Add several QDF logging APIs
For use by various QDF features, add the following convenience logging
APIs. These APIs mirror logging helpers used by other components.

	* qdf_alert
	* qdf_err
	* qdf_warn
	* qdf_info
	* qdf_vtrace_msg

Change-Id: I0e9194eeaf34ffca2b2130c4a7e62300e2e41ecc
CRs-Fixed: 2144969
2017-11-30 19:38:16 -08:00
Om Prakash Tripathi
fcb34c7f2c qcacmn: Fix different lock being released than taken
1. Fix a case in dp where lock is taken on tso segment but
   released on tso desc.
2. Increment dma alloc size if allocation is successful

Change-Id: I73d54026a1c268597105096925d138008c2d8c1e
CRs-Fixed: 2131278
2017-11-23 01:34:40 -08:00
Manjunathappa Prakash
8fa36d4127 qcacmn: skb memory leak, log skb being leaked
Log skb address being leaked, it will help to identify the
state of skb during memory leak.
For example if it was dma mapped, by looking at skb->cb fields

Change-Id: I09e9aa9f69ef6b24e709bfbd25c12ac00ab1167c
CRs-Fixed: 2142469
2017-11-16 07:22:10 -08:00
Linux Build Service Account
519d203401 Merge "qcacmn: Change format specifier %p to %pK" 2017-11-15 11:57:36 -08:00
Mahesh Kumar Kalikot Veetil
9655be589a qcacmn: Change format specifier %p to %pK
The printk format '%pK' will not leak kernel pointers to unprivileged
users. So change the format specifier from %p to %pK.

Change-Id: Ia229433dbbadc69cc1442c9e683659b8194e30b5
CRs-Fixed: 2133315
2017-11-15 11:23:22 -08:00
Yun Park
fd269b5021 qcacmn: Remove kernel includes from datapath
To abstract kernel header inclusion, create a new QDF APIs for all IPA
APIs and redirect all IPA API calls through QDF interfaces.

Change-Id: I7bff975ad7cb32fc128320c124633594471e0a1f
CRs-Fixed: 2098907
2017-11-11 19:25:09 -08:00
Dustin Brown
231f929686 qcacmn: Add QDF cpu hotplug APIs
Currently, there are two consumers of the Linux kernel CPU hotplug APIs.
Besides being problematic for not being operating system agnostic,
different versions of the Linux kernel export different CPU hotplug
APIs. In order to consolidate the various abstractions for different
operating systems and API versions, create a CPU hotplug abstraction in
QDF.

Change-Id: Ib17c6e3ed3a87a90a82d909a6c493360cab27855
CRs-Fixed: 2132632
2017-11-07 13:42:43 -08:00
Deepak Dhamdhere
7e0b8ba31a qcacmn: Create roam debug log infrastructure
Add a circular buffer to hold roaming related debug log information
for peer and vdev operations in the driver. Purpose is to dump
this information after host or target crash. 256 entries will go
back much deeper into history than dmesg or wlan driver logs found
in crashScope. Information is dumped out as error messages from
crash detection points as necessary.

The support routines help to store the debug logs and dump them,
typically after peer related timeout or assert.

wlan_roam_next_debug_log_index () - Utility routine to compute next index
wlan_roam_debug_log() - Adds a log entry
wlan_roam_debug_string() - Returns debug log type string
wlan_roam_debug_dump() - Dump all wlan roam debug log records

Add new QDF module ID QDF_MODULE_ID_ROAM_DEBUG.

CRs-Fixed: 1116078
Change-Id: If2077f560405ec0414d08ef4ece0fb0d2db2ccc7
2017-10-31 17:39:09 -07:00
Houston Hoffman
c6d785d033 qcacmn: Support non atomic skb allocation
Improve reliability of skb allocations from non atomic callers
by letting them sleep.

Change-Id: If5a594519902ebe549fbc1ebd8c0eb97679cdcae
CRs-Fixed: 2127770
2017-10-27 19:37:28 -07:00
Sravan Kumar Kairam
786886b483 qcacmn: Management MGMT TXRX component over HTT
Currently there is no support for management MGMT TXRX
component over HTT endpoint and supports only over WMI.
As a result for platforms which does not support MGMT
over WMI will break other components which uses MGMT TXRX
component to send mgmt packets.

In this change implement changes to support MGMT TXRX
component over HTT.

Change-Id: I487aca3893aa21905a744e2e5dc7104e6c414fdc
CRs-Fixed: 2097694
2017-10-25 17:48:07 -07:00
Poddar, Siddarth
a8cff1d786 qcacmn: Restrict each tso segment to 6 frags max
HW has the limit on the number of fragments per tso
segment of FRAG_NUM_MAX (=6).
When running traffic, network stack may send many small
messages which could result in tso segment has more number
of fragments than 6.
Therefore, ensure that tso segment should not contain
more than 6 fragment even if tso size is less than gso seg size.

CRs-Fixed: 2107317
Change-Id: I08f604e4f7fa6a1d6ab065c2360bba883328e5f2
2017-10-25 07:40:44 -07:00
Hanumanth Reddy Pothula
fb715349e3 qcacmn: Include bitops.h header file to resolve compilation errors
Resolve compilation errors observed on 32-bit platform by including
bitops.h header file.

Change-Id: I907fa298a4ba1e4784dc85166b042512181b0c71
CRs-Fixed: 2037507
2017-10-24 16:40:17 -07:00
Nachiket Kukade
110e03024d qcacmn: Create a list for events and force complete them during SSR
During an SSR/PDR any threads waiting on an event won't be purged
unless they are timed out. This increases the recovery time taken
by the host after an SSR/PDR. Before waiting on an event, put the
event in a list. During an SSR set all the events in the list and
return error to the threads.

Change-Id: Iac4790a88cde1665fba4c23924566b4b309a2b03
CRs-Fixed: 2045141
2017-10-23 01:55:57 -07:00
Mahesh Kumar Kalikot Veetil
44c6d56027 qcacmn: Fix a double free crash
The atomic flag 'mem_struct->in_use' should be accessed only after
a sanity check for 'mem_struct' in the function qdf_mem_free(). There is
a possibility that a double free can cause panic before the debug
logic kicks in.

Change-Id: I162b7e72e0f28f8808a7ae56efabb6620d17a6bd
CRs-Fixed: 2073968
2017-10-17 03:02:10 -07:00
Aniruddha Paul
b2f7ab65cf qcacmn: Added new debug module id for NSS
A new debug module ID is added for NSS offload.

Change-Id: Ie14aa4fda6ff9d68eb8b810fa3e7071addf8e1c6
CRs-Fixed : 2125829
2017-10-17 03:02:08 -07:00
Mahesh Kumar Kalikot Veetil
457b5a25c0 qcacmn: Add debugfs API definition
Implement debugfs APIs abstraction for Linux. If a particular operating
system is not supporting debugfs or similar feature, these API's will
be a no-op.

Change-Id: I51316012876fec258e546fce8fc2f877e4311343
CRs-Fixed: 2097140
2017-10-17 00:07:47 -07:00
Mahesh Kumar Kalikot Veetil
164ecb724a qcacmn: Add QDF file permissions
Add file permissions and a function to map that to Linux OS. Also
define a type for __qdf_dentry_t and __qdf_debugfs_file_t.

Change-Id: I91b293b262d955324e65157909ca9d3b831e2cf6
CRs-Fixed: 2097140
2017-10-17 00:07:43 -07:00
Varun Reddy Yeturu
2576425ab6 qcacmn: Fix serialization log to use proper module ID
Fix serialization log to use proper module ID.
Replace QDF_MODULE_ID_HDD with QDF_MODULE_ID_SERIALIZATION.

Fix logging levels as per logging guidelines.
INFO_HIGH is not supposed to be used anymore.

Change-Id: I349254abc36565e5ba520d46588e5c3e27178ad9
CRs-Fixed: 2090993
2017-10-14 05:59:23 -07:00
Dustin Brown
e8dffb2cc9 qcacmn: Cleanup qdf_print_thread_trace conditional compilation
Initially, save_stack_trace_tsk was not exported from the Linux kernel
for ARM targets. This export has since landed in the 4.14 upsteam
kernel, and internal msm-4.4 and msm-4.9 kernels have added a backport
flag for this export. Cleanup the conditional compilation surrounding
qdf_print_thread_trace to reflect the new situation.

Change-Id: I0c98b38dddf460d4a65c0f19ebce609bd83bbf10
CRs-Fixed: 2126609
2017-10-13 12:49:37 -07:00
Dustin Brown
f653d16e6c qcacmn: Remove qdf_handle_t from unused qdf_defer APIs
There are many QDF APIs require a qdf_handle_t parameter. None of these
APIs actually use the qdf_handle_t parameter, meaning it can be
completely removed. As a step toward globally removing this unused
type, remove qdf_handle_t parameters from unsed qdf_defer APIs.

Change-Id: I0568aa7cbd430abc0d046143482a067d96bf6313
CRs-Fixed: 2112646
2017-10-12 14:22:02 -07:00
Yun Park
2fedb13531 qcacmn: Add IPA ownership clear for Intra-BSS Tx packets
Set IPA ownership for intra-BSS Tx packets to avoid skb_orphan(), and
clear the ownership after check it to avoid ipa_free_skb() is called
when Tx completed.

Change-Id: I03883773e418bb5518ea63a324d22503173ea436
CRs-Fixed: 2064191
2017-10-12 14:21:44 -07:00
Anurag Chouhan
6e56986cae qcacmn: Introduce QCA_NL80211_VENDOR_SUBCMD_HANG
Event indicating to the user space that the driver has detected an
internal failure. The driver is expected to recover from such a failure
automatically, e.g., by resetting the device.
This event carries the information indicating the reason that triggered
this detection.

Change-Id: Ia13e6f102e5e18ec4864ed258728369d51a77ff4
CRs-fixed: 2120886
2017-10-06 07:58:02 -07:00
Sravan Kumar Kairam
49bc225a92 qcacmn: Implement nbuf alloc fail replenish timer
Implement nbuf alloc fail replenish timer which starts when
there is an nbuf allocation failure and stops when there is
an nbuf allocation success with in the timer expiry duration.

Change-Id: Ie956ea144dec4323664632d00bb8f0f82ba22439
CRs-Fixed: 2036900
2017-10-05 12:18:20 -07:00
Poddar, Siddarth
bf4231b6d8 qcacmn: Add support to log ICMPv6 packets in DP Trace
Add support to log ICMPv6 packets such as NS/NA, RS/RA and
ICMPv6 Req/Res in dp trace.

Change-Id: I11aab230b03254ea46c019cdb4488d1439a9504d
CRs-Fixed: 2075963
2017-10-03 16:02:25 -07:00
Sravan Kumar Kairam
66d15b2908 qcacmn: Record nbuf free information for debug
During network buffer free record the information such as file name,
line number, net buff address and time stamp. This helps to debug
issues related to buffer access after free.

Change-Id: I579a4764d8ea08210a3eedd349780cab2c081e3a
CRs-Fixed: 2071563
2017-09-29 05:40:03 -07:00
Jeff Johnson
f48993dd63 qcacmn: qdf: Replace instances of unadorned %p
Replace instances of unadorned %p in qdf.

Change-Id: Idd264d99d9f275364a30d8b1c0b5f1a0501a7f0f
CRs-Fixed: 2111274
2017-09-28 04:48:08 -07:00
Dustin Brown
1d5f7ede48 qcacmn: Flush memory table on debugfs iterator stop
When printing memory allocations via debugfs, the dedupe table is
flushed to output when it reaches capacity. If the dedupe table is not
full when the allocation enumeration is complete, the entries contained
will be dropped. Flush the dedupe table to output one last time when
enumeration is complete to avoid dropping memory allocations from the
output.

Change-Id: I10f866b7bfa13c871d75e3e4ff798a8a820482df
CRs-Fixed: 2110106
2017-09-21 16:41:55 -07:00
Dustin Brown
37dd1494e6 qcacmn: Interpret delayed work interval as milliseconds
The QDF delayed work APIs currently expect delay intervals in terms of
jiffies. Since QDF is OS agnostic, and jiffies are Linux specific,
interpret delay intervals in terms of milliseconds instead. This aligns
the delayed work APIs with the general timer APIs as well.

Change-Id: I9b9300425baa0857c35f63823de2037a954eed1f
CRs-Fixed: 2111987
2017-09-21 16:41:46 -07:00
sumedh baikady
86a83e8927 qcacmn: Fix Radiotap headers in monitor mode
In monitor mode, code decodes legacy rates and bandwidth information for
HT and VHT. Other changes include populating radiotap header with correct
nss and mcs values for legacy, HT and VHT frames. Mapping of mcs rates in
rx_msdu_start tlv and radiotap header info is done using Lithium data
structure document.

Change-Id: I5f20e5d89329738e3a6c076ee14457c003cab279
CRs-fixed: 2083027
2017-09-18 17:45:54 -07:00
bings
81b317efbf qcacmn: Enable preAlloc support for SKB buffers
Enable support to use SKB Buffers allocated during bootup for
low memory targets.

Change-Id: Ia55c38767804c5915b9d29d3c61bff236d12cacd
CRs-Fixed: 2067334
2017-09-18 07:55:38 -07:00