Commit Graph

18619 Commits

Author SHA1 Message Date
KARTHIK KUMAR T
31278694e1 qcacmn: single dev reinject cleanup
single dev reinject cleanup in DP

Change-Id: I2376a17ac5e850ca21db83714124fd0ccf62243d
CRs-Fixed: 3359180
2023-02-07 04:55:31 -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
Jhalak Naik
40c8de4f24 qcacmn: Guard Spectral report processing with spinlock
There is a possibility of Spectral being stopped by user
while a report is being processed, this can lead to the data
structures becoming invalid leading to an error.
Guard API target_if_consume_spectral_report_gen3 with
spectral_lock to avoid this, and allow Spectral scan to stop
only when the ongoing report has been processed.

Change-Id: I617f66e3c5b45323f8c88e9e5e173b139a8a9241
CRs-Fixed: 3376179
2023-02-07 17:22:20 +05:30
Sai Rupesh Chevuru
e219606587 qcacmn: DP changes corresponding to single netdev model
DP changes to support the single netdev model.

Change-Id: I03c74e605c7530f4ab81edb68f0090f103e84578
CRs-Fixed: 3360499
2023-02-07 02:55:12 -08:00
Edayilliam Jayadev
40bbbf5e3e qcacmn: Add big endian support for mgmt rx reo
Add big endian support for management Rx reorder feature.

CRs-Fixed: 3397229
Change-Id: Ibcf46bfbaaf1ee00d5f599bddf9a6949b229c2b2
2023-02-07 02:55:00 -08:00
Prakash Manjunathappa
3cde321196 qcacmn: Add PEACH device support
Add support for peach device. Add peach conditional statements.

Change-Id: Ia107e60fd00b4938984414fd92d6699d11fd3797
CRs-Fixed: 3394198
2023-02-07 00:54:44 -08:00
Yu Tian
4bb2e1a3f2 qcacmn: Add SA check for Decrypt error frame
Usually decrypt error frames will be reported and cause
a disconnection. In some cases, the disconnection is unwanted.
Change is aimed to do additional check for frame SA, if it's
received from a valid peer, then don't report it to protocol.

Change-Id: I19d9acffc5ebd2c20abdf19eebc02f6875f762ca
CRs-Fixed: 3363352
2023-02-07 00:54:33 -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
jinbaoliu
8f331d9d7e qcacmn: Fix a memory leak issue
This change will modify a function using qdf_mem_malloc()
does not call qdf_mem_free(), contributing to memory leak.

Change-Id: I2bffae4c4edacc1bd454b3992af55ab954d0a031
CRs-Fixed: 3375124
2023-02-06 11:35:40 -08:00
Anbarasan Ganesan
8921c69fe7 qcacmn: Initialize whole char array elements
Initialize whole char array elements instead of initializing
just the first element in an array.

Fixed below compiler optimization error:
error: suggest braces around initialization of subobject.
[-Werror,-Wmissing-braces]

Change-Id: I103d95274e654cb7d232775cf7986a772741a152
CRs-Fixed: 3357183
2023-02-06 08:58:51 -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
Anbarasan Ganesan
0ce3a8e549 qcacmn: Use different assertion naming
Use different assertion name as same assertion name
is being used in more than once instance.

Fixed below error:
error: redefinition of typedef 'struct_size_4byte_assertion'
is a C11 feature [-Werror,-Wtypedef-redefinition]

Change-Id: I5809172a599123705b50613aae825a29433a4ba3
CRs-Fixed: 3357183
2023-02-06 08:57:40 -08:00
Anbarasan Ganesan
a15ee7308e qcacmn: Export symbol when compile time macro is enabled
As function is defined under compile time macro, also
export the symbol under the same macro.

Change-Id: Id2eba221dcb9c6d8cd7503e9d473199a50508309
CRs-Fixed: 3357183
2023-02-06 08:57:09 -08:00
Shivam Kumar
65c8964062 qcacmn: Add TDMA function pointer support for WMI
Add function pointer support for wmi to pass
the TDMA Data

Change-Id: I5e253ac3ad3d165fdf0867297d72c6841540fe52
CRs-Fixed: 3386637
2023-02-05 22:51:52 -08:00
Liangwei Dong
1ffc60a883 qcacmn: Add API to stop reconfig timer
Add API to stop link reconfig timer on vdev or ml dev.
Add API to query the reconfig timer state.

