Currently we are sending DHCP and EAPOL connectivity
logs for Tx and Rx packets. but in case of DHCP
we are receiving DHCP DISC and DHCP REQ and
we are sending Tx status as TX_Fail.
So to fix issue ignore sending connectivity log in case
of Rx if packet type is DHCP DISC or DHCP REQ.
Change-Id: I688c375243cff0773bd8290e990d5106ff5b47ae
CRs-Fixed: 3164050
Add handling for jumbo pkts in debug version on qdf_nbuf_unshare to
resolve false positive alarms.
Change-Id: If18f81490f145de21d01c19e868252274c7dfefa
CRs-Fixed: 3145824
Send kernel timestamp to userspace via a
new vendor attribute
QCA_WLAN_VENDOR_ATTR_DIAG_KERNEL_TIMESTAMP.
Change-Id: Iec957f0516c06369e0d2991d96936cb1f7fff5f4
CRs-Fixed: 3150781
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
Fill tx flags in radiotap header based on tx status for
tx packets capture in packet capture component.
Change-Id: I52da01a2c0677d32bfb05a1f3095a0e6df084fca
CRs-Fixed: 3132140
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
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
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
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
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
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
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
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
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
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
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
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
Add pointer to platform device in qdf_dev.
This requirement is needed for enabling in Legacy interrupts
in QCN9224.
Change-Id: I99a0e1ec447315a342c9e22e3f2673f5af8c5893
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
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
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
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
Add support for wlan specific tracepoints using
the existing tracepoint infrastructure exposed
by kernel.
Change-Id: I9e4d09443b97124252240cb6b9ee305acb1bf677
CRs-Fixed: 3077074
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
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
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
2 threads blocked to wait channel_switch_complete_evt for SAP channel
switch is already in progress, qdf_event_set only woke up 1st thread
later, 2nd thread still kept blocked with hold net_dev for debug id
NET_DEV_HOLD_COUNTRY_CHANGE_UPDATE_SAP, leak happened.
Change-Id: Ib76318dd4a613ca1852a56b7701a04385b69ba56
CRs-Fixed: 3061976
Define QDF API for virtual memory allocation and free.
Also add new api to get time of the day in microseconds.
Change-Id: I2921055bbb6b5d2a1105d19448b2a10fa2d6ccc5
CRs-Fixed: 3038180
Dump flow pool stats even for low verbosity level as
part of periodic stats display.
Change-Id: Iea59d20b0a81cfd0bfdac65ad54a11fa33f30f2f
CRs-Fixed: 3031168
Add QDF API to get the first node of a linked list. If the
list is empty this API returns NULL.
Change-Id: I4569941f708634085904fd30a347facca543594a
CRs-Fixed: 3029987