Commit Graph

19009 Commits

Author SHA1 Message Date
Meng Yuan
fadf69f0d9 qcacmn: fix uninitialized array elements issue
Fix the issue about using uninitialized array elements.

Change-Id: I400fae1283bdee34c2e455aae21e0d3bb122a928
CRs-Fixed: 3394984
2023-02-20 07:06:09 -08:00
Meng Yuan
855b4f9fec qcacmn: Fix wlan build error in qcacmn
Fix the error: 'LINUX_VERSION_CODE' is not defined
 in i_qdf_ipa_wdi3.h:31:6.

Change-Id: Ic2ed7908d3bc5191e0cd4049c68f6d11ab10dfea
CRs-Fixed: 3335578
2023-02-20 07:05:58 -08:00
Rakesh Pillai
1ddcf838b7 qcacmn: Improve logging in MLO link add/delete
Remove console logging in MLO link peer
add/delete to MLD peer.

Change-Id: I3d1945a7cef2175cb0fed6417ede03dec9fabf1b
CRs-Fixed: 3408600
2023-02-18 22:01:51 -08:00
Pavankumar Nandeshwar
0a7d729a98 qcacmn: Reuse the tx descriptors in direct switch
Reuse the tx descriptors released in tx completions
without releasing the associated skbs to reduce
the cpu utilization in direct switch mode.

Change-Id: I4ab3ac58977a626344877b8a818a4dbc4864aaf3
CRs-Fixed: 3393968
2023-02-18 20:50:25 -08:00
Jeff Johnson
87f6016da2 qcacmn: Fix hal/wifi3.0/qca5018 documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/qca5018 folder, so fix them.

Change-Id: I72d5664f7ce0dd289d26a006d9e4448b9753f082
CRs-Fixed: 3406484
2023-02-18 15:53:38 -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
Edayilliam Jayadev
de1279ed3f qcacmn: Mark a frame as ready for delivery on insertion to egress list
Whenever a frame is added directly to egress list, mark it as ready
for delivery.

Change-Id: Ifb2eff595227c3c6857666624ab272fd20845756
CRs-Fixed: 3405305
2023-02-18 13:33:11 -08:00
Jeff Johnson
d18654812f qcacmn: Fix dp/inc documentation
The kernel-doc script identified a large number of kernel-doc issues
in the dp/inc folder, so fix them.

Change-Id: I6213164d2209cc4de9684ae66281ee2999f82672
CRs-Fixed: 3375078
2023-02-18 13:32:59 -08:00
Divyajyothi Goparaju
3c4a739d9c qcacmn: Handle INVALID_CHANNEL_NUM
Currently 'wlan_reg_max_5ghz_ch_num'returns
INVALID_CHANNEL_NUM for countries other than US
as MAX_5 GHZ_CHANNEL maps to INVALID_CHANNEL_NUM
for other countries in their respective channel_map
structure.

To fix this issue of INVALID_CHANNEL_NUM for
MAX_5 GHZ_CHANNEL,instead of taking value from
channel_map[].chan_num, with fixed index of MAX_5 GHZ_CHANNEL,
check for channel_map[].cha_num with index starting from
MAX_5 GHZ_CHANNEL down to 5 GHz channels,
consider the first hit of chan_num which is not
INVALID_CHANNEL_NUM.

Change-Id: I364500f8e13cc42350103c5d236b12d71e28a4a6
CRs-Fixed: 3396340
2023-02-18 11:03:46 -08:00
Jeff Johnson
274f667c45 qcacmn: Fix hal/wifi3.0/qca5332 documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/qca5332 folder, so fix them.

Change-Id: I780f8d20f6c9a22229dcd007ac4bb8f10174e1db
CRs-Fixed: 3406555
2023-02-18 11:03:35 -08:00
Sheenam Monga
a65ece1c4d qcacmn: Add ucfg_dcs_switch_chan API
Add ucfg_dcs_switch_chan public API that
invokes wlan_dcs_switch_chan and can be used
when CSA is required due to DCS.

Change-Id: I4f91b0a70dde29520797c7b92cdecd01b96e55c2
CRs-Fixed: 3403459
2023-02-17 11:01:30 -08:00
Parikshit Gune
0de42b892b qcacmn: Add wds ext support for Direct switch module
1. Maintain and fetch PPEDS profile from be_soc instead of be_vdev
2. Enable WDS EXT mode for Direct Switch
3. Provide cdp API's and structures to interact with osif
layer to get PPEDS profile info

Change-Id: I997126e3b5ae85dabdcd6053115927122b8681da
CRs-Fixed: 3404778
2023-02-17 11:01:08 -08:00
Paul Zhang
79720d811d qcacmn: Add support for 2+ mlo links
Add support for generating link specific assoc request/response
and probe response for 2+ mlo links.