Change-Id: I729d403122e4e84cdf0dced21c49176397e10e5d
CRs-Fixed: 3352937
2023-02-05 22:51:38 -08:00
Nanda Krishnan
d30d545aee qcacmn: Counters to track when wifi firmware drops in Tx path
Incremented an counter when wifi FW drops the packet in DS mode
with reason as FW2WBM_TX_STATUS_DROP and we can dump it
via 260 output

Change-Id: Ieb52b0af6dca66732f34cc7f1cfba5c467e9507f
CRs-Fixed: 3383509
2023-02-05 18:57:43 -08:00
Himanshu Batra
97524335e8 qcacmn: Add mlo peer check in disconnect handling
In case of handling disconnect while sta is connected, if previous
connection is non-ml and a new connect is received with ml
connection on partner link then disconnect request on connected link
is getting ignored.
Fix to add mlo peer check in disconnect handling.

Change-Id: I456b45a080375b93ce209300bf7719e9e53733dc
CRs-Fixed: 3394233
2023-02-05 18:57:30 -08:00
Jeff Johnson
f57c0cf483 qcacmn: Fix umac/dfs documentation
The kernel-doc script identified some documentation errors in the
umac/dfs folder, so fix them.

Change-Id: Ia86989a39fe502480e2d2358a6f23759f78707e0
CRs-Fixed: 3382430
2023-02-05 12:40:54 -08:00
KARTHIK KUMAR T
7ae4979be0 qcacmn: Add mcast enhance flow for single dev
Add mcast enhancement for single dev/bonding feature

Change-Id: I8bc0c3c78e3eb8c6679e00442d607615bab38f96
CRs-Fixed: 3350461
2023-02-05 04:33:10 -08:00
aloksing
d47d3c4723 qcacmn: Update vht flag values per user
Update vht flag values per user when vht flag is set

CRs-Fixed: 3387851
Change-Id: Ibc0f729f39539a796d4deb0ddae35460c27ce9a8
2023-02-05 04:32:59 -08:00
Vijay Krishnan
a53c0e8a6d qcacmn: Perform null check before memory allocation
When calculating 6 GHz Opclasses and channels through API
reg_dmn_get_6g_opclasses_and_channels, memory allocation
is performed based on number of opclasses.

In some cases if the number of opclasses is zero, we
try to memory allocate for 0 bytes resulting in error
in console.

To avoid this issue, verify that the number of opclasses
is non-zero before performing the allocation.

Change-Id: Ieae85130eb77c9637153ae1505c9d9b578e0bf2e
CRs-Fixed: 3379534
2023-02-03 14:45:03 -08:00
Neha Bisht
30bc8285d2 qcacmn: Add global context for maintaining descriptor count
Add global context to maintain descriptor count at global level.

Change-Id: Ibfe3379bb4a747530794956cc0cba31e423598d3
CRs-Fixed: 3334340
2023-02-03 05:57:55 -08:00
Rahul Gusain
fbc9c86186 qcacmn: Do not add 6 GHz RNR flag in PNO scan
In suspend mode, driver issues the PNO scan with frequency list to
firmware. Currently, for 6 GHz PNO scan, driver adds the RNR flag
for non-PSC channels and sent the scan request to firmware. But
firmware is unable to scan for non-PSC frequencies as 2.4 GHz and
5 GHz frequencies are not present in the frequency list.

So, to fix this, driver exempts the addition of RNR flag for
non-PSC channel in PNO scan.

Change-Id: If2403586460f9da1647bc904027ed738e255af22
CRs-Fixed: 3384972
2023-02-03 05:57:42 -08:00
aloksing
db9c174c07 qcacmn: Add vdev id in cdp get peer deter API
User vdev id to get peer deter stats.

CRs-Fixed: 3380939
Change-Id: Ib843849adaaf7f85dd4108e96e5a2191ce1c0a43
2023-02-03 03:39:53 -08:00
aloksing
01569fa038 qcacmn: Get channel utilization from dp pdev
Set channel util stats to dp pdev from channel stats event

CRs-Fixed: 3380939
Change-Id: Ib908946a42077f936402afbe846a835cb91b0a8d
2023-02-03 03:39:40 -08:00
aloksing
1442fb17b6 qcacmn: Get deterministic stats from DP PDEV
Add cdp layer API to get stats and
Copy pdev deterministic stats from dp_pdev to cdp structure

Change-Id: Ia7dbbe4cfe7ebe66a040879144505b17aaaa625a
CRs-Fixed: 3380939
2023-02-03 03:39:13 -08:00
aloksing
e03fabab41 qcacmn: Update deterministic stats per pdev
Adding tx mode count per num of users and mode count
per tx mode

