Gráfico de commits

1389 Commits

Autor SHA1 Mensagem Data
Amit Mehta
cbca127f90 qcacmn: Define QDF macros for monitor interface flags
Define QDF macros for monitor interface flags

CRs-Fixed: 3739437
Change-Id: I2654d122bd4493a31e965d4026758ef36ec5537e
2024-03-18 00:37:11 -07:00
Aditya Kodukula
5cbfd2c051 qcacmn: Add a qdf macro for flexible length array
Define a qdf macro QDF_FLEX_ARRAY for declaring flexible length arrays.

Change-Id: I9be0d699fc85264e37b9e399ca239cada74eba5a
CRs-Fixed: 3690235
2024-03-05 22:17:53 -08:00
Karthik Kantamneni
83938b4902 qcacmn: Add new ssr reason code for enable irq failure
Add new ssr/hang reason code for enable irq failure.
This reason code will be used to log recovery reason when
enable irq failure is seen.

Change-Id: Idc126f9d313373a47cde02c5dfd0fc909970691f
CRs-Fixed: 3724895
2024-03-05 13:33:22 -08:00
Manikanta Pubbisetty
9cc2e55b8c qcacmn: Re-enable kswapd reclaim during nbuf alloc
Currently in __qdf_nbuf_alloc(), __GFP_KSWAPD_RECLAIM flag is
unset before calling kernel APIs for SKB allocation. Since this
flag is not set, in low memory scenarios, nbuf allocations might
fail resulting in firmware assert.

Re-enable the __GFP_KSWAPD_RECLAIM flag to avoid these failures.
It is safe to re-enable this flag since __qdf_nbuf_alloc() does
not request for order-3 allocations any more.

Change-Id: I2501a751d42277e2f7015b9e712ccdf5ec0ef7f1
CRs-Fixed: 3739812
2024-03-04 18:36:49 -08:00
Asutosh Mohapatra
817b9dfca7 qcacmn: Add support to validate roaming cfg file
Currently host is not validating roaming cfg file
per key and value and only checking if no unpermitted
characters are present in the file before parsing.

To address this issue, parse roaming ini file
only if no unpermitted characters are present in the key
and value otherwise fall back to roaming backup ini file.
If the backup file don't pass validation criteria's
then don't parse it as well.

Change-Id: I6068d41ed67698ec60c0985151282936590b1544
CRs-Fixed: 3678910
2024-01-19 12:22:30 -08:00
Alan Z. Chen
37cd1d31ac qcacmn: Add changes to compile on LTS 6.5 kernel
Add necessary changes for deprecated kernel APIs and other changes
in kernel code in order to compile on LTS 6.5 kernel.

Change-Id: I7c51b1d435090877d488f6433357ed1ed7c265b4
CRs-Fixed: 3663875
2024-01-16 08:16:17 -08:00
Surabhi Vishnoi
a8d5f5b756 qcacmn: Fix compilation error observed with upstream kernel
Include <linux/qcom-iommu-util.h> file based on ANDROID_COMMON_KERNEL
macro as this file is not available in upstream kernel.

Change-Id: I2e56b33d290319352236d1faae3b29cd6362bc07
CRs-Fixed: 3682260
2024-01-12 11:44:14 -08:00
Vinod Kumar Pirla
4bf1baaed2 qcacmn: Include PID in SM history
Add PID name where SM events and transition
happened to help debug issues where the info
about which task started a certain event to
happen are crucial to rootcause the problem.

Change-Id: I208b46c6d0ec725ab0d9713bf2dd562c40719a24
CRs-Fixed: 3624811
2023-12-15 01:57:33 -08:00
Sai Pratyusha Magam
0aeb537f6a qcacmn: Modify wlan_crypto_setkey return values
Modify return values in wlan_crypto_setkey to
reflect the exact error condition.

Change-Id: I21729bf999a6561d6282bb456451e1e1a0748609
CRs-Fixed: 3629285
2023-11-13 22:20:44 -08:00
Aman Mehta
1dd27488f1 qcacmn: Add qdf_ffs API and modify ring id params
Adds qdf_ffs wrapper API for ffs(x) API.
Update the ring id min and max value for 'dp_mlo_reo_rings_map' ini.

Change-Id: I4ee202350dd63854fe75a20b1eab2173341b70ed
CRs-Fixed: 3655539
2023-11-10 02:48:17 -08:00
Yu Tian
47e2c670c3 qcacmn: Add qdf packet check of IP fragment frames
Add qdf packet check of IPv4 fragment frames

