Commit Graph

18596 Commitit

Tekijä SHA1 Viesti Päivämäärä
Varsha Mishra
d6afad86bc qcacmn: Add global context
Global context will contain fst context, fst ref count
and global desc count.

Change-Id: I272fa2c3b8945822268d29b6c329df3f659753d4
CRs-Fixed: 3392039
2023-02-12 03:21:18 -08:00
Jeff Johnson
5cf8f4a9a4 qcacmn: Fix dp_rx_mon_pkt_tlv_offset_subscribe() documentation
Previously all of the documentation issues in the dp/wifi3.0/monitor
folder were fixed by:
  Change-Id I27e14544ef88193bbfe6ee409fe58c59d6b5bea2
  qcacmn: Fix dp/wifi3.0/monitor documentation

But concurrently a separate patch introduced a new issue in the
dp_rx_mon_pkt_tlv_offset_subscribe() documentation:
  Change-Id I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
  qcacmn: Word mask TLV support for monitor

So fix that issue.

Change-Id: I174b19d9dded26d14af6eb94115a1c461a2f9e6f
CRs-Fixed: 3401990
2023-02-11 17:11:02 -08:00
Jeff Johnson
afe5a28707 qcacmn: Fix dp/wifi3.0/be documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/be, 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: I15c8570aa1832ed053fa38f536fa36b2ca0aa56b
CRs-Fixed: 3373157
2023-02-11 02:23:47 -08:00
Jianmin Zhu
fad8228802 qcacmn: Fix wrong congestion score issue
When calculate mlo score, partner link congestion score is used wrongly.
Total congestion score after considering both assoc and partner link should
be used.

Change-Id: I6f94fc1bcbfd1adf547dbf519e03524409509260
CRs-Fixed: 3399624
2023-02-11 01:12:07 -08:00
Vinod Kumar Myadam
5a67617bdc qcacmn: Update reg_fill_channel_list to use 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 caller APIs to use super channel list. Remove
reg_fill_channel_list, reg_fill_pre320mhz_channel and
reg_fill_channel_list_for_320 to use the super channel list APIs.

Change-Id: I917eb3414b6339678f84eb7cf6e3547ed52b6335
CRs-Fixed: 3360452
2023-02-10 18:10:57 -08:00
Chaithanya Garrepalli
28235e65eb qcacmn: Fix intrabss forward issue in split-phy
In case of split phy return the partner vdev from
same SOC for intrabss forward

Change-Id: Id7d2acd80d60e4d5cfb6df821f72a8d885d8fe57
CRs-Fixed: 3398627
2023-02-10 18:10:47 -08:00
Aniruddha Mishra
589dcb8b89 qcacmn: Fix check for the pointer to next TLV
The pointer to next TLV in status buffer is considered
as valid, only if atleast the TLV header size is available
within the status buffer.

Change-Id: Ic222bfab4790853ee012de4b0a860ab037972ff5
CRs-Fixed: 3378058
2023-02-10 12:21:48 -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
Shivani Soni
4e97976936 qcacmn: add qal abstraction for bond netdev create
Add support for qal abstraction for bonding module APIs..

Change-Id: I59a635917fb6ddde2c92056bb2708797b3bf1c94
CRs-Fixed: 3389230
2023-02-10 12:19:32 -08:00
Linux Build Service Account
567c3ceaed Merge "qcacmn: Extend WMI_ROAM_STATS_EVENTID for enhanced roam" 2023-02-09 21:14:38 -08:00
chunquan
e26d34b3bb qcacmn: Extend WMI_ROAM_STATS_EVENTID for enhanced roam
Extend WMI_ROAM_STATS_EVENTID event information for
requirement of:
1.Roam trigger related information, include timestamp,
  trigger reason, trigger condition, abort reason,
  scan type, roam status and fail reason.
2.Roam scan related information, include scan channel
  number, dwell type, max dwell time of each channel
  and total scan time.
3.all types of roam related frame information, include
  timestamp and successful or failed status for Preauth,
  Reassoc, EAPOL-M1/M2/M3/M4.