CRs-Fixed: 3380939
Change-Id: I7e50ce6cfc7cfc23bde6e58b4afa478008b6af9e
2023-02-03 03:38:58 -08:00
aloksing
444c6f16aa qcacmn: Get deterministic stats from DP mon_peer
Add cdp layer API to get stats and
Copy peer deterministic stats from dp_mon_peer to cdp structure

CRs-Fixed: 3380939
Change-Id: Ic90b9c9f5c7463ad0d5b7c2bb7a371e4d4fef070
2023-02-03 03:38:40 -08:00
aloksing
e657b7999f qcacmn: Update deterministic stats for rx
update mode count and avg rate for SU

CRs-Fixed: 3380939
Change-Id: Id593cc98fd58cdf55269966650cad9f53889c4ec
2023-02-03 03:38:24 -08:00
aloksing
a3a4b8e44b qcacmn: Update deterministic stats for tx
Parse sequence type and msduq htt tlv and
update mode count and avg rate based on txmode.

CRs-Fixed: 3380939
Change-Id: I5fe2068cbe8b312738eeaa4c4a48000e1a66255c
2023-02-03 03:38:06 -08:00
Vinod Kumar Myadam
f1664a7c8a qcacmn: Replace reg_get_5g_bonded_channel_for_freq to pwrmode API
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.

Replace the references of "reg_get_5g_bonded_channel_for_freq"
with "reg_get_5g_bonded_channel_for_pwrmode".

Change-Id: I4c978c7f938b14d79d0eadf4251a86a9165f496e
CRs-Fixed: 3147900
2023-02-03 03:37:43 -08:00
Vinod Kumar Myadam
e1c58ad3cb qcacmn: Replace reg_get_5g_bonded_chan_array_for_freq to pwrmode API
The current channel list alone is not enough to represent the
capability of the chip or device. Given a channel, in many
cases it may be required to know all the power modes that are
supported by this channel.

Update API to use supper channel list.
Remove reg_get_5g_bonded_chan_array_for_freq API to use the
super channel API reg_get_5g_bonded_chan_array_for_pwrmode

Change-Id: I4714ae628add81de776bfaec07756df56f27094f
CRs-Fixed: 3143152
2023-02-03 03:37:20 -08:00
Abhishek Singh
7ce0c12e54 qcacmn: Use freq hint in scan for ssid
When Scan db reaches max size, driver deletes the oldest node,
so chances are that BSS on 1st freq scanned is removed.

This lead to scan for SSID, which will do a scan again on
all freqs, and thus we end up in flushing the entry again.

TO fix this use freq hint to scan for ssid to quickly find the
AP so that required AP remains in scan database as it will
be the latest entry.

Change-Id: I28849ee97ff1f492d372870c362288206c4ec9a5
CRs-Fixed: 3392831
2023-02-03 03:36:44 -08:00
Uraj Sasan
52f91b32b9 qcacmn: Reduce the value of macro due to memory Impact
In Multi-Chip MLO, FW is having memory constrain
while increasing the maximum supported MLO LINKS.

Reduce the values to avoid memory issue in FW

Change-Id: Id191f45f25de915e88ed1e12ae56d4a6e7b7095f
CRs-Fixed: 3391537
2023-02-02 22:01:06 -08:00
Wu Gao
a9137e8331 qcacmn: Use fixed pdev id for CFR with KIWI
This change use fixed pdev id for CFR with KIWI.

Change-Id: I6a656b190bf0a061d34b9c0fa2f9a322d275a508
CRs-Fixed: 3373583
2023-02-02 10:21:21 -08:00
Surya Prakash Sivaraj
1d91f07450 qcacmn: Align RSNXE with IEEE P802.11az/D7.0 definitions
RSNXE bits are modified in the recent draft. Rename
WLAN_RSNX_CAPAB_PROT_RANGE_NEG to WLAN_RSNX_CAPAB_URNM_MFPR
and the bit position is changed to 15 instead of 10.

Change-Id: Iebca652a952b338f0533023581ebe45bc0aae452
CRs-Fixed: 3387173
2023-02-02 10:21:04 -08:00
Amit Mehta
609446600f qcacmn: Check active peer to detect if MLO STA is connected
Currently in tx flow pool delete API to check if MLO STA is
connected, policy_mgr_is_mlo_sta_disconnected API is called.
Policy manager API takes mutex inside and flow pool delete API
can be called from soft irq context which can result in QDF ASSERT
logs.

To fix the issue instead of calling the policy manager API to check
if MLP STA is connected, loop through all the vdev peers and check if
there is any active peer. In the case of active peer defer the vdev
flow pool unmap.

