Commit Graph

18525 Commitit

Tekijä SHA1 Viesti Päivämäärä
Kenvish Butani
3ee53085d3 qcacmn: WMI Service command for FW PeerMetaData Version
Add new WMI Service command to support multiple FW
PeerMetaData Versions

Change-Id: I3f94bd7515d2e024459dac7271b35f804f026b97
CRs-Fixed: 3399010
2023-02-14 13:34:14 -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
Edayilliam Jayadev
0571d2f7bf qcacmn: Handle ingress reo list overflow
Handle overflow of management Rx reorder ingress list.

CRs-Fixed: 3402355
Change-Id: I2e7ab5b672e6cb2db2cb1e47d3854ad55d6b540a
2023-02-14 11:03:23 -08:00
Pragaspathi Thilagaraj
52c0ba9a7a qcacmn: Choose the most secure AKM for association
Driver doesn't sort the AKM properly based on security
to use for the association. This causes lower secure AKM to be
used when AP advertises multiple AKMs.

Choose more secure AKM for association. Below is the new
changed order of Secure AKMs:
1. FT-FILS SHA384
2. FT-FILS SHA256
3. FILS SHA384
3. FILS SHA256
4. WPA3 FT-SUITE B Sha 384
5. WPA3 802.1x Suite B - 192
6. WPA3 802.1x Suite B
5. WPA3 FT-SAE
6. WPA3 SAE EXT Key
7. WPA3 SAE
8. WPA3 OWE
9. WPA3 DPP
10. WPA2 FT-802.1x
11. WPA2 802.1x SHA256
12. WPA2 802.1x
13. WPA2 FT-PSK SHA384
14. WPA2 PSK SHA384
15. WPA2 PSK SHA256
16. WPA2 FT-PSK
17. WPA2 PSK

Change-Id: I18910b56b15624725ad4fc0cdb0b37ff241e82ff
CRs-Fixed: 3400535
2023-02-14 04:44:42 -08:00
Gururaj Pandurangi
3739c21995 qcacmn: Add vdev cap to exclude sta profile from MLO IE
Define a new per vdev capability flag to exclude the sta
profile from MLO IE in unicast probe request frames.

Change-Id: I4486e4efbbb85dfa1e7b9d47326c60c79c974829
CRs-Fixed: 3392086
2023-02-14 03:26:55 -08:00
Gururaj Pandurangi
d77d7fbf29 qcacmn: QCA vendor attributes for MLO and EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities and multi-link configuration.

Change-Id: I322a6fe112b83b3636c9383db152bfaa5dd34c14
CRs-Fixed: 3395113
2023-02-14 03:26:45 -08:00
Divya R
3d76f47ca8 qcacmn: Update the maximum bandwidth of CHAN_5835_5895_1 to 40
In the current implementation, the frequency range and maximum
bandwidth of the regulatory rule CHAN_5835_5895_1
are 60 MHz and 80 MHz respectively. Which means that maximum
bandwidth is greater than the frequency range for this rule. But the
kernel does not allow us to have such a rule.

If we change the maximum bandwidth to 40 MHz for this rule, the kernel
warning disappears. However, it introduces a new problem.
If the beginning frequency of rule CHAN_5835_5895_1 matches with the
end frequency of a previous rule, say CHAN_5735_5835_2,  then the
function 'reg_do_auto_bw_correction' cannot stitch them (the rules)
properly as it simply adds the max bandwidths the two rules.
In this case, if the maximum bandwidth was reduced from 80 MHz to
40 MHz and previous rule's maximum bandwidth was 80 MHz and
the new stitched rule would have 120 MHz as the maximum bandwidth.
We should consider the frequency range of both the rules in order to
achieve the max bandwidth possible. Therefore, use the version of the
function 'reg_do_auto_bw_correction' that already does it.

Change-Id: Ib3cb1a31b6d376b9b02f3d4e6b56cd7b5e6fed3a
CRs-Fixed: 3381553
2023-02-14 01:56:05 -08:00
Jeff Johnson
3cbfba9824 qcacmn: Fix dp wifi3.0 documentation
The kernel-doc script identified a large number of kernel-doc issues
in the dp/wifi3.0 folder. A series of patches have addressed most of
the issues, so now fix the remaining issues. Just like in the previous
patches, there are a number of instances where public functions have
their implementation documented instead of having their interface
documented, so make sure that the interfaces are documented.

