Graf commitů

81 Commity

Autor SHA1 Zpráva Datum
VIJAY RAJ
b3113d5540 qcacmn: TX status conversion for Datapath frame during diag logging
Wrong value of tx status sent to supplicant for Datapath frame
via diag logging.

Convert the tx status value to enum diag_tx_status specific value.

Change-Id: I3bcf47ed5265d82fb64f1499f79e89be52d23a3e
CRs-Fixed: 3236391
2022-07-10 05:07:40 -07:00
Karthik Kantamneni
6380170e35 qcacmn: Introduce new QDF API's to handle skb and net dev requirements
Introduce new QDF API's to handle skb and net dev handling in
os abstract code.

Change-Id: If5a460df2c6c1b4068909fed6e5b3036623c2093
CRs-Fixed: 3164916
2022-04-22 13:19:19 -07:00
Yeshwanth Sriram Guntuka
ccb6664db1 qcacmn: Dump flow pool stats as part of periodic stats display
Dump flow pool stats even for low verbosity level as
part of periodic stats display.

Change-Id: Iea59d20b0a81cfd0bfdac65ad54a11fa33f30f2f
CRs-Fixed: 3031168
2021-09-13 13:04:58 -07:00
sandhu
81272da21e qcacmn: Add support to log ICMP packet seq no and ID
Add support to log ICMP seq no and ID in DPTRACE.
Other protcols can use this private proto data to record
there private data accordingly. Currently it is set to 0.
Increase the record entry from 40 bytes to 50 bytes.

Change-Id: Ief5fb26a97408a364af486f3eaec2e108de71d52
CRs-Fixed: 2951916
2021-07-07 04:28:14 -07:00
Adwait Nayak
c2c89243d8 qcacmn: Parse and update qdf module params
Read the file wifi_module_param.ini, in which wifi module params
are present and compare these module params with qdf module params
in qdf module init function.

If any of the module params belongs to qdf module is present,
then that particular module param is updted during qdf module init.

Change-Id: I76ef876f6c7be3cdffd93b6050a190438d60bf39
2021-04-27 16:13:11 -07:00
Aditya Kodukula
20380cee21 qcacmn: Add QDF infra for the minidump feature
Add QDF infra for minidump feature and define the
minidump_log and minidump_remove functions.

Change-Id: I875b991b7a7d9295f8b2acd95a7551a747ec962c
CRs-Fixed: 2856193
2021-03-09 21:06:54 -08:00
Vivek
69a1c93dc2 qcacmn: Rate limit prints to console from logging utility
The prints from the driver are rate limited based on the
configurations provided.

Also the prints which are redirected to user space daemon
and of certain log levels are also printed on the console.

Add a rate limiting version of the API for the prints coming
to console via the logging daemon.

CRs-Fixed: 2853590
Change-Id: I9683172ac0665b46581bad13a1050c6d70d72b5c
2021-01-19 03:52:13 -08:00
Vivek
3327a6a92b qcacmn: Add support for rate limiting QDF trace prints
The existing QDF implementation does the following
1. The QDF trace either prints to the console
2. The QDF trace message  is directed to the utils,
   which based on log level
	a. redirects to a user space daemon or
	b. redirects to console

There is excessive logging detection in the utils code
before redirecting the prints to  the console.
If the number of prints to console is more than
the configured threshold, we assert in development builds.

Moving the API for excessive logging detection from utils to
QDF trace.

The configuration for detection of excessive logging currently
is only for the number of prints per second.
Adding time configuration also to detection of excess logging
to the console.

CRs-Fixed: 2809752
Change-Id: Iecc408fc9b576fa900a6d7ee793639f1dde3110d
2020-12-02 10:45:34 -08:00
sandhu
f39a270b60 qcacmn: Add function to convert Hw to qdf status
Enhance qdf tx rx to hw tx completion status mapping .Function
to convert Hw to qdf status.Add a additional func arg to qdf_dp_trace_ptr.
Add dummy func argument to existing qdf_dp_trace_ptr func calls.

Change-Id: I38865d63dc7383c55686d2d0187a262b3b6d5acc
CRs-Fixed: 2810601
2020-11-19 20:39:12 -08:00
Ashish Kumar Dhanotiya
c9b7b0f885 qcacmn: Add feature flag for line number logging
Currently line number is not useful in the logs and to print
the line number consumes lot of memory in driver text area size.
To reduce the driver size add feature flag to enable/disable
line number logging in the driver.