CRs-Fixed: 3647009
Change-Id: Ib7194cb2a3b541be40301243e5e64b70b4a01257
2023-11-01 04:47:01 -07:00
Mohammed Ahmed
162ac04ff7 qcacmn: cmn changes for sun compilation
Current code has compilation errors
when compiling for sun. Specifically
of_get_named_gpio_flags() was removed
from the newer kernel. So this change
removes function call on newer kernel
version.

Change-Id: I55d060f1dcae65dea1fc0043b98b03f2b10246df
CRs-Fixed: 3632175
2023-10-25 16:34:28 -07:00
Aditya Kodukula
bab306058c qcacmn: Remove unnecessary assert in qdf_mc_timer_start
Currently, driver asserts whenever there is a request to
start timer with an expiration limit of less than 10ms. This
assert is unnecessary and driver should gracefully reject the
request. So, remove the assert in qdf_mc_timer_start.

CRs-Fixed: 3631848
Change-Id: Ib7c6297528d5ced3c61e6183ea8e62c12ea9cb0d
2023-10-07 03:05:25 -07:00
Himanshu Batra
3efaabd704 qcacmn: Update UIO info for DP data rings
Update UIO info for DP data rings.

Change-Id: I0c6e8c8e59aefb373dc024d91eb1379ed7564f31
CRs-Fixed: 3623839
2023-09-29 11:23:33 -07:00
Linux Build Service Account
0ad872defa Merge "Revert "qcacmn: Trigger recovery when WMI command is sent in wow mode"" 2023-09-22 01:13:57 -07:00
Vijay Raj
30dd1e08d6 qcacmn: Modify diag version for datapath diag logging event
Modify diag version for logging band info and packet
direction as part of data path event logs.

Change-Id: I5ce4a772262797072e93fce5cdff317c8686ee7e
CRs-Fixed: 3617279
2023-09-21 17:57:56 -07:00
Jeevan Kukkalli
bafd3ffd85 qcacmn: Use page frag cache to allocate page fragments
Use per pdev page frag cache to allocate page fragments
to efficiently use memory.

Change-Id: I8a16175ac72d56bcd9783ff0590710aa779454cb
CRs-Fixed: 3611781
2023-09-21 17:57:24 -07:00
Amit Mehta
68f9c374dc qcacmn: Change QDF_MAX_AVAILABLE_CPU value
Currently QDF_MAX_AVAILABLE_CPU value is 8 for QCA_CONFIG_SMP
case, This hard coded value can result in out of bound issue
if available CPUs are greater than 8.

So to fix issue define QDF_MAX_AVAILABLE_CPU value to NR_CPUS.

CRs-Fixed: 3618754
Change-Id: Ic493aac48ac4a4d2fd983a294d45d86bb062fb61
2023-09-21 08:36:20 -07:00
Aditya Kodukula
7c2ddd6c3e qcacmn: Hide 4th and 5th bytes of MAC address
Currently in the driver, we hide 2nd, 3rd and 4th bytes of the
MAC address in GKI builds. Since 2nd and 3rd bytes are needed for
debugging, hide only 4th and 5th bytes of the MAC address.

Change-Id: Ia432bb0d40e0a09b56e581f192a810e727127d3a
CRs-Fixed: 3616774
2023-09-20 20:10:21 -07:00
Yu Wang
8aa054e666 qcacmn: add fields to record transmit timestamp in nbuf cb
Add field 'u.tx.pa_ts.ts_value' to store the driver ingress
timestamp, and field 'u.tx.dev.priv_cb_m.flag_ts_valid' to
indicate whether 'u.tx.pa_ts.ts_value' is available or not.
Both fields must be cleared before fragment mapping, to
avoid overlap with the filed 'u.tx.pa_ts.paddr'.

Change-Id: I645c3c27b0c519417f86e6346f4f018b8d87d701
CRs-Fixed: 3560477
2023-09-20 04:15:55 -07:00
Jianmin Zhu
e5f945ccce Revert "qcacmn: Trigger recovery when WMI command is sent in wow mode"
This reverts Change-Id: I65efe5601e15055c5407f085e1fdcae5b28d6b81.
Its okay to fail send request instead of triggering crash recovery.
Triggering self recovery is only for fatal errors which can’t be
recovered without doing SSR.

