نمودار کامیت

778 کامیت‌ها

مولف SHA1 پیام تاریخ
Nobel Sharanyan Jeganathan
bb213216f3 qcacmn: Add support to invoke debug function before assert
qdf assert always, assert without debug information.
Added support to dump needed information before assert.

Change-Id: I2b53b7fa6a600b2a1aafdbc608b95b75feb2133d
CRs-Fixed: 3464724
2023-04-17 12:39:01 -07:00
Srinivas Girigowda
cfbf0f77e5 qcacmn: qdf: Add IEEE80211 type/subtype macros
As part of TX Mon 2.0, WIN has IEEE80211 specific macros only in WIN side
header file, but now Tx Mon 2.0 is required to be supported on MCC side
and these macros are not available. Hence extend by adding the required
type/subtype macros in qdf common header file.

Change-Id: I76cf0a0c226664c34c9c8bd10e280a500b3c61a9
CRs-Fixed: 3415715
2023-04-14 08:24:10 -07:00
Liangwei Dong
3a759ca431 qcacmn: Update candidate list before try next
Some IOT APs only allow to connect if last 3 bytes of
BSSID and self MAC is same. They create a new bssid on
receiving unicast probe/auth req from STA and allow STA to
connect to this matching BSSID only. So boost the matching BSSID
to try to connect to this BSSID.
And add logic to refresh the candidate list before next
candidate try when the last candidate connect fail.

Change-Id: I482e122c8c9febbab42f64013fbb78c266f49655
CRs-Fixed: 3432618
2023-04-11 02:28:01 -07:00
Pooja T C
933db0e737 qcacmn: Add QDF Module id for SOUNDING module
Added a QDF module id for SOUNDING module.

Change-Id: If237f91d52ad6f73921481e85327006563c9382b
CRs-Fixed: 3439637
2023-04-05 02:04:46 -07:00
Namita Nair
d252ffb791 Revert "qcacmn: WAR for opt_wifi_dp feature to disable IPA(2)"
This reverts commit 
with Change-Id: Ic1b961656f52fa009ab4c3b3d8d3cac305c2c7c4.

Change-Id: Idc5101d3bac08a64f7de0a828841222eca8d3c01
CRs-Fixed: 3443469
2023-04-02 01:23:03 -07:00
Namita Nair
149071276c qcacmn: WAR for opt_wifi_dp feature to disable IPA(2)
IPA_OFFLOAD path will be enabled by default for MSM,
inorder to support optional wifi datapath feature.
This change is a WAR to disable IPA offload during
compile time, if the feature is not enabled.
This is done using the IPA_WDI_OPT_DPATH feature flag
from IPA. If the flag is not defined in the IPA test
module file, IPA offload path and optional wifi dp
feature will be disabled.

This is a WAR, and will be fixed once a Kernel config is
available from IPA to enable or disable the optional
wifi datapath feature.

Change-Id: Ic1b961656f52fa009ab4c3b3d8d3cac305c2c7c4
CRs-Fixed: 3431972
2023-04-02 01:22:52 -07:00
Paul Zhang
310c7ce085 qcacmn: Add enums for TDLS for MLO feature
1\ Add QDF_STATUS_TDLS_MLO_SYNC,
2\ Add WLAN_ELEMID_LINK_IDENTIFIER.

Change-Id: I58e912dc46a48b9ba7c2d411a2ccd7e107df1b22
CRs-Fixed: 3435983
2023-03-30 14:44:29 -07:00
Devender Kumar
905bc10886 qcacmn: Add support for pmac_id in QDF layer
To support splitphy and MLO operation when multiple
TX ring are present under single soc, then to differentiate
the TX lmac, pmac id in per packet is require. As pmac_id in
bank register is always constant for pinnacle case, so need
to pass per packet in TX desc.

Change-Id: Ic6d8e14e8c1948e218c52c8eeaf99fcd6c437753
CRs-Fixed: 3356413
2023-03-17 01:41:16 -07:00
Devender Kumar
8e3fc021bf qcacmn: Add qdf_nbuf_fast_xmit() API
Some platforms support a skb_recycler feature which patches the Linux
kernel to add a bool fast_xmit member to struct sk_buff.
Add a QDF abstraction to return the value of this member when it is
supported, and return false when it is not supported.

Change-Id: I6dfe6276779218f4d0245ec44035b4aa596d0e2a
CRs-Fixed: 3418516
2023-03-15 20:59:36 -07:00
Aravind Kishore Sukla
a3a4e67eed qcacmn: Add check for buffer overflow and null pointer dereference
There is a chance for null pointer dereference for
num_eht_user_info_valid and array out of bounds for eht_user_info.

