Wykres commitów

1116 Commity

Autor SHA1 Wiadomość Data
abhinav kumar
1e20923d2b qcacmn: Send kernel time to userspace
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.

Change-Id: Iec957f0516c06369e0d2991d96936cb1f7fff5f4
CRs-Fixed: 3150781
2022-03-16 19:33:59 -07:00
Nandha Kishore Easwaran
8aa7cab50c qcacmn: Add provision to increase num_elements
Add support to change the number of elements in multi pages
alloc function. This is needed to increase the number of tx_descs.

Change-Id: I29ee2764c24c6f83b0c2cff1062ec7239dcc0b4b
CRs-Fixed: 3130833
2022-03-15 03:42:03 -07:00
Tallapragada Kalyan
7ec6dc2b01 qcacmn: Access shinfo fields only if qdf debug is enabled
Access shinfo fields only if qdf debug is enabled

CRs-Fixed: 3140011
Change-Id: Ifafeb678d7e9d469fd05da4845376a290e42c452
2022-03-06 01:26:00 -08:00
Vulupala Shashank Reddy
f4a25a4af0 qcacmn: Add support for tx flags for packet capture mode
Fill tx flags in radiotap header based on tx status for
tx packets capture in packet capture component.

Change-Id: I52da01a2c0677d32bfb05a1f3095a0e6df084fca
CRs-Fixed: 3132140
2022-03-02 01:28:21 -08:00
nobelj
f0064e8e52 qcacmn: Waikiki tx monitor packet construction
Added function to construct packet and send to stack
after parsing.

Change-Id: I4621eb24840253db261aea63079e27f744f92698
CRs-Fixed: 3115608
2022-03-01 05:39:37 -08:00
nakul kachhwaha
6c2a986833 qcacmn: Export objmgr APIs and add lmac_if registration APIs
Export objmgr APIs to be used by SON module to register
and unregister create/destroy handler.
Also add lmac_if API to register lmac_if ops from SON
module.

Change-Id: Id4c19807792b9f7b46387ae907f853151e4e28c6
CRs-Fixed: 3118986
2022-02-24 04:25:26 -08:00
Mohit Khanna
97f83cd810 qcacmn: Add is_critical flag in struct qdf_nbuf_cb
Add a single bit "is_critical" flag to qdf_nbuf_cb structure to indicate
critical frames to DP layer.

Change-Id: I41c67467a3a54eef55c81a80dfb86b3ad7f33518
CRs-Fixed: 3114311
2022-02-24 01:00:01 -08:00
Mohit Khanna
4d03fcbd12 qcacmn: Check for IPV6 before checking DHCPv6
Currently we are not checking whether the packet is a IPV6 packet when
checking for a DHCPv6 packet. This can be error prone if done for a IPV4
packet.
Check for IPv6 before checking for DHCPv6.
Add QDF_NBUF_CB_PACKET_TYPE_DHCPV6 packet type in qdf_nbuf_cb.

Change-Id: Ic24dbaad8bd910c85bb1086317c12ad46466a128
CRs-Fixed: 3114311
2022-02-24 00:59:55 -08:00
Srinivas Dasari
f8921a74b9 qcacmn: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer and wait for a
maximum of 6 seconds for the response. Host can stop the timer and
allow the commands to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is
   received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Change-Id: I4577f9b0aac71c0c86bd32b59e69d9527bf107b9
CRs-Fixed: 3106032
2022-02-18 23:21:21 -08:00
Basamma Yakkanahalli
e85fbce095 qcacmn: change to configure and handle undecoded metadata capture
Added change:
1. Set/reset RXDMA MON STATUS ring filter setting and send HTT
   message to capture undecoded frame
2. Handle undecoded frame to update cdp_rx_indication_ppdu structure
   from hal ppdu_info rx status and generate WDI event to deliver it
   to upper layer