Change-Id: Ie715ff9238545a5041c0241b731dc14460050316
CRs-Fixed: 2766247
2020-09-03 04:04:14 -07:00
Ashish Kumar Dhanotiya
a54735abdd qcacmn: Change data type of the code for qdf trace to uint16_t
Currently for qdf trace api data type of code is uint8_t, some of
the modules are inserting message id of type uint16_t because of
which some information is getting lost and post processing cmm
script is not able to parse these messages correctly.

To address above issue, change the data type of code for
qdf trace function.

CRs-Fixed: 2719767
Change-Id: I4461dc9c2f45e691317d318870dfdbce93929e12
2020-07-09 21:39:40 -07:00
Chaoli Zhou
47e9c6a997 qcacmn: Fix htt_status & A_STATUS map dp status wrong issue
The packet tx complete status from wlan fw define in htt_tx_status
doesn't match with packet trace feature used in qdf_dp_tx_rx_status,
Meanwhile A_STATUS also doesn't convert to correct qdf_dp_tx_rx_status,
so add two according APIs to fix it

Change-Id: Ic250175dd270632f40af14ad9499ddcafbb3033b
2020-06-01 05:23:26 -07:00
Yeshwanth Sriram Guntuka
4326a54376 qcacmn: Add qdf API to check for configured packet types
Add qdf API support to check if the packet should be
tracked as per the configured protocol types.

Change-Id: Ia9e937865d3d440f1350307a67e32b20ea218e54
CRs-Fixed: 2642156
2020-03-27 01:21:14 -07:00
Yeshwanth Sriram Guntuka
06c7cbb878 qcacmn: Modify pkt string for logging to console
Modify the qdf_get_pkt_type_string API to return
the packet type in case the packet does not fall
under the tracked packet subtypes and also increase
the rate limit values for EAPOL and DHCP packets.

Change-Id: Ie9681be64572346a09529043ef38dd57338700bb
CRs-Fixed: 2636540
2020-03-09 03:12:01 -07:00
Yeshwanth Sriram Guntuka
70ea6afc3f qcacmn: Add qdf APIs to support data pkt diag logging
Add support to send protocol data packet info via diag log
command to userspace at tx entry point, on receiving tx
completion indication and in rx path, before delivering the
packet to network stack.

Change-Id: I6a95a16b7ebedf505ecb501107b1bbb89b16b67d
CRs-Fixed: 2595799
2020-01-27 07:54:57 -08:00
Hangtian Zhu
7788a89ccd qcacmn: Fix compile issues when some features are disabled
Fix compile issues when some features are disabled, the features are:
BUILD_DEBUG_VERSION
CONFIG_CP_STATS
CONFIG_HOST_OPCLASS
CONFIG_FEATURE_ROAM_DEBUG
There are some other features depends on each other, so enabled features to
qcs40x.snoc.perf_defconfig, the features are:
CONFIG_WLAN_FEATURE_FILS
CONFIG_WMI_ROAM_SUPPORT
CONFIG_WMI_STA_SUPPORT
CONFIG_REG_CLIENT
CONFIG_WLAN_FEATURE_DP_BUS_BANDWIDTH
CONFIG_WMI_CONCURRENCY_SUPPORT
CONFIG_LL_DP_SUPPORT

Change-Id: I6fa1eacb79576a955e593dbb9ac52083742275e3
CRs-Fixed: 2584839
2019-12-18 23:55:00 -08:00
Nirav Shah
8f44a7e494 qcacmn: Add credit tracking for HL Data Path
Add credit tracking for HL Data Path in DPTRACE.

Change-Id: I6e2971209940c16a13a8ca7f1f0a3d7c1a26e305
CRs-Fixed: 2574057
2019-12-13 07:04:10 -08:00
Saket Jha
d8d9d99f94 Revert "qcacmn: Enable EAPOL/DHCP message tracing in Wifi driver"
This reverts commit I010c9295fd6ca42a950f84f0d7a19b00d8b0c0da due to
crash caused by excessive logging.

Change-Id: I38701eb5be9a25f38e4cb5738824b635a2b0442c
CRs-Fixed: 2535471
2019-10-03 12:34:48 -07:00
Karunakar Dasineni
af64fd1868 qcacmn: QDF wrapper to remove minidump entries
As part of minidump support, add QDF wrapper to remove
previously added entries.

Change-Id: Iae5ed874d6dbd2f6701f174b54d839fb0a13989c
2019-07-24 17:10:02 -07:00
Himanshu Batra
bcb10e6676 qcacmn: Add ascii dump support to qdf hex dump API
The existing hex dump API dumps hex data only.
Add API so that the ascii data can also be
dumped along with hex dump