Change-Id: Iadd09efeb0b0098baeae25f3b1968826e75dedc4
CRs-Fixed: 3049640
2023-02-17 09:32:31 -08:00
Aniruddha Mishra
fe48e79218 qcacmn: Add TLV recording support for Rx monitor
Add TLV recording support for Rx monitor. The TLV
tag and its data are recorded in a fixed size buffer

Change-Id: Idad896d1ece25a499ab76028c8a231fcd9947f66
CRs-Fixed: 3402543
2023-02-17 08:00:57 -08:00
Sheenam Monga
ba92b235ce qcacmn: Add support for wmi_vdev_param_set_profile
Add support for vdev_param_set_profile to indicate
AP profile to FW. VDEV_PARAM_XPAN_PROFILE can be used
as bit map to support other AP profiles. So, rename vdev
param VDEV_PARAM_XPAN_PROFILE to VDEV_PARAM_SET_PROFILE
to support multiple ap profiles. Bit 0 indicates XR SAP
profile is enabled or disabled and BIT 1 indicates XPAN
profile is enabled or disabled.

Change-Id: I61c434c7a4bbba013690011c0a777af199207630
CRs-Fixed: 3401468
2023-02-17 02:21:36 -08:00
Liangwei Dong
dec5632356 qcacmn: Add ML reconfig starting notify for link removal
Add mlme_vdev_reconfig_notify callback to notify the ML
reconfig link removal starting after receive the first
ML reconfig link removal IE.

Change-Id: I9ae37b7defc75c97e7bc39e07c9d154e1923aedd
CRs-Fixed: 3380159
2023-02-16 21:31:16 -08:00
Jeff Johnson
69d9fa5a24 qcacmn: Fix umac/regulatory/dispatcher documentation
The kernel-doc script identified some documentation issues in the
umac/regulatory/dispatcher folder, so fix them.

Change-Id: I2d38ec243bba2f48f522e2b80ac097eec0e06a3c
CRs-Fixed: 3402138
2023-02-16 21:31:04 -08:00
Kiran Venkatappa
7260b2db76 qcacmn: Add r-twt related changes
Add changes to read R-TWT svc bit from FW and update capabilities on
host accordingly. Update add twt session command to include new
params required for R-TWT.

Change-Id: I91cea65ef737b6fa445cb3680dac15e0f1063446
CRs-Fixed: 3399205
2023-02-16 18:20:03 -08:00
Jeff Johnson
f518df0727 qcacmn: Fix hal/wifi3.0/be documentation
The kernel-doc script identified some documentation issues in the
hal/wifi3.0/be folder, so fix them.

Change-Id: I9730c36e4d36dbe0ae551067c5c500441f07569f
CRs-Fixed: 3400933
2023-02-16 17:02:41 -08:00
Sheenam Monga
7453254a0c qcacmn: Add support to get min and max bw of chan enum
Add support to get min and max band width of provided
channel enum, so that configured bandwidth can be validated
whether it lies in the range of bandwidth or not.

Change-Id: I765b4e8013d021eaca41b37789d1ef3f1d57fa7d
CRs-Fixed: 3402928
2023-02-16 11:11:01 -08:00
Sheenam Monga
94461d8894 qcacmn: Consider last scan full scan results instead of new scan
Currently, if ACS_LAST_SCAN_AGEOUT_TIME is not provided by user then
the last_scan_ageout_time is updated to 0 and full scan is triggered
to find channel instead of using previous scan results, to avoid delay
use last full scan result based on ini "last_scan_ageout_time" value.

Change-Id: Ic38f0d3c83087dafde54b43762dd14deb7d02870
CRs-Fixed: 3404550
2023-02-16 11:10:51 -08:00
Chaithanya Garrepalli
e614273c12 qcacmn: Avoid intrabss when da_peer is same as ta_peer
In case when transmitter peer is same as destination
peer avoid intrabss

Change-Id: Ia6d744a68380e57f73d52b81429c0ffe66481716
CRs-Fixed: 3400126
2023-02-16 04:17:46 -08:00
Vijay Raj
6effc63bb2 qcacmn: Remove api wlan_add_age_ie on scan result
In api wlan_add_age_ie(), age ie is included in scan
result.

Remove api wlan_add_age_ie() as the bss age is
calculated using NL80211_BSS_SEEN_MS_AGO.

Change-Id: Ided2364ce7a52d942d29343455fc7ae511be9a18
CRs-Fixed: 3391276
2023-02-16 04:17:35 -08:00
Mukul Dhiman
7b27742e7c qcacmn: add doc for stat_periodicity, telemetry stats etc
add doc for stat_periodicity, telemetry_stats. add modify
doc for ucfg_send_telemetry_cp_stats_request.

