コミットグラフ

114 コミット

作成者 SHA1 メッセージ 日付
Naveen Rawat
1cbd823f1b qcacmn: Send beacon frame in wmi_roam_invoke_cmd
Send beacon frame in wmi_roam_invoke_cmd to firmware
This helps firmware skip scan to connect to requested
BSSID.

Change-Id: I5c6e375309dcb3bdd6430a3d501bade5cfe2e88d
CRs-Fixed: 1116901
2017-02-22 17:46:18 -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
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
Abhishek Singh
f71721f8ae qcacmn: In qdf malloc use GFP_ATOMIC if in_atomic is set
Currently GFP_KERNEL flag is used to get memory in qdf malloc
even if in_atomic is set.

So in qdf malloc use GFP_ATOMIC if in_atomic is set.

Change-Id: I1992ab4f6c868fcc18285c5cca9c9997433936bf
CRs-Fixed: 1117206
2017-02-08 02:20:19 -08:00
Ashish Kumar Dhanotiya
d199fcb394 qcacmn: Add the modules names for qdf debug framwork
Some modules are added and are not present in the category name array.

Add the names of the new modules in the qdf category name array.

Change-Id: Ie1fe5afe8b1c7ac7e97b537297bead75ddd7811e
CRs-Fixed: 2002771
2017-02-06 20:56:35 +05:30
Vijay Pamidipati
28285a0ac7 qcacmn: Add QDF WAR for x86 to allocate consistent memory from high mem
Add a WAR to ensure consistent memory allocation is
above 0x50000000 region for x86 builds for Lithium

CRs-Fixed: 1112381
Change-Id: If9e05f9d4ba05676d66e065d663a268058f0c110
2017-02-06 02:15:04 -08:00
Vivek
315fe40bee qcacmn: Enable the scheduler based timer
Exporting the QDF timer API's required for enabling scheduler based timers.
Fixed the compilation issues when scheduler code is enabled.

Change-Id: I148bb17c361fdff101fab3711af3c0a6c4158963
CRs-Fixed: 1117366
2017-02-05 02:12:31 -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
Houston Hoffman
8d67f466cc qcacmn: Add acquired by to lock stats
Record the last function to acquire a lock.  Improve
detectability for failure to release spinlocks.

Change-Id: I4c13dfbb2dad322c119914a325ff9edeee60fbf4
CRs-Fixed: 1111956
2017-01-31 18:53:09 -08:00
Houston Hoffman
ea5d86fe25 qcacmn: Add spinlockstats list
Keep all spinlocks on a list for offline debugging.
Also support detection of duplicate destroy calls.
Also support detection of not calling spinlock_destroy.

Change-Id: I75f520bb87c06111eabf0f610d4751e98a932c99
CRs-Fixed: 1111956
2017-01-31 18:53:08 -08:00
Houston Hoffman
ee0e0bbc33 qcacmn: balance spin_lock_create (mc_timer)
Adding lock stats print upon spinlock & mutex destroy.
Without the destroy api invoked the lock stats are not printed.

Change-Id: I670bef0aeca03b61ad6d2f1ffec404b6c33f9002
CRs-Fixed: 1100505
2017-01-31 18:53:04 -08:00
Houston Hoffman
b6cbf5e312 qcacmn: add stats to spinlock & mutexes
Wish to profile spinlock & mutex usage.
Bug on when spinlock is being used to protect
large regions of time.
(1mS for irq disabled, 5mS for bh disabled,
5ms for regular spinlock).

Change-Id: I95190a0d3d407a91a869f9f015e61d75e80830a7
CRs-Fixed: 1100505
2017-01-31 15:32:32 -08:00
Houston Hoffman
7dcbb86c23 qcacmn: Introduce qdf_spin_is_locked
Add a wrapper to check if a spinlock is currently
locked without acquiring it.