Change-Id: I1f54bc04d7cb8b083f1394989746c57c66fa29f6
CRs-Fixed: 3381545
2023-02-09 19:23:37 -08:00
Linux Build Service Account
b6eaaa8940 Merge "qcacmn: Guard Spectral report processing with spinlock" 2023-02-09 16:44:04 -08:00
Jeff Johnson
0c3d0db206 qcacmn: Fix misspelling "vaidate"
The misspelling "vaidate" was found during code review, so replace it
with the correct spelling: "validate".

Change-Id: Ifa25e118e71381c5eaace4429ce5f80cd8873f32
CRs-Fixed: 3398094
2023-02-09 00:57:56 -08:00
Vinod Kumar Myadam
999d064b46 qcacmn: Update callers of wlan_reg_get_5g_bonded_channel_and_state_for_freq
Replace callers of wlan_reg_get_5g_bonded_channel_and_state_for_freq to
use super channel list API
wlan_reg_get_5g_bonded_channel_and_state_for_pwrmode in API
wlan_dcs_afc_reduce_bw.

Change-Id: Ie7b5d88f57064d5345699c64f3b7e5ed694a0425
CRs-Fixed: 3397213
2023-02-08 22:56:14 -08:00
Sushant Butta
42be95a6df qcacmn: Word mask TLV support for monitor
Word mask TLV support for QCN9224.

Change-Id: I9e5d6cbb32cc7469dc367f6fc4bca4ce8adc9da8
CRs-Fixed: 3368626
2023-02-08 22:56:03 -08:00
Liangwei Dong
91f844bfce qcacmn: Handle link active_inactive command
Add code to handle new set link state command -
MLO_LINK_FORCE_MODE_ACTIVE_INACTIVE.

Change-Id: I4fad93e9e09309f7e8ac07f2e3c43a0aa6472a3a
CRs-Fixed: 3352970
2023-02-08 06:56:46 -08:00
Edayilliam Jayadev
060f2a7ebc qcacmn: Separate reorder list into ingress and egress lists
Reorder list holds incoming frames and frames to be delivered to
upper layers. Split the reorder list into two, ingress list and
egress list. Ingress list stores the incoming management frames
and egress list stores the management frames which are ready to
be delivered to upper layers.

CRs-Fixed: 3386123
Change-Id: I479f5d15bfab40649053b0ee2a0d8c13d80f8bba
2023-02-08 06:56:36 -08:00
Hariharan Ramanathan
5b8182fd3c qcacmn: Split hif_ahb_get_soc_info_pld function
Split hif_ahb_get_soc_info_pld function as some chips need to get
bar address only and some cmem only.

Change-Id: I804879c3277828068aaead2aacbe67bd8cf32c44
CRs-Fixed: 3392678
2023-02-08 06:56:26 -08:00
Vinod Kumar Pirla
cad19e4fc7 qcacmn: Introduce API to modify MAC address in action frame
Introduce two APIs which will change the RA, DA and BSSID fields
of 802.11 MAC header.

For any non-public action frame, supplicant will send RA, DA and BSSID
with MLD address which needs to be translated to link addresses to
transmit over the air. wlan_mlo_update_action_frame_from_user() API
will do the address translation from MLD to link.

If any non-public action frame is received over the air that needs
to be sent to userspace, the kernel expects MLD address in RA, DA
and BSSID fields. wlan_mlo_update_action_frame_to_user() API will
do the address translation from link to MLD.

Change-Id: Iab93dd1301003b78edf6d619cfbf552afa53ae7a
CRs-Fixed: 3394706
2023-02-07 23:41:52 -08:00
Surya Prakash Sivaraj
c595a4abdf qcacmn: Cleanup link vdev SM on roam HO failure
In legacy to MLO roaming case, the link vdev will be
moved from INIT->UP via EV_ROAM event. Similarly, if
the Hand-off fails in host due to host-related handling,
treat the failure as HO-FAILURE and move the link VDEV
SM from UP->INIT directly.