Change-Id: If6338f3a060e17124950e6918039ee4cc786fee5
CRs-Fixed: 3382140
2023-02-01 22:12:17 -08:00
Kenvish Butani
3c1f0a4c4f qcacmn: MLO Mcast Support for ML-Reconfig
Add CDP API support to remove the ML
partner link in DP during ML-Reconfig
link removal.

Change-Id: Ibdcffb72f34bc74415b43e9b493fd94ec39312e5
CRs-Fixed: 3383451
2023-02-01 15:11:25 -08:00
Sai Rupesh Chevuru
5e9edf8485 qcacmn: Generate the mcast dummy src mac from the SA
Generate the mcast dummy src mac from the SA
instead of the AP mld mac address.

Change-Id: I146deb8564bd18b33ca87c2bd62121616e149850
CRs-Fixed: 3390036
2023-02-01 05:22:22 -08:00
Jeff Johnson
56519552e2 qcacmn: Fix umac/cmn_services/regulatory documentation
The kernel-doc script has identified documentation issues in the
umac/cmn_services/regulatory folder, so fix them.

Change-Id: I134c0692507f58e2c9b13d71bec74d57a566a91c
CRs-Fixed: 3390471
2023-01-31 19:43:39 -08:00
Jeff Johnson
d426f58323 qcacmn: Fix hal/wifi3.0/kiwi documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/kiwi folder, so fix them. For one public function make
sure the interface is documented, and not the implementation.

Change-Id: Ie38a909407d5c2a727c0800ef1a39b89b4ee5e61
CRs-Fixed: 3390484
2023-01-31 19:43:25 -08:00
Jeff Johnson
7bc9ad4d74 qcacmn: Fix OSIF Documentation
The kernel-doc script identified some documentation issues in the
os_if folder, so fix most of them. However do not modify the file
qca_vendor.h since most of the issues there are present upstream, and
the downstream file should match the upstream file.

Change-Id: I71948fb497c1ea2d1dd46308277d99beefde18b8
CRs-Fixed: 3390428
2023-01-31 17:09:48 -08:00
Vignesh U
3388a6e5a2 qcacmn: Enhance regulatory debug
The regulatory API reg_get_bonded_chan_entry() does not print the input
parameter "cen320_freq" which indicates the 320 MHz center frequency and is
used in 11be regulatory calls.

Add the parameter "cen320_freq" in the existing regulatory debug print for
the API.

Change-Id: I9edec5855326e78b6898d3a443d96d938fbfe44f
CRs-Fixed: 3369874
2023-01-31 15:01:56 -08:00
Jeff Johnson
9a5f44727b qcacmn: Fix dp_main.c documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_main.c, 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 remove that documentation. The documentation at the
interface will be added separately if it is not already present.

Change-Id: Id9bcfd37d690b72ec7a04f25d1b91b0210bef8e3
CRs-Fixed: 3373154
2023-01-31 15:01:45 -08:00
Amruta Kulkarni
8a67a212c5 qcacmn: Add documentation for mlme api
Adds documentation for callback api
mlme_cm_roam_get_scan_ie_cb.

Change-Id: Ibc0e3ad80bff24afa8e6f31090a30753f9228ef5
CRs-Fixed: 3390453
2023-01-31 13:18:30 -08:00
Jeff Johnson
6b13d7bbdf qcacmn: Fix umac/cmn_services/sm_engine documentation
The kernel-doc script identified some documentation issues in the
umac/cmn_services/sm_engine folder, so fix them.

Change-Id: I08e56fabac869555719230c53537a8cd671ca4e5
CRs-Fixed: 3390481
2023-01-31 13:18:18 -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
Jeff Johnson
1b381119de qcacmn: Fix umac/mlo_mgr documentation
The kernel-doc script identified some documentation issues in
umac/mlo_mgr, so fix most of them. However some issues are due to
kernel-doc being unable to parse the qdf_bitmap() macro, so disable
kernel-doc in those cases.

Change-Id: I1c32ffae58aedbbafa2ab4c9e4faa33c426ea7b5
CRs-Fixed: 3380021
2023-01-31 13:17:53 -08:00
Jeff Johnson
f576a0ab92 qcacmn: Fix umac/cmn_services/serialization documentation
The kernel-doc script identified some documentation issues in the
umac/cmn_services/serialization folder, so fix most of them. However
one issue is due to kernel-doc being unable to parse the qdf_bitmap()
macro, so disable kernel-doc in that case.

Change-Id: I4b579891db315484b465322e9f9e5fe2564f8909
CRs-Fixed: 3390576
2023-01-31 11:24:28 -08:00