Change-Id: I867cfd00a61b1632e9652cdffc896b2654e3c338
CRs-Fixed: 1100505
2017-01-31 13:51:21 -08:00
Houston Hoffman
94f80a1b70 qcacmn: make qdf_print useable without qdf_trace.h (2)
qdf_trace prototype needs to be defined as well.
note: i_qdf_trace.h is still needed for qdf_print
to be used, but we have removed dependencies of
i_qdf_trace.h on other include files (so this is fine).

Change-Id: I01052d00c1619e4847de702a687554badd47882f
CRs-Fixed: 1100505
2017-01-31 13:51:17 -08:00
Sathish Kumar
febd4b7b54 qcacmn: Update QDF Debug Framework
Update QDF debug framework with API to store and to get the print index.

As a part of QDF framework convergence, we need to update the QDF framework.

Add API to handle the print index in the converged QDF framework.

Change-Id: I871c09189202d021405777db732e8821e7aaca7c
CRs-Fixed: 1108907
2017-01-31 19:33:48 +05:30
Poddar, Siddarth
d56844e3e5 qcacmn: TSO MAP-UNMAP individual segments one by one
Change the static allocation of tso common info to dynamic
allocation to use this structure later on.
Introduce one more element in tso common info structure
use to store the dma address of EIT header which can be
repeatedly use to assign to the dma address of the 0th fragment
of all the tso segments corresponding to one jumbo skb.

CRs-Fixed: 1106688
Change-Id: I572c7dcd2d29cb19b398e13e0fe7ce6f88ee1641
2017-01-26 22:27:27 -08:00
Mahesh Kumar Kalikot Veetil
66513f2083 qcacmn: Fix a compilation error on QDF mem stats
Correct a dependency between MEMORY_DEBUG and WLAN_DEBUFS. QDF memory
stats is expected to be enabled only when MEMORY_DEBUG feature is
there.

Change-Id: Id14b5ccfa532660b24087f9456f99b1d41f5420c
CRs-Fixed: 1108556
2017-01-25 18:33:02 -08:00
Mahesh Kumar Kalikot Veetil
bdcb4db461 qcacmn: Add QDF memory stats
Create debug file system entries to show current QDF memory usage.
The 'list' option adds a little overhead, which is minimized by
locking node by node while traversing the entire allocated memory
list. Major operation is lock-less, using node reference count.

Following debugfs entries are added,

	1. /sys/kernel/debug/<module_name>_qdf/mem/list
	   This lists QDF allocation by file and line number. It takes
	   some time to traverse the entire allocated list.

	2. /sys/kernel/debug/<module_name>_qdf/mem/kmalloc
	   This file shows total kmalloc done by qdf_mem_alloc().

	3. /sys/kernel/debug/<module_name>_qdf/mem/dma
	   This file shows total allocation done by qdf_mem_alloc_consistent()

Change-Id: Ie40a7cb6ee03dd58aebd0fbda0118ab06b64725a
CRs-Fixed: 1084097
2017-01-25 18:33:01 -08:00
Mahesh Kumar Kalikot Veetil
e79aee03e8 qcacmn: Add debugfs support
Create a root directory for debugfs at
/sys/kernel/debug/KBUILD_MODNAME_qdf/. The module name,
KBUILD_MODNAME, is used in the path to avoid conflict in case of
multiple instances of the same driver.

Any sub module in QDF can use this as the root directory to add
further files of directories. While unloading the driver the exit
routine does a recursive cleanup of any remaining files or
sub directories.

Even though debugfs is a Linux specific feature, a logic which is
related to file system for debugging can be added here.

This feature is protected with a compilation flag WLAN_DEBUGFS.

Change-Id: I21cae38b69f45c22121dfe70fe84f02423a26020
CRs-Fixed: 1083771
2017-01-25 18:32:59 -08:00
Sathish Kumar
fc93b2d84d qcacmn: QDF Converged Debug Framework
QDF Debug Framework is implemented that will be used across
WIN and MCL to converge the debug methods used currently.

These changes have passed basic dev validation, carried out
by exercising each of the APIs.

Also, WIN validation is complete with these framework changes tested by
registering to the framework and adapting to the new converged trace API
qdf_trace_msg_cmn.