Add checks for both the cases as it may cause crash.

Change-Id: Icb5235612a1225b9991c99519b5ee49536c577bc
CRs-Fixed: 3426873
2023-03-15 17:41:32 -07:00
Chaoli Zhou
6de3f20f10 qcacmn: Add common memory alloc/free API
Add qdf_mem_common_alloc/qdf_mem_common_free for
the platform that want to replace malloc with valloc
due to limited continuous physical memory.

Change-Id: If3c5716ff6d62c0a4f6f21b7ebf9eef1e3f0e529
CRs-Fixed: 3429140
2023-03-14 03:26:03 -07:00
Tiger Yu
60bdb7983d qcacmn: Create new qdf_in_atomic interface to wrap the kernel API
Create the new qdf_in_atomic to wrap the kernel API in_atomic to be
used in the driver to check whether current running thread is in atomic
context.

Change-Id: I69843ff79559612561d57965a6754990e9b6f4f9
CRs-Fixed: 3414725
2023-02-28 00:42:50 -08:00
Jeff Johnson
8dd3d7f449 qcacmn: Fix QDF time-related documentation
The kernel-doc script identified documentation issues in the QDF
time-related abstractions, so fix those issues.

Change-Id: Ieffd4a5b2a38674da1b19735ad6f35844d355f09
CRs-Fixed: 3406200
2023-02-28 00:42:37 -08:00
Surabhi Vishnoi
bbae800e14 qcacmn: Fix checksum offload logic for rx packets
Currently, hardware supports checksum offload for only ipv4, tcpv4/v6 and
udpv4/v6 packets. But driver sets checksum as CHECKSUM_UNNECESSARY for
all rx packets if tcp_udp_err and ip_err bit in rx_attention_tlv is not
set. If driver sets CHECKSUM_UNNECESSARY in skb then network stack will
not validate checksum and will reply to even wrong checksum packets
which is incorrect.

So, fix is to set checksum for all rx packets other than ipv4, tcpv4/v6 and
udpv4/v6 to CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY so that network
stack validates checksum.

Change-Id: Ifb9c74fb729361da6db715fa667f926b71ce948f
CRs-Fixed: 3378925
2023-02-27 04:13:44 -08:00
Jeff Johnson
1e4a1adb96 qcacmn: Fix QDF memory documentation
The kernel-doc script identified a large number of documentation
issues in the QDF memory abstractions, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I4e30fd85e65567485cdc7a9adfc38c69df0cfa55
CRs-Fixed: 3406199
2023-02-24 08:50:13 -08:00
Jeff Johnson
b9fcc44fd3 qcacmn: Fix QDF MC Timer documentation
The kernel-doc script identified documentation issues in the QDF MC
Timer abstractions, so fix those issues. In addition, there are a
number of instances where public functions have their implementation
documented. In those cases make sure only the interface is documented.

Change-Id: Ied6cf02d2091099351cd82245a667fd1e6cad461
CRs-Fixed: 3405262
2023-02-24 08:50:01 -08:00
Jeff Johnson
c3c262ca32 qcacmn: Fix QDF trace documentation
The kernel-doc script identified documentation issues in the QDF trace
abstractions, so fix those issues. In addition, there are instances
where public functions have their implementation documented instead of
having their interface documented, so move that documentation.

Change-Id: Ife16fe9527dbe013003c5f2f04d7e9d0a9aa385a
CRs-Fixed: 3406201
2023-02-24 08:49:36 -08:00
Chaithanya Garrepalli
4eedfd8cf7 qcacmn: For WDS EXT use descriptor fields for 4-addr
For WDS ext use fr_ds and to_ds fields to check for
4-addr instead of reading value from TLV

Change-Id: I261746018de2320367e8650332a5c355edfb1489
CRs-Fixed: 3410639
2023-02-24 07:05:02 -08:00
Jeff Johnson
0af71c50d8 qcacmn: Fix QDF lock documentation
The kernel-doc script identified documentation issues in the QDF lock
abstractions, so fix those issues.

Change-Id: Iee0576e2e64d9d67942238d758f3cbca36069356
CRs-Fixed: 3406198
2023-02-24 00:06:10 -08:00
Venkateswara Naralasetty
2021fc9249 qcacmn: Move CE descriptor related macros out of qdf
Currently few macros related to CE descriptor are defined in qdf_types.h
Which is not the right place to have such macros. Hence moving them to
ce_internal.h file.

Also, have different macros for WCN6450 as the ce descriptor offsets got
changed for WCN6450.