Change-Id: I59532074c361bba4412ceb66f3f0e1e99d73bf06
CRs-Fixed: 3617795
2023-09-19 17:21:37 -07:00
Huashan Qu
8b628acc7f qcacmn: Add process for CONFIG_ARCH_STACKWALK defined condition
When CONFIG_ARCH_STACKWALK is defined, tracing threads function
qdf_print_thread_trace() will do nothing which is wrong.

Fix is to add process for function qdf_print_thread_trace() when
CONFIG_ARCH_STACKWALK is defined. It's the similar implementation
as 'Change-Id: I99643e1b93251de7453f511d13f5a4a39c56f99c'.

Change-Id: I199c3401e08cf91118106959d16c378fa038e3ac
CRs-Fixed: 3618369
2023-09-19 12:16:44 -07:00
Amit Mehta
4d62f37743 qcacmn: Add nbuf history to SSR dump
Add nbuf history to SSR dump

Change-Id: I3a4b14ccf0c10007107b9a802b29a89fa7ac36fa
CRs-Fixed: 3604907
2023-09-15 07:44:08 -07:00
Jinwei Chen
ebc572b89c qcacmn: Support RX MPDU sequence logging from DP
tcp_seq_num and tcp_ack_num in qdf_nbuf_cb is not used
for Beryllium, repurpose them to store RX MPDU sequence
number. get RX mpdu sequence number from DP and store
it in qdf_nbuf_cb for logging later.

Change-Id: I3c21b383d827f12a1e1ec6202a5fc17804dddc1b
CRs-Fixed: 3610468
2023-09-12 14:43:14 -07:00
Jinwei Chen
3102185ee2 qcacmn: Support RX mpdu sequence logging
Support RX mpdu sequence logging for DHCP/EAPOL
/ARP/ICMP.

Change-Id: I38eb8de76b06ae0b6ddbbe65ec850338ebabf2bd
CRs-Fixed: 3610446
2023-09-12 14:43:04 -07:00
Mohammed Ahmed
426475f76c qcacmn: sun changes
With new sun kernel, wep keys are deprecated,
resulting in compilation issues. Fix this by
not using wep_keys if kernel is sun or greater.

Change-Id: I2c79545798825ae7c963885356595e5fa35b910a
CRs-Fixed: 3601939
2023-09-08 04:11:16 -07:00
Edayilliam Jayadev
105a5fc213 qcacmn: Cleanup assert in mgmt rx reo - Part 6
Cleanup asserts in management Rx reorder module.

Change-Id: Ief86560bab36a59c7e82707a4c0b58ff4ce954a8
CRs-Fixed: 3593933
2023-09-06 10:05:22 -07:00
Amit Mehta
dc7a06f247 qcacmn: Fill additional fields during connectivity logging
Fill additional is_tx and supported_links info during
connectivity logging

Change-Id: I71a23c7251a2781789ec1d0adb497ac5c4bbe881
CRs-Fixed: 3571826
2023-09-04 18:34:51 -07:00
Neha Bisht
5e70737f80 qcacmn: Handle special descriptor cases for global tx pool
Handle special descriptor cases for global tx desc pool

Change-Id: I33253b726b1b8a2e7438b3bc1dddcac43ad8fb25
CRs-Fixed: 3592887
2023-08-30 13:40:05 -07:00
Amit Mehta
16ff49ada0 qcacmn: Add additional check for qdf_walt_get_cpus_taken
Current if CONFIG_SCHED_WALT is disabled in kernel it is
resulting in compilation error.

So to fix the issue move the API under CONFIG_SCHED_WALT.

Change-Id: Ia720b3d707e0119e90c1cce8bf99590525a7f5ba
CRs-Fixed: 3599900
2023-08-30 04:53:33 -07:00
Aditya Kodukula
6ed28e28ce qcacmn: Add gwlan_logging to wlan minidump
Add gwlan_logging structure to wlan minidump, when
WLAN_QCOM_MINIDUMP feature is enabled.

Change-Id: Ib9aef20854f50cdf5c1ff0c0acce857bed38a9a6
CRs-Fixed: 3599313
2023-08-29 15:06:44 -07:00
Aman Mehta
cfefc49a09 qcacmn: Add support for xmit type flag on skb->cb
Add support for xmit type flag on skb->cb for tx packets. The field will
be used to update ingress stats to the respective indices