Change-Id: Icbe74b26f47601a249e3d7ac701f2a19d70fb83b
CRs-Fixed: 2464738
2019-07-17 02:15:41 -07:00
Ashish Kumar Dhanotiya
709f9fb68f qcacmn: Update feature flag for qdf_trace macros
Currently qdf_print, qdf_alert, qdf_err, qdf_warn,
qdf_info, qdf_debug, qdf_nofl_print, qdf_nofl_alert,
qdf_nofl_err, qdf_nofl_warn, qdf_nofl_info, qdf_nofl_debug
macros are defined under CONFIG_MCL feature flag since
these trace prints are supposed to be used only for QDF
module with module ID as QDF_MODULE_ID_QDF, WIN is using
these definitions with module ID as QDF_MODULE_ID_ANY and
these are separated with feature flag CONFIG_MCL.
As a part of cleanup activity of CONFIG_MCL feature flag
move these WIN specific trace definitions under WIN
specific feature flag QDF_TRACE_PRINT_ENABLE.

Change-Id: I838f76f2e3f4c2dd28f0463fa6c9d981304b136e
CRs-Fixed: 2472021
2019-06-21 05:47:56 -07:00
Ashish Kumar Dhanotiya
f8ddbe1707 qcacmn: Remove unused QDF_DEFAULT_TRACE_LEVEL macro
QDF_DEFAULT_TRACE_LEVEL macro is not getting used in case of
MCL, as part of cleanup of CONFIG_MCL macro dependency,
move this macro definition to correct WIN specific
feature flag.

Change-Id: I75cbfd856308f0027ecb805a41c15966528f314e
CRs-Fixed: 2468286
2019-06-18 22:27:42 -07:00
Jeff Johnson
796998f706 qcacmn: Remove obsolete g_qdf_trace_info infrastructure
The original version of the QDF trace functionality, introduced in
Change-Id I1d0cdfd8730a5c021aaa50b7dc8549d491d760b3, included a log
filtering mechanism inherited from the MCC code.  This mechanism used
an internal table g_qdf_trace_info along with the following APIs which
were used to configure and query the table:
- qdf_trace_set_level
- qdf_trace_set_module_trace_level
- qdf_trace_set_value
- qdf_trace_get_level