Change-Id: I20414273793034bbab80304bcd643371d281fb7f
CRs-Fixed: 3386470
2023-02-24 00:05:59 -08:00
Namita Nair
c9c59b99ed qcacmn: Qdf changes to support optional wifi dp feature
Qdf changes to support optional wifi dp feature.

Change-Id: Iaec8374548a991e4660f0a0a31f1d6309b572bea
CRs-Fixed: 3403427
2023-02-23 17:20:25 -08:00
Anbarasan Ganesan
bc5188b115 qcacmn: Add qdf wrapper for jiffes_to_nsecs()
Add qdf wrapper for kernel API jiffies_to_nsecs().

Change-Id: I023dc2293f731bd2ee20278785ebf14ffba4787b
CRs-Fixed: 3396843
2023-02-22 00:00:24 -08:00
Edayilliam Jayadev
98f1131240 qcacmn: Add an API to decrement an atomic variable if it is positive
Add an API to decrement an atomic variable if its value is positive.

CRs-Fixed: 3408572
Change-Id: I9649f1093850452a38acae6fa48e663a4e6d9c68
2023-02-21 22:03:59 -08:00
Pragaspathi Thilagaraj
0faa9d7218 qcacmn: Trigger recovery when WMI command is sent in wow mode
Trigger recovery when WMI command is sent in wow mode

Change-Id: I65efe5601e15055c5407f085e1fdcae5b28d6b81
CRs-Fixed: 3372322
2023-02-20 13:03:01 -08:00
Jeff Johnson
4042de592d qcacmn: Fix QDF documentation
The kernel-doc script identified a large number of documentation
issues in the QDF. A series of patches has already fixed many of the
issues, so fix most of the remaining ones.

Note that the QDF IPA abstraction still has issues, but it is under
rework, so not trying to clean it up until after the rework is
complete.

Change-Id: I10c33e341cb6b46e0f8ada99069616d450c07189
CRs-Fixed: 3406197
2023-02-18 13:33:23 -08:00
Jeff Johnson
a81eb57e42 qcacmn: Fix QDF nbuf documentation
The kernel-doc script identified a large number of documentation
issues in the QDF nbuf abstractions, so fix those issues. In addition,
there are a number of instances where public functions have their
implementation documented instead of having their interface
documented, so move that documentation.

Change-Id: I744e98469d0fd6d6a2c7c907b2f9af5307f84458
CRs-Fixed: 3398757
2023-02-14 13:34:05 -08:00
Amit Mehta
f9f4ba1b9d qcacmn: Log EAP 8-way handshake packets properly
Currently EAP 8-way handshake packets are logged as
EAP REQ and EAP RSP.
Fix the logging issue by logging EAP 8-way handshake
packets properly

Change-Id: I6af3b3140b5881ece58dd06a9725c103c9388b4c
CRs-Fixed: 3400396
2023-02-13 05:28:32 -08:00
Asutosh Mohapatra
de1e7e7e12 qcacmn: Enhance hang reason code mappings
Currently many host hang reason codes are not mapped to corresponding
userspace codes as a result these hang reason code will be invalid
for userspace and also QDF_REASON_UNSPECIFIED is used in some places
in host.

To add mappings for host hang codes to corresponding to userspace
hang codes and also add new hang codes.

Change-Id: Idb21ccb4a34c9c94872798404912bdb743e9270b
CRs-Fixed: 3381229
2023-02-10 12:21:38 -08:00
Asutosh Mohapatra
8cfe6b1005 qcacmn: Trigger recovery incase of scheduler watchdog timeout
Trigger recovery instead of the apps panic incase of scheduler
watchdog timeout, so that the current logs are captured to
analyze the issue.

Change-Id: I44a61bc5630c4866b9d9b18f7a7ba6221ca6e355
CRs-Fixed: 3312328
2023-02-10 12:21:24 -08:00
Nandha Kishore Easwaran
96c2363f18 qcacmn: Change flow_idx_invalid to flow_idx_valid
Change flow idx invalid to flow_idx_valid.
This change is made so that flows for which this field is not present
are identified as invalid flows and not forwarded to PPE.

Change-Id: I92c82bb0ef57012b2b884fe3fd18344b523a3f51
CRs-Fixed: 3390588
2023-02-07 04:55:19 -08:00
Anbarasan Ganesan
f066d5ca6a qcacmn: Use ioremap() instead of ioremap_nocache()
As part of compiling wifi driver in kernel version 5.15,
the kernel API ioremap_nocache() is no longer supported in
kernel version 5.15.

Kernel API ioremap_nocache() is being replaced with
ioremap() in kernel version 5.6

So, bringing ioremap_nocache() API under kernel version check.