Change-Id: I4b87c910906cf0a49e91b1000f5218402cd45fe2
CRs-Fixed: 1102956
2017-01-23 04:32:15 -08:00
Debasis Das
f3740946da qcacmn: Enable Log Level for QDF_TRACE prints
The WIN-specific macro for QDF_TRACE should use the
log-level.Currently,it is defined to printk which
results in flooding the console with debug prints of all
levels.

CR's Fixed: 1112458
Change-Id: Ic63c695fdc667af02595f9217f1bf365f76317f0
2017-01-20 02:43:42 -08:00
Arunk Khandavalli
cae132b6a9 qcacmn: Get monotonic boottime from kernel in nano sec
qcacld-2.0 to qca-wifi-host-cmn propogation

Add support to get the boot time from kernel in nano seconds.

Change-Id: Iaa512248a5e56d77cff39da562e0c9ee4eaeeefd
CRs-Fixed: 1107219
2017-01-16 01:14:59 -08:00
Sathish Kumar
59113a4840 qcacmn: Add generic logging API adhering to converged framework
As part of cleaning up direct printk calls in WIN driver, a new
generic wrapper API QDF_PRINT_INFO() is added that is based on
the converged QDF debug framework.

All printks in the WIN driver will be replaced by calls to QDF_PRINT_INFO()
which will in-turn compile converged QDF trace API. Generic shared print
control index and module ID are defined for this purpose.

Change-Id: I818fbce9e46526ccdb4824d988b76c43e43eb3a4
CRs-Fixed: 1106829
2017-01-09 02:00:03 -08:00
SaidiReddy Yenuga
186c3da226 qcacmn: Add check to avoid adf_dp_trace_cb_table over read
The size of adf_dp_trace_cb_table array is 30, possible over
read of adf_dp_trace_cb_table array in adf_dp_add_record API.

Add index condition check for adf_dp_trace_cb_table to avoid
array over read.

CRs-Fixed: 1041684
Change-Id: I4f0f9dda239efd404dff3f92b68a45aaf71875ae
2016-12-22 12:08:20 +05:30
Rajeev Kumar
e91c6cf5c9 qcacmn: Separate qdf event complete and exit APIs
QDF already has event complete API. Define a separate new
API for exit in QDF and re-use qdf_event_set for event
completion.

Change-Id: If332425ee71b0a4759e0550a33add35e61680309
CRs-Fixed: 1101614
2016-12-16 20:46:31 -08:00
Yun Park
e23f9dd9c6 qcacmn: IPA uC: Round down Tx/Rx buffer count to nearest power of two
qcacld-2.0 to qcacmn propagation

In certain situation, allocated Tx buffer count could be an arbitrary
number, so not power of two. This could violate F/W ring buffer count
requirement. If allocated Tx buffer count is not power of two, round
down it to the nearest power of two.
The same change is also applicable for INI parameters IpaUcTxBufCount
and IpaUcRxIndRingCount.

Change-Id: I7c119886a669c79adbc7bd9b2c1c1d93de41cf72
CRs-Fixed: 973723
2016-12-15 23:17:13 -08:00
Krunal Soni
616c11233a qcacmn: Delete obsolete CONFIG_MCL from qdf_mc_timer.c
Delete obsolete CONFIG_MCL from qdf_mc_timer.c as cds_mc_timer.h/.c
are going away.

Change-Id: I9aaa7301ce46b001a1ce99ea46d5d92db0cfe73c
CRs-Fixed: 1095867
2016-12-14 21:17:05 -08:00
Krunal Soni
66eabcfdcc qcacmn: Add control path scheduler to common driver
Add control path converged scheduler functionality to common
driver.

Change-Id: I2087b985b4bed661c03e667dbcc082714add1266
CRs-Fixed: 1095867
2016-12-12 22:24:34 -08:00
Himanshu Agarwal
c61fdf6ea0 qcacmn: Change time format and default configuration in DPTRACE
Fix below in DPTRACE feature:
1) Change timestamp in DPTRACE records to hr:mm:sec.usec format.
2) Change default configuration in qdf_dp_trace_clear_buffer()
   to match that of qdf_dp_trace_init().