Change-Id: I4bc39b0e1a9d8c264b72ec6db76ff7e92d24f277
CRs-Fixed: 3373822
2023-02-13 18:39:57 -08:00
Jeff Johnson
b2294c287e qcacmn: Fix dp/wifi3.0/dp_tx_desc.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_tx_desc.[ch], 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: I349f0e9d9336ae632fb31e88ddc34ecacc4a1f68
CRs-Fixed: 3373161
2023-02-13 16:16:31 -08:00
Jeff Johnson
4c4c5b1326 qcacmn: Fix dp_rx.h documentation (pass 2)
Previous the following patch fixed all of the known kernel-doc issues
in dp/wifi3.0/dp_rx.h:
Change-Id Id0ac49ebfa23790346384d688cc6346f513a7969
qcacmn: Fix dp/wifi3.0/dp_rx.* documentation

Unfortunately, the following patch introduced two new issues since
it copied incorrectly formatted documentation that had not yet been
corrected:
Change-Id Ic51a9742f65cee677ed7f3081f49fb3ece5b42f1
qcacmn: Optimize DP Rx Error Handling (Part-1)

So fix those two new issues.

Change-Id: Iea99708e31564525d0d4a0d94ea04ef9aa036ed8
CRs-Fixed: 3403645
2023-02-13 16:16:20 -08:00
Edayilliam Jayadev
4dacd445d3 qcacmn: Add pdev param to set scan blanking mode
Add pdev param to set scan blanking mode in a scan
radio.

CRs-Fixed: 3396965
Change-Id: I973d555f7d520438b2f59001a04e4410dcb18465
2023-02-13 14:02:09 -08:00
Jeff Johnson
88f4d0b0c6 qcacmn: Fix dp/wifi3.0/dp_tx.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_tx.[ch], 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: I7a09c451f3f4af3dd606778c49cce81677f6fe58
CRs-Fixed: 3373159
2023-02-13 14:01:59 -08:00
David Oladunjoye
79e577fcfe qcacmn: Fix TWT documentation
Kernel doc script identified documentation issues
in twt, so fix these issues.

Change-Id: I9168e01e5a1941c947726d5f7ac67b6d17af4fb6
CRs-Fixed: 3400817
2023-02-13 14:01:49 -08:00
Jeff Johnson
1ea7b9f065 qcacmn: Fix dp/wifi3.0/dp_peer.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_peer.[ch], 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: I996764f93addfa270ef7aaedd2e23c71be287f77
CRs-Fixed: 3373168
2023-02-13 14:01:37 -08:00
sandhu
89c50d8df3 qcacmn: Add API to access scan entry partner info
Add API to access scan entry partner info by bssid
and freq.

Change-Id: I8340c6c654cf03f63aee9ed622e3db38056d714f
CRs-Fixed: 3376315
2023-02-13 12:45:24 -08:00
Jeevan Kukkalli
fd0368882b qcacmn: Enable FPMO filter settings
Enable code to set FPMO filter registers

Change-Id: I12c58da32dc15cd3f729f3a3d006eec86b27e47c
CRs-Fixed: 3378372
2023-02-13 12:45:13 -08:00
Kiran Kumar Lokere
2d420e388f qcacmn: QCA vendor attributes to configure EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities. These attributes are used for testing purposes.

Change-Id: Ic4ea6f5be212da423181d108c8dcae559a08a47e
CRs-Fixed: 3271502
2023-02-13 12:45:03 -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
Jeff Johnson
5ef54a9f8a qcacmn: Fix umac/cmn_services documentation
The kernel-doc script identified many documentation issues in the
umac/cmn_services folder. A series of patches have already fixed most
of the issues on a sub-folder basis, so fix the remaining ones.

Change-Id: Ibdfe9f0c5e8d6ddf9696d66d2a4a31978ff89004
CRs-Fixed: 3403261
2023-02-13 05:28:22 -08:00
Ruben Columbus
8339fb6fde qcacmn: Flush queue before qref delete
REO_FLUSH_CACHE cmd
 - flush_q_1k_desc as 1 – This will flush Queue, Q1k and QEXT in one go.
   we need not give 11 cmd for each tid of the peer.
 - forward_all_mpdus_in_queue to 1 in FLUSH_CACHE_CMD.
   With this we need wait for aging threshold time.