Change-Id: Ia6bfeb958f0302a934d24c9b40fadd4a8f557236
CRs-Fixed: 3389148
2023-02-07 20:02:03 -08:00
Jeff Johnson
15b6ef6b0e qcacmn: Fix hal/wifi3.0/li documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/li folder, so fix them.

Change-Id: I4ac9d051ac1ba23ddeecdf1b1bb88b939956795e
CRs-Fixed: 3390587
2023-02-07 18:04:49 -08:00
Pragaspathi Thilagaraj
daf6b01d39 qcacmn: Remove unused TWT API
Remove the below unused TWT API's:
-wlan_twt_tgt_caps_get_requestor
-wlan_twt_tgt_caps_get_bcast_req_support
-wlan_twt_tgt_caps_get_bcast_res_support
-wlan_twt_tgt_caps_get_requestor
-wlan_twt_tgt_caps_get_bcast_res_support
-ucfg_twt_get_requestor
-ucfg_twt_get_twt_bcast_req_support
-ucfg_twt_get_twt_bcast_res_support

Change-Id: I98b2f829a47ed727712828376ddb0c6eb1f02706
CRs-Fixed: 3397194
2023-02-07 18:04:39 -08:00
Jianmin Zhu
a8fbfe3aae qcacmn: Enable dynamic puncture for DFS radar
1. Enable sub chan DFS type if QCA_DFS_BW_PUNCTURE defined, or all bonded
operation freq will be affected and disabled for nol, puncture can't work,
always need to switch freq.

2. Find nearest puncture pattern for a bitmap.
For example, SAP started with channel width 320 MHz, if only 20 MHz freq
affected by radar, 320 + 20 puncture pattern is invalid, but puncture
pattern 320 + 40 can be used.

3. Fix build issue when QCA_DFS_BW_PUNCTURE defined as following.
error: incompatible pointer types passing 'qdf_freq_t[16]' (aka
'unsigned int[16]') to parameter of type 'uint16_t *' (aka 'unsigned
short *')

Change-Id: I374ed76c6a13ef5fac1a78073f1b8974b0a9bb30
CRs-Fixed: 3386020
2023-02-07 11:32:35 -08:00
Jeff Johnson
b0fa96084a qcacmn: Fix umac/cmn_services/crypto documentation
The kernel-doc script identified some documentation issues in the
umac/cmn_services/crypto folder, so fix them. In addition there are
multiple instances of both the interface and the implementation being
documented, so remove the duplicates, keeping just the interface
documentation.

Change-Id: Ied5bfcdff185d0b144f8c41affb5adcb3b8a5b88
CRs-Fixed: 3394398
2023-02-07 09:41:28 -08:00
Kenvish Butani
2fbc8c8ab0 qcacmn: Optimize DP Rx Error Handling (Part-1)
1) In WBM2SW Rx Error path, code to reap and
the process the HAL descriptor is split into
BE and LI architecture specific functionality
in dp_be_rx and dp_li_rx files respectively.
2) The function to handle Null Queue desc.
error for WBM and REO Rx Error path is split
into BE and LI architecture specific
functionality in dp_be_rx and dp_li_rx files
respectively.

Change-Id: Ic51a9742f65cee677ed7f3081f49fb3ece5b42f1
CRs-Fixed: 3356179
2023-02-07 07:00:22 -08:00
Jinwei Chen
c4db9c63b8 qcacmn: remove raw mpdu check in dp_rx_reo_err_entry_process
Raw mpdu check in dp_rx_reo_err_entry_process() is introduced
from change "Free the raw mode mpdus in REO error ring",
it is fixing the low memory issue during MLO STA T-put test
which reports REO error code 0 - HAL_REO_ERR_QUEUE_DESC_ADDR_0
frequently.
this introduce regression for SAP certification case 4.3.3.1.

it seems REO error 0 is hard and not expected to be reproduced
during MLO STA T-put test, remove the raw mpdu check in
dp_rx_reo_err_entry_process() to not block SAP certification.

Change-Id: I509e80eb38d57f20b24c32ba1da2ad7132358030
CRs-Fixed: 3387453
2023-02-07 04:55:44 -08:00
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