Change-Id: I139556e55f8c20093137960f116b3fc067a1829f
CRs-Fixed: 3357183
2023-02-06 13:32:30 -08:00
Edayilliam Jayadev
06dfa5f812 qcacmn: Add API to iterate over a linked list
Add API to continue iteration of a linked list after
a given node.

Change-Id: Ic266a24623dbe24419e51c5b9a3f7343426712c2
CRs-Fixed: 3388232
2023-02-06 08:58:24 -08:00
Edayilliam Jayadev
49b0a152b5 qcacmn: Add API to get last entry of linked list
Add API to get last entry of linked list.

CRs-Fixed: 3386125
Change-Id: Id956f3976f4c7651ef367e44c1c430f6eea8d2f9
2023-02-06 08:58:05 -08:00
Madhavan Ganesan
a30c47e6cc qcacmn: Add qdf parser API of type uint8_t and uint16_t
Add QDF INI parser API of type uint8_t and uint16_t

Change-Id: I0716df7986f00c60ead852f368d06d37dba7db80
CRs-Fixed: 3389847
2023-01-31 13:18:05 -08:00
Jinwei Chen
b4f81eace0 qcacmn: Set TX flow queue for TCP ack
If TX data is TCP ACK, configure TX flow index 3 in
SW2TCL data cmd ring descriptor.

Change-Id: Ibd08b13ba8f0481aa11cd9c3dc54a49cd73674fb
CRs-Fixed: 3368303
2023-01-30 01:34:05 -08:00
Amit Mehta
1db627cc73 qcacmn: Distinguish EAPOL-Key msg 4/4 from 2/4 based on Key Nonce
IEEE 802.11be adds the MAC Address KDE into the EAPOL-Key msg 4/4 when
MLO is used and as such, the previously used check for Key Data Length
value 0 is not sufficient for recognizing the EAPOL-Key msg 4/4 anymore.
Also check for an all zero Key Nonce value since that field is supposed
to be zero in EAPOL-Key msg 4/4 and it has to be a random value in
EAPOL-Key msg 2/4.

Change-Id: Iafb2f0e59a3fd52fa47317f8f3daff3f115271d1
CRs-Fixed: 3380806
2023-01-20 22:11:56 -08:00
Mohammed Ahmed
e1de611cdd qcacmn: add SSR host log collection API
Current code does not have functionality to collect host driver logs
upon SSR.
Fix this by adding host log collection API for SSR case.

Change-Id: I2bb848e59ad87da52446fcb8d18367c1b0768cf9
CRs-Fixed: 3339916
2023-01-19 18:41:07 -08:00
David Oladunjoye
bee501dcb7 qcacmn: Return error when unpermitted character is parsed in ini
Currently, when an unpermitted character is added to ini, driver
flags as an unknown config item and continues parsing. This could
be an issue. Change is to return error when invalid character is
parsed in ini.

Change-Id: I0249d187f0e05a31dd256d5de56798a575903e5b
CRs-Fixed: 3354669
2023-01-17 05:30:11 -08:00
Ashish Kumar Dhanotiya
8762881511 qcacmn: Add new self recovery reason QDF_HOST_WAKEUP_REASON_PAGEFAULT
Currently there is no recovery reason for host wakeup due to pagefault.
With this change add QDF_HOST_WAKEUP_REASON_PAGEFAULT for host wakeup
because of pagefault failure.

Change-Id: Id74a79786009f529a9ec2cf3464ea7adcd67895c
CRs-Fixed: 3378910
2023-01-14 22:09:53 -08:00
Amit Mehta
7e50aa48ab qcacmn: Log additional EAPOL packets
Add changes to log additional EAPOL packet types.

Change-Id: I02f1de89f7e0fcf68cea20208df1ed153126852d
CRs-Fixed: 3370979
2023-01-11 06:53:40 -08:00
Pavankumar Nandeshwar
fd6fed3e07 qcacmn: Cleanup the tx desc cleanup logic
Cleanup the tx desc clean up logic used in
direct switch and umac reset cases.
The excess code being removed tries to
get the next descriptor address in boundary
conditions is not useful, as the descriptor
extracted this way will be overwritten
immediately in the beginning of next iteration
of the loop.

Change-Id: Ibcd873719929b94147152ff48205774d3ed4f452
CRs-Fixed: 3371831
2023-01-10 05:31:53 -08:00
Sai Rupesh Chevuru
88dd4c6970 qcacmn: IGMP leave message handling in MLO MCAST
IGMP leave message handling in MLO MCAST scenarios.

