A compilation error occurs if MEMORY_DEBUG is not enabled. Fix this
issue by moving the definition of qdf_mem_prealloc_put and
qdf_mem_prealloc_get outside of the MEMORY_DEBUG region.
Change-Id: I17b4ae2cd65658e961bf7aa37518635bb94b5a95
CRs-Fixed: 2017447
Memory preallocation is hidden behind two flags, CONFIG_CNSS and
CONFIG_WCNSS_MEM_PRE_ALLOC. Remove the check for CONFIG_CNSS, as the
presence of CONFIG_WCNSS_MEM_PRE_ALLOC is enough.
Change-Id: I233f6f31065c2d1da1ffb25a5013a17ac0b99246
CRs-Fixed: 2016844
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
Add new get_tso_num_seg API with specific address range checks
needed for QCA8074 emulation platform.
Change-Id: I00dcfa51cd8bf8b6167c68a18a2c0a1aa7661679
CRs-Fixed: 2004658
print complete RX TLVs in human readable format
when ever we encounter an error in RX path
Change-Id: I054556fd599db75b94eadb7647f4cd589cbfb700
CRs-Fixed: 2003183
__qdf_nbuf_get_tso_num_seg is defined under FEATURE_TSO but declared in header
file without FEATURE_TSO. Compilation can be successful when FEATURE_TSO is
disabled but there is unknown symbol error in driver loading.
Add fix to resolve this issue.
Change-Id: Ie01875405d65a0f43221cbfd42940747de0df916
CRs-Fixed: 2007179
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
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
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
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
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
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
Add a WAR to ensure consistent memory allocation is
above 0x50000000 region for x86 builds for Lithium
CRs-Fixed: 1112381
Change-Id: If9e05f9d4ba05676d66e065d663a268058f0c110
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
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
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
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
Record the last function to acquire a lock. Improve
detectability for failure to release spinlocks.
Change-Id: I4c13dfbb2dad322c119914a325ff9edeee60fbf4
CRs-Fixed: 1111956
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Delete obsolete CONFIG_MCL from qdf_mc_timer.c as cds_mc_timer.h/.c
are going away.
Change-Id: I9aaa7301ce46b001a1ce99ea46d5d92db0cfe73c
CRs-Fixed: 1095867
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
Increase the timeout duration for protocol events
for napier emulation platform.
Change-Id: I358259801018dc7ce48bd85f35594dec44704017
CRs-Fixed: 1089638
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
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
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
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
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
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
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