Change-Id: I14485f28333b113b5a2fab639611551c2b08af2b
2022-02-18 04:53:18 -08:00
Jinwei Chen
7a60675260 qcacmn: Support TX completion and RX delay tracing for KIWI
Support TX completion and RX delay tracing by Ftrace for KIWI,
Add generic IP protocol packt tracing like ICMP packet.

Change-Id: Ie0c4b1764ce953fd2ed41fc5eea8aa28c8d427d9
CRs-Fixed: 3126080
2022-02-17 05:03:40 -08:00
Devender Kumar
e0934446af qcacmn: Modify QDF APIs to support multiple radios by IPA
The current WLAN driver only supports single radio for IPA, but with
2X_PINE product WLAN driver need to support multiple radio for IPA
driver, which can be done by adding the support for multiple radios
via QDF layer.

Change-Id: I8850e1df56690cfe704b8fb7487c141a8ed21412
2022-02-16 16:56:56 -08:00
Surya Prakash Raajen
edf9fd0441 qcacmn: Add support for section parsing in ini
Add support for section parsing in ini, such that we could
read specific section of the file and update the ini values
instead of redundant values or updating the same in the
scripts based on the config

Change-Id: Ibdb08a04d709746c04c3e7c47ee3bb4a7ce85346
CRs-Fixed: 3107545
2022-02-16 10:26:33 -08:00
Rakesh Pillai
1c6617edf5 qcacmn: Add EHT radiotap header fields
Add the EHT radiotap header definition and
support to parse these fields.

Change-Id: If988753b497cc2feb79f358afea2674effd8270c
CRs-Fixed: 3092818
2022-02-15 17:27:51 -08:00
Nirav Shah
6340679db0 qcacmn: qdf: Add support to update tsf timestamp in data packet
Add support to update tsf timestamp on driver entry and
exit in data packet. This helps debug latency issue in
XR usecases

Change-Id: I00dcf2416513b94701c11f2a07b2dc74b665f573
CRs-Fixed: 3116365
2022-02-04 07:10:57 -08:00
Chaithanya Garrepalli
7852711cd8 qcacmn: Define qdf_nbuf_alloc_simple() in all cases
Define qdf_nbuf_alloc_simple() NBUF debug support is
disabled at compile time

Change-Id: Ie5918d720d8fa861063c46786b01b0d2a644e52b
2022-02-03 11:14:54 -08:00
Tallapragada Kalyan
b265fdd7fc qcacmn: introduce simple nbuf_free API in RX path
simple Alloc is being used in RX path which avoids
certain debug logic. during free of nbuf we should
avoid this debug logic else it will report it as
double free, this will be triggered only when debug
is enabled

Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
2022-02-02 12:06:34 -08:00
nobelj
357bfbe52d qcacmn: Add support to Legacy tx monitor and Waikiki
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.

Change-Id: I28612d388009292ff751fe514183fb801909f485
2022-01-28 04:05:13 -08:00
nobelj
154f9b8298 qcacmn: Add support for multi user stats to populate radiotap
Add support to populate radiotap for multi users.

Change-Id: Ied4fe85fc2b456542c9cf4ea969106cdde86265f
2022-01-28 04:05:07 -08:00
nobelj
85dca44878 qcacmn: Add QDF wrapper for frag ops
Introduce qdf wrapper API

1. frag is added to nbuf fragment array. If frag can't be fit in that nbuf
a new nbuf is allocated and frag is added to the new nbuf. Once added
nbuf is added as a fraglist to head nbuf. On a subsequent call, frag is
added to the last nbuf in a fraglist.

2. get reference for fragment.

Change-Id: Ia4ccbc48e54b08d6b9d4f0cf5089fbf43ee8b496
2022-01-28 04:05:01 -08:00
Pavankumar Nandeshwar
d9e6722ff0 qcacmn: Fix QUIC Copyright Markings
Fix QUIC Copyright Markings

Change-Id: Id0cea92c1e6b64f82601c08a81b6246ee6d49a62
2022-01-27 12:53:33 -08:00
Bing Sun
12d8c64b85 qcacmn: Add print APIs for SON
Add print api definitions for SON