Change-Id: Ifad61a97b3424df90a2fe722f1c264678a67e949
CRs-Fixed: 3562152
2023-08-28 21:13:04 -07:00
Edayilliam Jayadev
e2f7a3e16b qcacmn: Change default log level of mgmt Rx REO module
Set "QDF_TRACE_LEVEL_WARN" as the default log level of
management Rx reorder module.

Change-Id: I846f706a06c0f4dc098ee281fc802dc7b1698aa2
CRs-Fixed: 3593922
2023-08-28 21:12:42 -07:00
Amit Mehta
6f26807730 qcacmn: Add band in nbuf priv cb
Add band in nbuf priv cb

Change-Id: I0e740609982eaafc3678b8d17db77a6d8eeed5de
CRs-Fixed: 3598829
2023-08-25 18:05:56 -07:00
Manikanta Pubbisetty
9d8d909ff1 qcacmn: Fix truncation issues due to typecast in QDF time APIs
Currently there is an issue wrt truncation in the __qdf_system_time_after()
& __qdf_system_time_after_eq() QDF APIs where the input system ticks
(jiffies) which are of type unsigned long are getting truncated due to
typecast to long before comparison. Due to this typecasting, there is
likelihood of a wrong comparison resulting in wrong actions being
taken in the caller.

Typecast the result of the comparison instead to fix this problem.

Change-Id: I4741d9606d9e3462b8dd4736e5612f4a3008000b
CRs-Fixed: 3591262
2023-08-25 09:07:16 -07:00
Nijun Gong
4cadebf03f qcacmn: try to allocate contiguous dma buffer
For some target like ROME, CE try to read more data than expected as
prefetch. For example in UDP TX case, when CE read a tx_desc(44 bytes)
located in host memory with SMMU mapped address 0x1025FFD4~0x1025FFFF,
SMMU will detect CE read beyond 0x1025FFFF to access 0x10260000. SMMU
fault will happen if 0x10260000 is not mapped to host memory.

To fix this issue, allocate contiguous dma buffer for all 1056 tx_descs,
which will map to contiguous SMMU address region.

CRs-Fixed: 3588459
Change-Id: Id0287b051f792f18d746baf39e1c66d076c9be3c
2023-08-24 01:26:38 -07:00
Priyadarshnee Srinivasan
7c029d5026 qcacmn: Remove trace_info debug under trace_debug
Remove QDF_TRACE_INFO_HIGH_NO_FL definition under
ifdef WLAN_LOG_DEBUG. QDF_TRACE_INFO_HIGH_NO_FL is added under
ifdef WLAN_LOG_INFO as a part of this change id
I879a9d917ff698aeb6b3e53a85c765a74a902b36.

Change-Id: If49c86432f2b3179ea097e7f1ee53e90a8b1adda
CRs-Fixed: 3586206
2023-08-18 18:10:38 -07:00
Abhishek Suryawanshi
a9e5f6f098 qcacmn: Added indices in QDF_MODULE_ID enum
Added indices in QDF_MODULE_ID enum in qdf_types.h file

Change-Id: Ie2ab6286b83a4c1b13b84b1c37e464dc6f8534ba
CRs-Fixed: 3576567
2023-08-17 18:07:14 -07:00
Prakash Manjunathappa
fb7d334b7c qcacmn: Mitigate the slab allocation failures with __GFP_DIRECT_RECLAIM
__qdf_nbuf_frag_alloc fallback allocation using alloc_skb slab
allocation, use GFP_KERNEL flag which is inclusive of
__GFP_DIRECT_RECLAIM. This will mitigate the allocation failures.

Change-Id: Ib852bf0f812839f0a99093855cebc928d0c79fd1
CRs-Fixed: 3585716
2023-08-15 00:44:52 -07:00
Priyadarshnee Srinivasan
bdf7db0a32 qcacmn: Modify wmi_nofl_info_high definition
Modify wmi_nofl_info_high definition to print only if
QDF_TRACE_INFO_HIGH_NO_FL debug level is set.

CRs-Fixed: 3570322
Change-Id: I879a9d917ff698aeb6b3e53a85c765a74a902b36
2023-08-11 14:59:45 -07:00
Himanshu Batra
f86703892d qcacmn: Add qdf API for dev_hold
Add qdf API for dev_hold

Change-Id: I585e6781718fd55e8359906e5355f068376406c2
CRs-Fixed: 3579431
2023-08-11 01:24:21 -07:00
Karthik Kantamneni
6e1fe7f344 qcacmn: Reset nbuf data pointer properly in RX fast path handling
Currently RX nbuf data pointer is reset considering
headroom reserve size of NET_SKB_PAD. So while reattaching
buffer back to H.W always data pointer is reset back to head plus
NET_SKB_PAD offset. But if skb is not allocated with head room
reserve then we should not reset data pointer taking NET_SKB_PAD
as consideration.