CRs-Fixed: 3387941
Change-Id: I40a7f7223717fa681978421d5d2b4a67018f77dd
2023-02-16 03:07:50 -08:00
Jeff Johnson
8b86e068ec qcacmn: Fix dp/wifi3.0/dp_rx_defrag.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_rx_defrag.[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: I4080e4b614c5d1f0253afd06fc4eb650142b76d4
CRs-Fixed: 3373163
2023-02-16 01:43:31 -08:00
Priyadarshnee Srinivasan
058c19c08b qcacmn: Do not use a stack variable uninitialized
In reg_is_chan_supported() API, the stack object chan_list is
uninitialized and is used by channel search API. The puncture pattern
inside the chan_list is set to a random value and it causes channel find
failure.

CRs-Fixed: 3402977
Change-Id: Icec8e5f207d3d8bfb5a01dafe8aa6adc5bc18a9d
2023-02-16 01:43:21 -08:00
Jeff Johnson
fca136e13f qcacmn: Fix umac/regulatory/core documentation
The kernel-doc script identified some documentation issues in the
umac/regulatory/core folder, so fix them.

Change-Id: Id666d5a92415158591e6379b619fb34c518aeca1
CRs-Fixed: 3401870
2023-02-16 01:43:11 -08:00
Will Huang
5bfd016ea1 qcacmn: Update reg_is_afc_available() API if AFC enable
Replace reg_is_afc_available() with reg_is_afc_power_event_received(),
return true when AFC enable and AFC updated power info.

After this update, if AFC available, SAP can set reg_cur_6g_ap_pwr_type
correct so that TPE in beacon can populate proper power value
to client.

Change-Id: I7564947bdeb13ac1e35c84cbe31ec1f428b3fae6
CRs-Fixed: 3391120
2023-02-15 22:41:44 -08:00
Jeff Johnson
d8da699833 qcacmn: Fix dp/wifi3.0/dp_txrx_wds.* documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_txrx_wds.[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: I2f80d9715f772a59072f2c4158548f47df8bb055
CRs-Fixed: 3373164
2023-02-15 20:32:51 -08:00
Jeff Johnson
af392d97cd qcacmn: Fix dp_internal.h documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_internal.h, 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 duplicate that documentation. The documentation at the
implementation will be removed separately.

Change-Id: I9684f5c2da7edb621a53dfbc5f1f8de2c70d8382
CRs-Fixed: 3373166
2023-02-15 11:36:10 -08:00
Hariharan Basuthkar
8d466ff361 qcacmn: Add an API to enable or disable channels based on opclass
Add an API ucfg_reg_enable_disable_opclass_chans where given the
operating class, disable/enable the channels listed in the input
channel list.

The input channel list and operating class should be of 2 GHz or
5 GHz band.

Change-Id: Ie9dbbadbe28e5b5fdc2ec9c60c284da9c9e2286f
CRs-Fixed: 3301654
2023-02-15 04:53:25 -08:00
Jeff Johnson
81e6a31400 qcacmn: Fix dp/wifi3.0/dp_ipa.*documentation
The kernel-doc script identified a large number of documentation
issues in dp/wifi3.0/dp_ipa.[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: I664c657e4e7424db576bf19ca8a26c697b37e46f
CRs-Fixed: 3373165
2023-02-15 03:44:23 -08:00
Liangwei Dong
33d575de95 qcacmn: Add new roaming invoke source enum
Add new roaming invoke source enum CM_ROAMING_LINK_REMOVAL.
That will be used in link removal process to trigger STA
roaming to new AP.

Change-Id: I78cb1fcfce8e11fcca33ce99c80a4d6444ac3fea
CRs-Fixed: 3353004
2023-02-14 19:49:41 -08:00
Jeff Johnson
b24fcae98f qcacmn: Fix dp_types.h documentation (pass 2)
Previous the following patch fixed all of the known kernel-doc issues in
dp/wifi3.0/dp_types.h:
Change-Id Ie93b7f802926e562169e51a56e5fc83de845b310
qcacmn: Fix dp_types.h documentation

Unfortunately, concurrently the following patch introduced a new issue:
Change-Id I8bc0c3c78e3eb8c6679e00442d607615bab38f96
qcacmn: Add mcast enhance flow for single dev

And subsequently the following patch introduced two more:
Change-Id Ic3c8122fca9124e41931ec445946aec5e8863434
qcacmn: Add datapath config event history

So fix those three new issues.

Change-Id: Id1416a1426e5442f1e96db4da35412ef5374e568
CRs-Fixed: 3403640
2023-02-14 15:59:59 -08:00
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