Change-Id: I4a5387c71f619a38170c7aa70ee4bed82cab54dc
CRs-Fixed: 3116060
2022-01-27 05:46:06 -08:00
Lin Bai
66822e1e46 qcacmn: Check CONFIG_QCOM_MINIDUMP properly
On some targets, minidump will be built as DLKM, and use IS_ENABLED
macro to cover both built-in and DLKM scenario.

Change-Id: I93374b83020af7122531fe282042236cae8037b3
CRs-Fixed: 3116787
2022-01-26 11:00:03 -08:00
Neha Bisht
ebf445a844 qcacmn: Avoid use of map and unmap API in simple path
Add qdf wrapper for dma_clean_range and avoid use of DMA
map/unmap APIs in Tx. simple fast path.
Gain of ~150 Mbps is observed while running 4 radio traffic.

Change-Id: I0e96bfee43fe810da8c861cb0f4535fb0ba7f6f7
2022-01-25 03:21:47 -08:00
Ananya Gupta
940984c6a6 qcacmn: Check for tx desc leak or corruption
Tx descriptor is not being freed and put back in tx desc
pool for a long time. As a result, system is not going
into suspended state.
To find this descriptor, during dp_bus_suspend and
dp_runtime_suspend, parse through the descriptor pool to
check for any descriptors not freed for a long and trigger
self recovery when found.

Change-Id: Id97c5c8537c9bec922f4e254b5bf094505ee61ff
CRs-Fixed: 3109868
2022-01-21 11:42:27 -08:00
Ananya Barat
82711507b5 qcacmn: Abstract ms_to_ktime in qdf
Add API qdf_time_ms_to_ktime which is an abstraction of ms_to_ktime
to the qdf layer.

Change-Id: Ie6510007b61bc3b3ac28648983b30a3c52e97098
CRs-Fixed: 3043864
2022-01-20 18:59:55 -08:00
Tallapragada Kalyan
9639c91317 qcacmn: buffer replenish and reap without map and unmap
use dma_inv_range call instead of dma map and unmap
APIs during replenish and reap. This complete code is
under a compile time macro.
before change: 4160Mbps @ 96.5% (core 3)
after change: 4160Mbps @ 90.5% (core 3)

Change-Id: I61bca349a369ace06cd86f353880108cee013cb1
2022-01-20 10:01:09 -08:00
Nandha Kishore Easwaran
3a1a2dac52 qcacmn: Fix QUIC Copyright Year Markings
Fix QUIC Copyright Year Markings

Change-Id: I69e1fcc0d505930daa3726760ea1b8ba65f8ae9e
2022-01-19 04:30:16 -08:00
Manoj Ekbote
8f94e32594 qcacmn: Add QDF API for nbuf truesize
Added API to return size of nbuf including header and
data and variable data area

Change-Id: Ie707a18adab7f2e4407f4aa8c481cd86012011a3
2022-01-18 12:53:51 -08:00
chunquan
be297ae0ae qcacmn: Replace blacklist/whitelist with denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist

Change-Id: Ic10f0bb187f44c00f07752cd859a08342a945628
CRs-Fixed: 3087605
2022-01-14 03:50:13 -08:00
Namita Nair
09afbc7282 qcacmn: Handle unsupported EAPOL packet type
In function qdf_fill_wlan_connectivity_log, the unsupported EAPOL
packet types are not dropped.This results in setting the
log_subtype to invalid value zero and the log buffer being forwarded
to wlan_connectivity_log_enqueue. The fix is to drop the unsupported
packets by returning from the function.

The local variable log_buf,of type struct wlan_log_record, is not
null initialized.This could cause some of the  member elements to have
unexpected values.This fix is to null initialize the log_buf structure.

Update Qualcomm copyright to include year 2022