Subsequently, as part of the MCC/WIN QDF convergence project,
Change-Id I871c09189202d021405777db732e8821e7aaca7c ("qcacmn: Update
QDF Debug Framework") updated the QDF trace functionality, and as a
result the usage of the g_qdf_trace_info table was replaced.

Since the legacy infrastructure is no longer used, remove it.

Change-Id: I1bb0c0e03c1d1e3227550477779d5db1549ff570
CRs-Fixed: 2461904
2019-05-31 21:56:14 -07:00
Karunakar Dasineni
23d22c6d8a qcacmn: Add minidump support in QDF
Add QDF wrappers for minidump logging, which logs
memory locations to be collected as part of minidump.

Change-Id: I2c6b648d3fbb3aed9aaf7eb4872df5befcae971f
CRs-Fixed: 2444081
2019-05-14 16:23:05 -07:00
Lin Bai
0577a01ab2 qcacmn: Fix compiler issue without CONFIG_DP_TRACE
Compiler threw error -
implicit declaration of function 'qdf_dp_trace_apply_tput_policy'
when CONFIG_DP_TRACE not enabled.

Change-Id: Ia4e6fdf129b7fdc31c901b6fa78ce2cb0935b369
CRs-Fixed: 2433430
2019-04-18 20:45:58 -07:00
Srinivas Girigowda
22953dc004 qcacmn: Enable EAPOL/DHCP message tracing in Wifi driver
Enable EAPOL/DHCP message tracing in Wifi driver.

Change-Id: I010c9295fd6ca42a950f84f0d7a19b00d8b0c0da
CRs-Fixed: 2421835
2019-03-26 17:16:45 -07:00
Jeff Johnson
5b92ee0716 qcacmn: Replace session_id with vdev_id in qdf_trace APIs
To align with the converged nomenclature replace the identifier
session_id with vdev_id in qdf_trace APIs.

Change-Id: Ic97a2df848e2b687edbd29c419193f4285125f81
CRs-Fixed: 2381424
2019-01-17 22:20:38 -08:00
Rakshith Suresh Patkar
e105ac141d qcacmn: Add support to dump last n dpt stat records
Add support to dump only last n dpt records of debug fs
dump_set_dpt_logs file.

Change-Id: Ic6418803d53cc2abbfc200f62df2a24c3bc55d54
CRs-Fixed: 2362523
2018-12-14 07:15:20 -08:00
Adil Saeed Musthafa
12205b544b qcacmn: Add timer to flush out log buffers periodically
Add timer to flush out log buffers periodically. Add command to set the
time period value.

Change-Id: I8e796a9bc7caac2661d00852420dd5fa66f5bca5
CRs-Fixed: 2296362
2018-09-21 20:50:55 -07:00
Ashish Kumar Dhanotiya
308f575884 qcacmn: Add wmi wrapper function for mtrace logging
For qdf_mtrace 15 bits are reserved for message id and currently
WMI message IDs are getting used as 32 bit IDs.

Write a wrapper function which accepts 32 bit message IDs and
converts this 32 bit message id to 15 bit by extracting
WMI_GRP_ID and WMI_MESSAGE_ID in that group. New 15 bit
message ID for qdf_mtrace will be constucted as 8 bits
(From LSB) specifies the WMI_GRP_ID and remaining 7 bits
specifies the actual WMI command. With this notation there
can be maximum 256 groups and each group can have max 128
commands which can be supported.

Change-Id: Ia5adfc079b63c2311bdc8ae4c73488d89afd462f
CRs-Fixed: 2298877
2018-09-09 09:36:44 -07:00
Ashish Kumar Dhanotiya
89921da033 qcacmn: Define qdf_mtrace api within TRACE_RECORD macro
Currently qdf_mtrace is defined outside TRACE_RECORD macro which
is using qdf_trace api and this is defined inside TRACE_RECORD
macro for MCL. since qdf_trace is having different definitions
for MCL and WIN as for MCL it is defined as a function and for
WIN it is defined as a MACRO.

To resolve this put qdf_mtrace inside TRACE_RECORD macro

Change-Id: I5de2cdff3942ca10b6d5d562f28d359f7f655ed4
CRs-Fixed: 2310167
2018-09-09 01:27:05 -07:00
Ashish Kumar Dhanotiya
27bcaf88dd qcacmn: Add qdf api support for mtrace logging
Currently mtrace messages are getting recorded in circular
queue but are not getting used for DIAG Infrastructure.
Add support to print the mtrace messages on DIAG infrastructure in
format such that there will be two 32 bit fields printed on the
logs. These two fields will be constructed as explained below:
1. First field will be constructed using below bit positions:
   a. Bit 0 – 14 ( 15 Bits Lsb ) will contain the messageIDs
   b. The bit 15-22 will represent the destination module,
      and the 23-30 will represent the source module which is
      initiating the message.
   c. Bit 31 will represent whether the message is from host
      or from FW. If bit is 0, it indicates the message is
      from host and if it is 1 it indicates the message is
      from FW.
2. Second field will be constructed using below bit positions:
   a. First 16 bits (From LSB )will be used for counter.
   b. Next 8 bits would be the vdev id.
   c. Remaining 8 bits are reserved for future use.

Here counter is static unsigned 16 bit value which will be
used to keep track of number of logs given to QXDM and out of
these logs how many logs have been missed.

Change-Id: I4cec762ef17222d6adda9fd3e283c101afb92955
CRs-Fixed: 2290898
2018-08-14 16:50:18 -07:00
Mohit Khanna
163c3170a1 qcacmn: fix dptrace for data packets
Enable tracing for TX/RX data packets
Donot print stats with 0 value

Change-Id: I4bab6537494c4ee0fe290e3778fb5662bf5abd66
CRs-Fixed: 2269193
2018-07-13 02:58:46 -07:00
Rachit Kankane
371fce287d qcacmn: Allocate MAC Trace buffer dynamically
Allocate memory for g_qdf_trace_tbl buffer dynamically.

Change-Id: I5e9ba0a33e220ead36e0775f00000346aae68373
CRs-Fixed: 2267922
2018-07-08 23:30:46 -07:00
Linux Build Service Account
cb090521de Merge "qcacmn: Allocate DP_TRACE buffer dynamically" 2018-07-03 05:33:24 -07:00
Manjunathappa Prakash
cf4286b730 qcacmn: DPtrace: Do not log to memory during high throughput
During high TPUT scenario logging of DPT trace is not useful,
require more MIPS. Disable datapacket DPtrace logging during
TPUT runs, but contiue to log special packets like ARP/DHCP/ICMP etc..

Change-Id: I70c9368de4cb2423901449b267452a34d652213d
CRs-Fixed: 2255756
2018-07-02 12:23:38 -07:00
Rachit Kankane
b3ba76975e qcacmn: Allocate DP_TRACE buffer dynamically
Allocate memory for g_qdf_dp_trace_tbl buffer dynamically.

Change-Id: Id5cc51776f4378ecc97d7d758d5e502055423fb2
CRs-Fixed: 2268793
2018-07-02 11:24:53 +05:30
Nirav Shah
79ec3e999b qcacmn: Add support to configure buffer size from kbuild
Add support to configure logging buffer size from
per-OEM kbuild based on memory requirement.

Change-Id: Ia91d79e5e738b1c9787015de101c3f67ccde46aa
CRs-Fixed: 2253438
2018-06-15 21:31:16 -07:00
Mohit Khanna
4b3b7e7110 qcacmn: debug prints for monitor mode TLVs
Add prints to track:
* Incoming TLVs in the monitor mode status ring.
* HE, HE-MU and HE-MU-Other values being passed to the
  stack.

Change-Id: Ib23336353dc4a2253a62444b767d2a706ce372ea
CRs-Fixed: 2242514
2018-05-22 13:00:04 -07:00
Nirav Shah
9106902215 qcacmn: Featurize dp trace
Featurize dp trace to compile out cleanly.

Change-Id: If244fba87a50cde57ec55e54249b41dd30dcc92d
CRs-Fixed: 2227771
2018-05-22 09:34:12 -07:00
Jeff Johnson
1974e07df2 qcacmn: qdf: Remove legacy markings
Per current guidance remove legacy markings.

Change-Id: Ia920daa3248677b9446f4203c7698cbc37648fbd
CRs-Fixed: 2230684
2018-05-18 02:17:38 -07:00
Wen Gong
a5dfb6d847 qcacmn: Add hdd memory dump feature flag
Add config flag to enable / disable hdd memory dump feature

CRs-Fixed: 2231694
Change-Id: I6b565bd7007223a51b67a2ea9fbafd6a737d22d9
2018-05-17 21:39:10 -07:00
Mohit Khanna
0425280d73 qcacmn: add DPTRACE Enhancements - Phase 2
Change data packets printing to one line
Add msdu-id to TX packets
Increase data packets size to include the complete IP packets
Indication/print when the throttling occurs

Change-Id: I07fc664ea08bc8746e31260599c5892701ae52e7
CRs-Fixed: 2157769
2018-05-01 21:37:34 -07:00
Rakshith Suresh Patkar
dcd073313e qcacmn: ADD APIs to set/dump dp trace buffer
Add APIs to dump dp trace buffer and set
proto bitmap, number of records and
verbosity of dp trace.

Change-Id: I23cda36515e1f3299d6c1c28dee2489a89bb15d9
CRs-Fixed: 2180984
2018-04-23 07:51:00 -07:00
Yun Park
c60a22b88d qcacmn: Fix use after free of SKB in DP trace path
qdf_dp_trace could access nbuf already freed after sending to CE ring.
Move trace log before sending skb and add error log when fail to send.

Change-Id: I8ce36b9d196b7d44e0e9f7dcfe05db404a77e32f
CRs-Fixed: 2090277
2018-04-18 21:02:21 -07:00
Manjunathappa Prakash
2c3dba28d9 qcacmn: Fix qdf_tso_seg_dbg_bug to use qdf_print format string
Fix build issue with extra compile flags [-Werror,-Wformat-security]

Change-Id: Ia2d516f3ff35d8d3b48a337b24d74ff8f3d83363
CRs-Fixed: 2174715
2018-04-18 19:49:55 -07:00
Orhan K AKYILDIZ
c6b4a7be50 qcacmn: Fix a race btw tx and tx-compl
While handling a multi-segment TSO packet, there is a race condition
where, if tx complete arrives fast enough, the un-sent TSO segments
may be lost forever and a previously sent segment would be attempted
to be sent over.

Fix the race condition. Dont use the entry after send to go to
next entry.

Change-Id: I023587a48bea6f3b58aac62e398cc15939bbb773
CRs-Fixed: 2174715
2018-04-14 07:37:57 -07:00
Rachit Kankane
9cc217ab6a qcacmn: Compile out MTRACE feature
Fix to disabled MTRACE feature

Change-Id: I3cc30b47a9ba9dc9f99bf1185f99f0ae621f5f31
CRs-Fixed: 2189886
2018-03-15 08:05:06 -07: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
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