Fix this by pushing nbuf data pointer back to the state when
nbuf entered the host.

Change-Id: Ie96f99fdd92deaa921619a45cd5993a42f7b8f6e
CRs-Fixed: 3582873
2023-08-10 14:42:45 -07:00
Krunalsinh Padhar
d3e95e7607 qcacmn: Send rf path WMI command
Prepare and Send WMI command to fw to set the rf path. Also, add module
ID for rf path switch for qdf log prints.

CRs-Fixed: 3568221
Change-Id: I7ef0ffe66eaed837424699641d3e5b8537cd0304
2023-08-04 02:49:21 -07:00
Shivam Kumar
f7142b0fd4 qcacmn: add/remove recommended error/debug print
add/remove recommended error/debug print

Change-Id: I2c5e2ed73fbc4299289b0d6c3059c514ef5052e9
CRs-Fixed: 3528661
2023-08-03 22:43:05 -07:00
Shivam Kumar
f337d69b2a qcacmn: add/remove recommended error/debug print
add/remove recommended error/debug print

Change-Id: I23075a7e5a0512ac9a5d87748f1ef75e4a799fe1
CRs-Fixed: 3528661
2023-08-03 22:42:53 -07:00
Vinod Kumar Pirla
a147f231ea qcacmn: Use VDEV response timer in PSOC for MAC update
Use the VDEV response timer infrastructure to hold MAC address update
requests sent to FW on VDEV which is in link switch progress.

As post disconnect and sending set MAC address request, the scheduler
thread is exited and to notify MLO mgr about set MAC address update
complete (or either timer expiry due to FW response timeout) and
further the link switch process based on response.

This code is only applicable for Link switch VDEV MAC address update
path. For MAC update request from userspace still use the same path
without starting the timer as for those wait event is already in place.

Change-Id: Ice3e6f7b00f0d9d08d6aa62ee9c1e4d183142358
CRs-Fixed: 3556517
2023-08-02 04:55:03 -07:00
Amir Patel
98252fa466 qcacmn: Fix undefined symbol when QCA_KMEM_CACHE_SUPPORT is disabled
Fix undefined symbol when QCA_KMEM_CACHE_SUPPORT is disabled

CRs-Fixed: 3571636
Change-Id: I7c3aad7992c11b77533de055226d0d6455cbe4f5
2023-08-01 20:29:43 -07:00
Priyadarshnee Srinivasan
ede405d4f8 qcacmn: Modify the debug levels of WMI prints
Modify the WMI debug level prints to reduce the
prints during bootup time.

Change-Id: Ia6d5b45d982280e572d28d1766a796b1e7ce1c60
CRs-Fixed: 3570322
2023-07-31 19:38:09 -07:00
Prakash Manjunathappa
a57c1c99b5 qcacmn: Fallback to 4k slab allocation on page_frag alloc fail
In low memory conditions 32K page frag allocations via
qdf_nbuf_frag_alloc will fail, fallback and try 4k slab allocations.

Change-Id: I3c9b08af8b1cc3aa881a91338a88b736589fb4dd
CRs-Fixed: 3571487
2023-07-30 15:08:50 -07:00
Devender Kumar
a815fe5825 qcacmn: Fix iommu domain attributes compilation issue with IPA enable
When CONFIG_QCOM_IOMMU_UTIL is enable in vendor config, we have to
use new set of API's to get iommu domain attributes, and while using
__qdf_iommu_attr_to_os seeing compilation issue as some identifiers
like, QCOM_IOMMU_MAPPING_CONF_S1_BYPASS are not declare.

even when CONFIG_QCOM_IOMMU_UTIL is not enable we have dependency
on qcom-iommu-util.h file as it has some identfiers which are in use,
with or without CONFIG_QOM_IOMMU_UTIL.

Fix is to include the header file qcom-iommu-util.h which contains
the declaration of all the identifiers used in __qdf_iommu_attr_to_os
and this file is included if MSM_PLATFORM or QCA_IPA_LL_TX_FLOW_CONTROL
is defined.

Change-Id: I82b1c13717d377a5ec4bcb74ff94f4d15fa1f638
CRs-Fixed: 3487912
2023-07-27 22:25:06 -07:00