Change-Id: I651329fead1e42282d7811c32eea2359ba970527
CRs-Fixed: 3079947
2022-01-12 01:52:33 -08:00
Ashish Kumar Dhanotiya
1060f380f0 qcacmn: Add new self recovery reason QDF_STATS_REQ_TIMEDOUT
Currently there is no recovery reason for stats request failure.
With this change add QDF_STATS_REQ_TIMEDOUT for stats request
failure.

Change-Id: Ie9ae8259fc20b4d8829b760e818b6a1f9194a9d0
CRs-Fixed: 3106570
2022-01-12 01:52:09 -08:00
Nandha Kishore Easwaran
18d2ccf267 qcacmn: Add pointer to platform dev in qdf_dev
Add pointer to platform device in qdf_dev.
This requirement is needed for enabling in Legacy interrupts
in QCN9224.

Change-Id: I99a0e1ec447315a342c9e22e3f2673f5af8c5893
2022-01-05 05:09:31 -08:00
Yu Tian
9e61eb4514 qcacmn: Stop replenish timer during recovery
During recovery, when this timer is started, there is no
stop operation. If the timer is triggered and SSR is not
completed, it will visit re-inited data structure and lead
kernel crash.

Change-Id: I44a31d70ee80d59076e4121f6924faa470ce7575
CRs-Fixed: 3102029
2022-01-04 11:40:17 -08:00
Chaithanya Garrepalli
a4167759a9 qcacmn: Add QDF APIs for fctx and ftype
Add QDF APIs to set or get fctx and ftype

Change-Id: I4c752f7a5be8b01a11eec9775845384dc2a6a4c1
2022-01-03 01:03:54 -08:00
Devender kumar
412a969aeb qcacmn: Fix Atomic Memory Allocation Method
Memory allocation in atomic context is not correct, as for
MEMORY_DEBUG profile the initial_memory_debug flag is set to
0 which leads in allocating memory with GFP_KERNEL flag
Issue is seen with SDX_PINE where the memory allocation is done
in sleeping context using GFP_KERNEL in interrupt context
Fix is create a new memory allocation API with GFP_ATOMIC flag

Change-Id: I3baa5b601b60f88fe2d9ff1f4008703c6507a267
2021-12-30 03:23:22 -08:00
Srinivas Girigowda
a448fdf6b4 qcacmn: qdf: Add TWT module ID
Add TWT module ID.

Change-Id: If20b7b8db65f38dee7c0f59cc185ac4ba87eac29
CRs-Fixed: 3085321
2021-12-17 20:44:31 -08:00
Sai Rupesh Chevuru
b43e679a58 qcacmn: Multicast support for MLO
Multicast support for MLO
1. Following functions are newly added.
	dp_rx_igmp_handler()
	dp_tx_mlo_mcast_handler_be()
	dp_rx_mlo_mcast_handler_be()
	dp_mlo_get_mcast_primary_vdev()

Change-Id: If215f843369e6e2621ef302b924e524c86f0d30b
2021-12-16 05:35:30 -08:00
Yeshwanth Sriram Guntuka
c399429018 qcacmn: Define few tx, rx and misc tracepoints
Define tracepoints for TCP, UDP, and other packets in
tx and rx. Also, define some miscellaneous to capture
delayed reg write and CE scheduling latency.

Change-Id: I1eafad7e367073060d742d7bf4ca3245d75cc25d
CRs-Fixed: 3080977
2021-12-13 08:04:58 -08:00
Yeshwanth Sriram Guntuka
d197c575bc qcacmn: Add support for wlan specific tracepoints
Add support for wlan specific tracepoints using
the existing tracepoint infrastructure exposed
by kernel.

Change-Id: I9e4d09443b97124252240cb6b9ee305acb1bf677
CRs-Fixed: 3077074
2021-12-13 08:04:53 -08:00
Vikram Kandukuri
8e863f6169 qcacmn: add wifi radar utils
Add wifi radar utils function for psoc,
pdev, vdev object creation handlers.