Change-Id: Ibad674e3b94a2c7ac5cbefa5fc18efb48f6ca694
CRs-Fixed: 1098928
2016-12-12 14:43:35 -08:00
Kai Liu
62e4d70de3 qcacmn: Store tx desc id in sk_buff instead of skb head
qcacld-2.0 to qcacmn propagation

Store tx desc id in skb_buff.

Change-Id: I2186a06ad3ec929683292c4c052904a18427cc64
CRs-Fixed: 951208
2016-11-24 20:21:10 -08:00
Ankit Gupta
7ee2ab073b qcacmn: Increase timeout values for napier emu
Increase the timeout duration for protocol events
for napier emulation platform.

Change-Id: I358259801018dc7ce48bd85f35594dec44704017
CRs-Fixed: 1089638
2016-11-21 15:20:02 -08:00
Sathish Kumar
5b2cd35073 qcacmn: Add vap_hardstart function to NIC_DEV structure
vap_hardstart function was added as a structure element to NIC_DEV
as part of OL/DA modularization. These changes were added in the
NIC_DEV structure in osdep_adf_internal.h

Move declaration to NIC_DEV in qdf/linux/src/i_osdep.h introduced
as part of QDF convergence.

Change-Id: Ie9ea734818cbf4b335831155f55701549b13f435
CRs-Fixed: 1090532
2016-11-17 21:25:09 -08:00
Houston Hoffman
8a3539345e qcacmn: Do not export dump_hex_trace
Since dump_hex_trace is defined as a static function,
it should not be exported. The 2 scopes conflict.

Change-Id: Ia39a4fdcffeffa452b684f77d015eabd421e89e8
CRs-Fixed: 1089727
2016-11-15 02:18:23 -08:00
Houston Hoffman
78feca302e qcacmn: Prepend DPT timeout messages with 'DPT:'
Mark the timeout messages in qdf_dp_display_record with
the 'DPT:' prefix and print them with the same error
level as other DPT messages.

Note that there are allready error level logs in HDD to
indicate that a timeout occured. The value add here is that
this timeout is noted in the contect of DPTRACE where prior
successfull packets will also have been logged.

Change-Id: I87b041895462474d37d092d48aa4c7e957ff45c5
CRs-Fixed: 1089725
2016-11-15 02:18:22 -08:00
Houston Hoffman
bba5ca6af7 qcacmn: Reduce log level of DPTRACE prints
DPT prints were flooding kmesg and causing watchdog bark
in stress testing cases.  Reduce log level to info and
only include the prints in the driver log.

Change-Id: If6ba6786cfe9ff050a21673002ef273a670c3f68
CRS-Fixed: 1089051
2016-11-15 02:18:20 -08:00
Manjunathappa Prakash
2146da30dd qcacmn: Add changes for per NAPI or per Rx CE LRO manager
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.

Change-Id: I90604ffdf7b7fd930eee636426a4c7fc9b92c7d7
CRs-Fixed: 1079320
2016-11-15 00:35:31 -08:00
Sreelakshmi Konamki
e2e313532a qcacmn: Change time format of MTRACE logs
qcacld-2.0 to qcacld-3.0 propagation

MTRACE logs timestamp format is different from logcat logs,
and it's difficult to correlate with other logs.

This fix changes the timeformat of MTRACE logs
from qtimer ticks to hr:min:sec:msec

Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804
CRS-Fixed: 1049125
2016-11-08 22:54:45 -08:00
Mohit Khanna
6e1de59a3e qcacmn: Fix DP trace logging during HDD Tx timeout
Currently on a HDD Tx timeout, we are recording the event in DP Trace
framework. Currently the framework is unable to handle calls where skb
is NULL.
Add code to handle cases in qdf_dp_trace where the skb could be NULL.