Change-Id: I695ab48a50968872eb22024ba5c770f0e5a74a09
CRs-Fixed: 3384665
2023-02-13 05:27:59 -08:00
aloksing
94970e41cb qcacmn: Add check for num users while peer deterministic stats update
Adding check for num users and num ul users to not cross max users limit
And convert target uplink trigger tid to data tids

CRs-Fixed: 3396991
Change-Id: I66180dba0889e116ce8ff4e582fd9c1d8391f27b
2023-02-13 04:05:02 -08:00
Mukul Dhiman
66fa364229 qcacmn: Remove macro ENABLE_10_4_FW_HDR
Remove all occurrence of ENABLE_10_4_FW_HDR and conserve
any logic change.

CRs-Fixed: 3345419
Change-Id: I37993fd2412a99e605290f5a895b7d8d634b5a69
2023-02-13 04:04:52 -08:00
Jianmin Zhu
f8d54d23a3 qcacmn: Refine vendor subcmd QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS
During implementation of commit 257b119c2d87 ("QCA vendor attribute of
update roaming cached statistics info") some deficiencies were noted as
listed below, so fix them. Since these are pre-implementation changes,
no ABI breakage is introduced.

1) Change all RSSI values to be signed values.
2) Add enums for scan type and dwell type instead of documenting
   their values with comments
3) Add missing QCA_ROAM_REASON_STA_KICKOUT to enum qca_roam_reason

Change-Id: I270dc1a009e36e37c83cb6298a096ed91b511df1
CRs-Fixed: 3402978
2023-02-13 04:04:41 -08:00
Edayilliam Jayadev
f90aff5d36 qcacmn: Avoid queuing of stale frames
Avoid queuing of stale frames into the management
Rx reorder egress list. Instead drop the stale frames
at the entry itself.

CRs-Fixed: 3402325
Change-Id: I80de6311e345feb2518ce7f042c53ffa95d22dfa
2023-02-13 01:08:02 -08:00
Jeff Johnson
1f2cc1a1f4 qcacmn: Fix dp/wifi3.0/dp_htt.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_htt.[ch], 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: Ic8eb4c5e7f04de45a785aa4278cb97f1895e53d1
CRs-Fixed: 3373162
2023-02-12 17:38:35 -08:00
Nandha Kishore Easwaran
f2ffa7ab59 qcacmn: Hif changes for umac reset in QCA5332
Add hif changes for umac reset in QCA5332. Changes are done to read the
umac reset IPC number from dst and request irq for the same.

Change-Id: I0feafb06ef63f37c3ae6db0270bd5ed50debd91d
CRs-Fixed: 3401146
2023-02-12 16:28:00 -08:00
Nandha Kishore Easwaran
610ccaa126 qcacmn: DP changes for umac reset in QCA5332
Make DP changes for handling umac reset in QCA5332.
Changes are done to program msi_data value of the IPC interrupt to FW.

Change-Id: Ib6453755e191da655b87b528a7cef38a464f316b
CRs-Fixed: 3401146
2023-02-12 16:27:50 -08:00
Kenvish Butani
3062af6ed0 qcacmn: OOB crash fix due to Invalid peer index
In print_peer_stats function while printing REO Q
ref. table if the input peer is MLD peer then the
API to check a valid MLD peer, returns NULL, hence
calculated peer index is invalid causing OOB array
access for REO Q Ref. table resulting in crash.
Fix, For MLO Link Peer REO Q ref table is not
updated and hence return from function without
printing. For MLO MLD peer update the API to check
the peer type and update peer index accordingly.

Change-Id: I66208410bd7a44d381c470621d10c118040d903a
CRs-Fixed: 3401569
2023-02-12 09:22:50 -08:00
Sheenam Monga
3f072d7829 qcacmn: Enhance QCA vendor interface for Concurrent AP Policy for XR
Add new AP concurrency policy QCA_WLAN_CONCURRENT_AP_POLICY_XR to
configure interface for eXtended Reality (XR) requirements.

Change-Id: I514979a9d950de9e0181dbf6d285812ef8a05126
CRs-Fixed: 3401504
2023-02-12 08:22:44 -08:00
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