Change-Id: Ic0ac16dbe75b4ef2b27e97be3f42c498b503ca06
CRs-Fixed: 3359488
2023-01-06 00:28:12 -08:00
Asutosh Mohapatra
1ade380fc3 qcacmn: Use mac_addr pointer as constant
Use mac_addr pointer as constant in wlan_hdd_ml_sap_get_peer,
hdd_set_mld_address and use the same for consecutive APIs.

Change-Id: I3ab7b0f3c03e9175c62179029efb53fb9fe75277
CRs-Fixed: 3342115
2023-01-02 15:01:22 -08:00
Himanshu Batra
5ea3ebf775 qcacmn: Change to handle ML reconfig link delete
Change to handle ML reconfig link delete

Change-Id: Iaf743a1a61534f2f4bb12be7fccad48e67b81c12
CRs-Fixed: 3346537
2022-12-27 11:08:54 -08:00
Tallapragada Kalyan
36ed11fcdd qcacmn: save flow related fields from TLV to SKB CB
flow related fields like flow_idx_invalid and
flow_idx_timeout are needed to send the packet
to PPE_VP hence need to be saved in SKB CB

CRs-Fixed: 3359237
Change-Id: I2166566c53641f6569f69ff316d1bafb67a828d0
2022-12-26 22:50:09 -08:00
Nanda Krishnan
97f88fb874 qcacmn: New Alloc API for DS
Requirement:
In skb recycler, if recyler module allocates the buffers
already used by DS module to DS, then memzero, shinfo
reset can be avoided, since the DS packets were not
processed by SW (host).
Hence, we will achieve good KPI with less CPU
utilization.

Fix:
Implemented an new qdf wrapper API qdf_nbuf_alloc_ppe_ds
in wifi driver, which in turn invokes
__netdev_alloc_skb_no_skb_reset API to linux module.
With the use of new netdev_alloc API shinfo reset
will be avoided for DS used buffers alone.
Skb recycler changes are delivered already via
4360331

Change-Id: I3fe8dc07ca12c01136eaee4fcdb1ff6036f80f74
CRs-Fixed: 3350807
2022-12-26 03:23:57 -08:00
Jeff Johnson
161c891e60 qcacmn: Add qdf_napi_disable() abstraction
Linux API napi_enable() is abstracted, but napi_disable() is not.  Add
an abstraction so that all of the native NAPI API calls in HIF can be
changed to use QDF abstractions.

Change-Id: I26e4c1d301dc6744be19b3f4142542aefe0e6fec
CRs-Fixed: 3364272
2022-12-21 13:54:58 -08:00
KARTHIK KUMAR T
a04069265f qcacmn: Add mlo_mcast cb_ftype
Add mlo_mcast cb_ftype in the cb_ftype enum

Change-Id: I857da8952af500eca9a8e04555937085b3c3cfb2
CRs-Fixed: 3354564
2022-12-13 05:48:19 -08:00
Yeshwanth Sriram Guntuka
9fc190e537 qcacmn: Remove QMI QDF abstraction APIs
Remove QMI QDF abstraction APIs as QMI is now
added as a non converged component.

Change-Id: I91acd4560d456396aaebdbfbd82f71bf5c2ed4f6
CRs-Fixed: 3349631
2022-12-03 22:19:58 -08:00
Jia Ding
19a0237072 qcacmn: Properly declare nbuf smmu map unmap
With NBUF_MEMORY_DEBUG=n and IPA_OFFLOAD=y, below errors are seen.

qdf/linux/src/qdf_nbuf.c:943:12: error: no previous prototype for function
'qdf_nbuf_smmu_map_debug' [-Werror,-Wmissing-prototypes]

qdf/linux/src/qdf_nbuf.c:955:12: error: no previous prototype for function
'qdf_nbuf_smmu_unmap_debug' [-Werror,-Wmissing-prototypes]

Currently above two APIs are only declared with NBUF_MEMORY_DEBUG=y.
Checking their definitions, could see that they have two variants
with NBUF_SMMU_MAP_UNMAP_DEBUG=y|n and they should only be valid
with IPA_OFFLOAD=y since IPA API is referenced in them.

Hence properly declare qdf_nbuf_smmu_map_debug() and
qdf_nbuf_smmu_unmap_debug() so that they're only valid with
IPA_OFFLOAD=y. With that, two variants are still kept.
With NBUF_SMMU_MAP_UNMAP_DEBUG=y, smmu map and unmap operations
are tracked. With NBUF_SMMU_MAP_UNMAP_DEBUG=n, no trackings are
maintained.

Change-Id: I83b08b1152d98b3efed3e52e564af0ebfbe5a7f7
CRs-Fixed: 3348594
2022-12-02 20:08:16 -08:00