Change-Id: Ib7fc83238c90c045a9d91c756039a9c7ecfe21e1
2021-12-10 07:34:46 -08:00
aloksing
b726e009e7 qcacmn: rx stats update for WKK
Add function pointer to update stats for LI and WKK
Add new fields in structure cdp rx stats

CRs-Fixed: 3071271
Change-Id: I6a1d7afbdfe47d171335d55bf66d210d785f5a03
2021-12-09 11:17:28 -08:00
Edayilliam Jayadev
915648336f qcacmn: Add APIs to split/join lists
Add following APIs.

  1. Split a list into 2 lists
  2. Join two lists

Change-Id: I9eb5cdfeeef582ef0bebe108f08fac307494b59d
CRs-Fixed: 3071041
2021-11-25 08:18:09 -08:00
Jingxiang Ge
2ed71bd979 qcacmn: Fix compliation error when disable CONFIG_LEAK_DETECTION
Fix error when disable CONFIG_LEAK_DETECTION.

Change-Id: I16d85b596ef64ad45e9fb0bb594b0a3287554e8f
CRs-Fixed: 3080460
2021-11-24 22:58:30 -08:00
Himanshu Batra
bd23cf7dcc qcacmn: QDF changes to support IPA offload
QDF changes to support IPA offload.

Change-Id: Ib3a0f667bb9c11fb65f6a41ad777ff7273288569
2021-11-24 05:31:07 -08:00
Yue Ma
41ab344f9e qcacmn: Add CONFIG_CNSS_OUT_OF_TREE flag for QDF prealloc
Use CONFIG_CNSS_OUT_OF_TREE to control if CNSS prealloc driver is
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header file will be in different paths. This is also for
backward compatibility. Use internal flag CNSS_MEM_PRE_ALLOC instead
of CONFIG_WCNSS_MEM_PRE_ALLOC which will not be defined from kernel
defconfig for out-of-kernel-tree CNSS prealloc driver. CNSS_MEM_PRE_
ALLOC will be defined in the driver Kbuild no matter where CONFIG_
WCNSS_MEM_PRE_ALLOC gets defined.

Change-Id: I6e35f3e859fb429584e83665fe0290ffeb314312
CRs-fixed: 3074638
2021-11-16 23:30:35 -08:00
Yeshwanth Sriram Guntuka
1ede276269 qcacmn: Add QDF api to get smp processor id
Add QDF api to get smp processor id.

Change-Id: If0187ca1bc609f4cb9107bbb343b2bb180910f46
CRs-Fixed: 3066767
2021-11-02 16:32:07 -07:00
Jinwei Chen
b521830197 qcacmn: get sw_exception from reo dest ring descriptor
sw_exception bit will be marked in reo dest ring descriptor for
FW re-injected frame, get this bit and save it in skb->cb,
this bit value can be used for FISA further check.
there is no reo_dest_indication field in reo dest ring on beryllium,
so share same cb member for sw_exception and reo_dest_indication.

Change-Id: I2321121be7dda68ed19faca177d868c7e8ba1dbf
CRs-Fixed: 3056156
2021-10-28 10:21:20 -07:00
Jianmin Zhu
fb1db30308 qcacmn: Fix wrong rssi in monitor mode
If ppdu rssi unit is dbm, need convert to db for API:
qdf_nbuf_update_radiotap, only need convert once for first mdpu in the
ppdu. if convert for each mpdu, wrong rssi will be saved.

Change-Id: I85e92121ddb289e3513022ff092083825197efb4
CRs-Fixed: 3057041
2021-10-27 02:36:07 -07:00
Ke Huang
a317f7c615 qcacmn: Adjust the IPA WDI2 CONS/PROD definition
Adjust IPA WDI2 CONS/PROD definition for the IPA support on
sa415m for Genoa.

Change-Id: I7d73cd8d2843875fa6208cb520d49d4f6170fef7
CRs-Fixed: 3042786
2021-10-26 21:02:53 -07:00