Change-Id: I4d04cd59f11f19c4ba81219925c7f3011c97de29
CRs-Fixed: 1083941
2016-11-04 11:13:32 -07:00
Service qcabuildsw
2a3162d0e5 Merge "qcacmn: add tx descriptor handle" into wlan-cmn.driver.lnx.2.0-dev 2016-11-01 14:54:49 -07:00
Leo Chang
c2a7b763d1 qcacmn: add tx descriptor handle
Add memory optimized tx descriptor alloc, free and handle code

Change-Id: Iabd499b7690bbf8bc09223ea7e72e8f81818482a
CRs-fixed: 1076601
2016-10-31 09:54:11 -07:00
Himanshu Agarwal
3f54962309 qcacmn: Enable logging of all DPTRACE logs for protocol packets
Enable logging of DPTRACE logs at each layer of driver and at tx
completion for all tx as well as rx protocol packets.

Change-Id: Id568c19196702034989a0f55490bc62667b3b20e
CRs-Fixed: 1083002
2016-10-28 04:09:12 -07:00
Himanshu Agarwal
c0b7145916 qcacmn: Add infrastructure to log roam events in DPTRACE
Add infrastructure to log all roam related commands and
events in DPTRACE.

Change-Id: I66773fc23dfeacf3a63688819e099bf44676d95b
CRs-Fixed: 1081851
2016-10-26 10:49:22 -07:00
Jeff Johnson
4729b6f857 qcacmn: Fix -Wmissing-prototypes in QDF
We want to enable the compiler's -Wmissing-prototypes switch, but
there is existing code that is generating warnings. Fix all warnings
in qdf.

Change-Id: Ib499e7d0a5bfb6d2e5a7eaa7fbe769bb2b49772a
CRs-Fixed: 1076314
2016-10-25 17:08:40 -07:00
Himanshu Agarwal
0bf10fa3b2 qcacmn: Print proto type for ICMP/ICMPv6 packets
Propagation from qcacld-2.0 to qcacmn.

Print proto type for ICMP and ICMPv6 packets which
cause wow wakeup in HOST driver.

Change-Id: I6d8cf8ad65652205bfad1a3531daf48a42a79350
CRs-Fixed: 1080772
2016-10-25 13:10:09 +05:30
Srinivas Girigowda
8a0b665897 qcacmn: Replace DEBUG macro with WLAN_DEBUG
This is a qcacld-2.0 to qcacld-3.0 propagation.

pr_debug() should not appear by default in kernel log (kmsg).
DEBUG is a kernel macro, since host driver is using the same name macro,
pr_debug log statements are appearing in kmsg.

Fix this by moving the code under DEBUG to WLAN_DEBUG and
remove DEBUG macro from Kbuild.

Change-Id: I5bb385f91f9b6ba15629a5878625fefc21d4a7e1
CRs-Fixed: 1003261
2016-10-20 01:39:05 -07:00
Houston Hoffman
da6120072f qcacmn: Reduce log level in qdf_nbuf_track_memory_manager_destroy
These logs were being printed in the kmesg durring every unload.
Questions about these logs wasted time and indicated the logs were
too prominent and confusing.

Only log nbuf tracking free list stats to the kernel log when
unexpected conditions occured.  Also distinguish between pre-filled
tracking nodes and nodes that were used to track nbufs.

Change-Id: I835ef2a04500dbab3229e6765fe7a168c05837fa
CRs-Fixed: 1072098
2016-10-07 18:12:14 -07:00
Houston Hoffman
125423fde1 qcacmn: Add cb funtion to qdf_dp_trace_cb_table for QDF_DP_TRACE_MAX
Function tables based on enums should have entries for all available enum
values.

Change-Id: I452006d177c7651c43938de47fdff5fe78d2e582
CRs-Fixed: 1072077
2016-10-07 18:12:11 -07:00
Padma, Santhosh Kumar
75394d6c8f qcacmn: Dump driver information
qcacld-2.0 to qcacmn propagation

Dump state information of HDD, SME, PE and WMA layers
into a buffer. Contents of this buffer will be copied
into user space using proc entry /proc/debugdriver/
driverdump.

Change-Id: Ifbb102e440d7df20defa1a397964cb9b55082bf9
CRs-Fixed: 955357
2016-10-07 12:54:59 -07:00