Commit gráf

19459 Commit-ok

Szerző SHA1 Üzenet Dátum
Himanshu Batra
25e0531edd qcacmn: Add fix to validate disconnect req for MLO STA
In case of MLO, to avoid race between ongoing connect and a new
disconnect, add fix to validate disconnect req for MLO STA

Change-Id: I4b27a06103ffce637738b1894c3bdcf46533043c
CRs-Fixed: 3493915
2023-05-14 11:07:21 -07:00
Vivek
7c844f2d3f qcacmn: Handle the HTT message for SAWF peer AST update
When a new MSDUQ is instantiated for a peer, additional
dynamic AST indices are allocated.The new AST indices
should be used in subsequent MSDUs.

Handle the HTT message to update the dynamically allocated
AST indices.

Change-Id: Iea24e1f3523006f40c781abdc3c176ba25ecd5a5
CRs-Fixed: 3449259
2023-05-14 08:12:02 -07:00
Neha Bisht
53800babd2 qcacmn: Update reo pointers for new primary Qref table
Update reo pointers for new primary Qref table.

Change-Id: I3ac5cdd39f91ae84ecb595d613574bd7ee127d99
CRs-Fixed: 3486401
2023-05-14 08:11:52 -07:00
abhinav kumar
058889e6a0 qcacmn: Process ML Channel Measurement request
Host parse newely added vendor command
QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS and trigger
scan to get connected channel stats from FW in case of MLO
connection.

On scan done host sends scan done indication to upper layer
via QCA_NL80211_VENDOR_SUBCMD_CONNECTED_CHANNEL_STATS vendor
command.

Change-Id: I92dbd779c5fbdb1652a37cfa54c177bd13de4f28
CRs-Fixed: 3491060
2023-05-14 05:07:51 -07:00
Rakesh Pillai
4bb252b2a3 qcacmn: Featurize wlan repeater handling in multipass
Currently the packet tx handling for AP-multipass
assumes wlan repeater to be present. For targets like
qca6490, kiwi etc, wlan repeaters are not supported in
the network topology.

Hence to skip unwanted tx packet copy in per-pkt path,
move the code to handle packet tx to waln repeater in
multipass mode under a feature macro.

Change-Id: I8bb3fbc4f3de76c3ae04978d12d369fad5d2553f
CRs-Fixed: 3491508
2023-05-14 05:07:40 -07:00
Rakesh Pillai
e01279c8cf qcacmn: Include enet.h for ETHERTYPE_VLAN_LEN macro definition
ETHERTYPE_VLAN_LEN is defined in enet.h, which is not being
included in dp_main.c, which can lead to compilation error
if the MULTIPASS feature is enabled.

Include the enet.h header file for ETHERTYPE_VLAN_LEN macro
definition

Change-Id: I589123a0e2161486a430c6e8d6ca18e5907252d4
CRs-Fixed: 3494435
2023-05-14 05:07:29 -07:00
Aditya Kodukula
d943abd732 qcacmn: Add support to fetch link layer stats per MLO link
IEEE 802.11be enables multiple links between STA and AP. Each of the
link has its own set of statistics. Add additional attributes required
to fetch link layer statistics per MLO link.

For MLO connection, per MLO link statistics will be sent with the new
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK. Also, cumulative
statistics of all the MLO links will be sent outside
QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK to be compatible with legacy user
space.

For non-MLO connection, the statistics will be sent without being nested
inside QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK attribute.

Change-Id: I2abe31ad754e59c101ff79dd3ae956bc93880a33
CRs-Fixed: 3488156
2023-05-14 05:07:18 -07:00
Hariharan Ramanathan
71b2a0dce1 qcacmn: Changes to move stub functions to header file
Changes done to move stub functions present in source file under
WLAN_MGMT_RX_REO_DEBUG_SUPPORT flag to header file.

Change-Id: I34297a48b67fb3200fed7e5e4b842647125d4fb0
CRs-Fixed: 3481641
2023-05-14 02:07:16 -07:00
Harsh Kumar Bijlani
ab46f235a0 qcacmn: Update rx_fast_flag for Rx protocol tag feature
Update rx_fast_flag for Rx protocol tag feature irrespective of
enhanced_stats_en flag.

Change-Id: Ibea2869cc182ad7d1683692d86b01de542cbddd0
CRs-Fixed: 3481654
2023-05-14 02:07:07 -07:00
Venkateswara Swamy Bandaru
a81e75d13b qcacmn: Add EPCS action frame receive support
Add EPCS action frame types on receive to process further.

Change-Id: Ieaae0dc2dd5bb3fbdc2b4d4c65f5ffd79498484d
CRs-Fixed: 3490402
2023-05-14 02:06:57 -07:00
Yu Tian
4e16309dd1 qcacmn: split srng history into small trunks
ring history array size is large. Change is aimed
to split the allocation into small trunks to avoid
memory allocation failure.

Change-Id: If977baab23718d0186ad2ce6d33319b52096f2f9
CRs-Fixed: 3479226
2023-05-13 23:33:50 -07:00
Vijay Patil
c3a34a4987 qcacmn: Iterate through all vdevs and check if CAC is in progress
Add an API to iterate through all vdevs and check if any vdev is
in CAC in-progress state.

When DFS CAC is going on for SAP, if 5 GHz mac is occupied by the
SAP and it's not available for 5 GHz NAN discovery. Enabling NAN
on 5 GHz in such cases cause inconsistency in firmware state machine
and firmware may assert as DFS MAC is not supposed to be disturbed
while CAC is going on.

So, check if NAN enable request has 5 GHz NAN channel also and reject
the request. Allow NAN enable command if it's 2 GHz only NAN enable
request, while CAC is going on.

Change-Id: Idcd92e29d4b6078332d439efb75eba6800e986bb
CRs-Fixed: 3492054
2023-05-13 17:02:42 -07:00
Aditya Kodukula
337b5b6195 qcacmn: Update QCA LL_STATS vendor command
Define bitmap values used by LL_STATS vendor command
and update the corresponding kernel documentation.

Change-Id: I70c86926a19907a2a1053bccbd7b316b198e1fb8
CRs-Fixed: 3488125
2023-05-13 07:19:23 -07:00
Aditya Kodukula
01e2992149 qcacmn: Fix differences in downstream LL_STATS vendor command
Currently the vendor attributes qca_wlan_vendor_attr_ll_stats_set,
qca_wlan_vendor_attr_ll_stats_clr, qca_wlan_vendor_attr_ll_stats_get and
qca_wlan_vendor_attr_ll_stats_results for LL_STATS vendor command
are not in sync with the upstream code.

So, fix the differences and match downstream code for LL_STATS vendor
command with upstream code.

Change-Id: I373470e1217f7da82bb25b40e07ed96d1b1a1d6c
CRs-Fixed: 3489509
2023-05-13 07:19:13 -07:00
Venkateswara Swamy Bandaru
2d6091a62e qcacmn: Add EPCS module id
Add EPCS module id and initialize to default info
debug level.

Change-Id: Idec60fcab1bdef90660a24c54f6c7b09d0ddc2eb
CRs-Fixed: 3490401
2023-05-12 23:09:19 -07:00
Krishna Rao
4f26b0e43f qcacmn: Allow modification of ML Reconfig delete timer
Allow modification of ML Reconfig AP remove delete timer at non-AP MLD
even if the AP removal is already in progress. The standard does not
currently provide for modification of the delete timer countdown at AP
MLD. However, if the AP MLD does carry out such a modification in
scenarios such as those given below, the non-AP MLD would be out of
sync with the AP MLD. Hence, we allow this modification.

Scenarios:
- At our AP MLD, if non-Tx VAP removal is ongoing, and subsequently
removal of its Tx VAP is requested with Delete Timer smaller than that
of non-Tx VAP, then non-Tx VAP's Delete Timer gets overridden with
that of the Tx VAP (this is due to an existing standards limitation
which doesn't allow change of Tx VAP role).
- There could sometimes be an issue with AP MLD due to which it might
incorrectly prolong the countdown by some margin in situations such as
an intervening CSA operation, etc.
- Some future 802.11be draft change may (or may not) allow
modification of the delete timer. (We may not guarantee
interoperability between an AP MLD implementing a future draft and a
non-AP MLD implementing the current draft, but the current
implementation change contributes towards best-effort
interoperability).

Change-Id: I6abc7565a5822bb7206c873716f1e3fc6a04416e
CRs-Fixed: 3466313
2023-05-12 23:09:09 -07:00
Abhishek Singh
587f3af96b qcacmn: Optimize beacon/probe rsp logs
Optimize beacon/probe rsp logs, by printing the params when
their values are non 0. Thus reducing the logs size.

Also add the frame length in the logs.

Change-Id: I6cad77b6cdc4576804cdabd9f53235029e6cebd7
CRs-Fixed: 3490632
2023-05-12 23:08:59 -07:00
Namita Nair
2613f207e0 Revert "qcacmn: WAR for opt_wifi_dp feature to disable IPA(1)"
This reverts Change-Id: I7aad275f4d86a2ffc239f1fe343de31ec2988fad.

Change-Id: I875e8d15430c3f0a0f4bf10d275b203b24023a64
CRs-Fixed: 3483264
2023-05-12 16:39:36 -07:00
aloksing
d8e1a8418c qcacmn: keep non intesected phymode in scan db
scan db has intersected phymode. For BSS information via iwlist we need
non intersected phymode.

Change-Id: I62a4aea33a67ac12b5be5bcdd4a3fc4538056df9
CRs-Fixed: 3454700
2023-05-12 16:39:25 -07:00
Aditya Kodukula
d0badcb989 qcacmn: Add support to extract vdev_extd_stats event
In case of MLO connection, firmware sends each vdev's
status information using extended vdev stats event.
Add support in driver to extract it.

Change-Id: I95f2a96cb7034b5b070cc6f37a97591e01e5893a
CRs-Fixed: 3483730
2023-05-12 16:39:15 -07:00
Zhaoyang Liu
054a0fc1e0 qcacmn: reactive serializate pending command after active list is empty
This is to fix serialization pending command timeout during vdev stop.
For case that two vdev is up state, i.e. vdev 1 is going to stop state.
There is an active command is running, then all commands in serialization
pending or active list for vdev 1 are canceled, so this last active vdev 1
command can't callback to dequeue itself from pdev active queue, and it
also doesn't do operation to move pending command to active queue.
So now if there are still other commands which are for vdev id 2 in pdev
pending queue, no one will schedule this pending command to active list,
until any pending command is timed out.

Add change to move pdev ser pending command to active list if all active
vdev non scan commands are canceled.

Change-Id: Ie47c9aa8153078266307a7d0b6c4585e2af9ed50
CRs-Fixed: 3474552
2023-05-12 16:39:05 -07:00
Sai Rupesh Chevuru
1b317b0bf3 qcacmn: received packet matches with mld mac address drop it
In extap mode if the received packet matches with mld mac address drop it.
for non IP packets conversion might not be possible,
due to that MEC entry will not be updated, resulting loopback.

Change-Id: Ibec080b619e9b0a8068e1c90acbcc144d44d8f54
CRs-Fixed: 3485362
2023-05-12 13:18:47 -07:00
Venkateswara Naralasetty
10766fab5e qcacmn: skip unnecessary reg access for WCN6450
Enable/disable copy complete interrupt in HOST IE register and
clearing the interrupt status in HOST IS register is not required
for WCN6450 as it uses MSI and batch count/intr timer.

Change-Id: I2285651a75d01546498831e91705a989f7f60fd5
CRs-Fixed: 3470364
2023-05-12 13:18:37 -07:00
Karthik Kantamneni
3987bb28f6 qcacmn: Add support to get Rx contexts count for SOFTUMAC target
Add support to get number of Rx contexts for SOFTUMAC
based targets.

Change-Id: I71ee96e3230a198b82b0e633fbe67a8690097f74
CRs-Fixed: 3486660
2023-05-12 13:18:26 -07:00
Shiva Sankar Gajula
0ff3009672 qcacmn: Add support for reset PN value using ft roam peer command
Adding support for reset PN value using
WMI_HOST_PEER_FT_ROAMING_PEER_UPDATE peer command.

Change-Id: Ib486d09c80878d41efa299756e655d66babd825d
CRs-Fixed: 3490034
2023-05-12 05:04:09 -07:00
Rakesh Pillai
5b087aa295 qcacmn: Add API to get the cluster ID for a cpu
Kernel 6.0 and above has deprecated the use of
topology_physical_package_id() and instead of this
API topology_cluster_id() needs to be used to get
the cluster ID of a given CPU.

Add QDF abstraction API for topology_cluster_id().

Change-Id: I4ca555c016730afc6cac2a4bf55d9f48c6f4cae0
CRs-Fixed: 3488031
2023-05-12 05:03:58 -07:00
Rahul Gusain
ce53e06591 qcacmn: extract max number of NAN pairing sessions
Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel and new firmware will start
exchanging PASN frames without realization that old driver is loaded
and thus, frames will be drops in driver.

So, to fix this issue, firmware introduces new parameter in nan
capabilities to indicate host about pairing capability. Host driver
extracts the TLV to get nan capabilities and cache the max num of
pairing session.

Change-Id: I4153c7ec4d425294b0799122bf61e735184f0960
CRs-Fixed: 3492518
2023-05-12 05:03:47 -07:00
Aditya Kodukula
b223cb5534 qcacmn: Fix field-spanning issue in ptt_sock_send_msg_to_app()
Currently in the function ptt_sock_send_msg_to_app(), memcpy()
is used to copy data into multiple fields of the struct tAniHdr.
When FORTIFY_SOURCE feature is enabled, kernel warns of field-spanning.

To resolve this issue, assign a void pointer to the struct and use it
in memcpy().

Change-Id: I30311b063e735a89dfd38e029dacc80d6808a4af
CRs-Fixed: 3488513
2023-05-11 18:02:20 -07:00
Vijay Raj
12fbcdf042 qcacmn: Modify CM_NO_CANDIDATE_FOUND value in connect fail reason enum
In the enum wlan_cm_connect_fail_reason, the value of
member CM_NO_CANDIDATE_FOUND is modified to 1 in order
for value of members of the enum will begin from 1.

Change-Id: I3f4686b32cec92b45e03b30b4293b4571a3f01fe
CRs-Fixed: 3486473
2023-05-11 09:01:14 -07:00
Aman Mehta
c7a178e42f qcacmn: Add mesh and QCN flags in peer assoc
Set flags in WMI peer assoc to inform FW if node is
1. QCN Supported
2. Operating in Multi-AP mode

If node is 3rd party and operating in Multi-AP mode,
FW and uCode will change crypto register for each Rx/Tx from/to such nodes

Change-Id: If4cf9ec39fa11a90733df45fffa473a672643f8e
CRs-Fixed: 3488865
2023-05-11 06:32:16 -07:00
Pradeep Kumar Palraj
1a7ce50c83 qcacmn: Return error when key install fail
Low throughput is seen with interop clients when
set key is issued before wmi_peer_assoc command,
hence avoide key install before wmi_peer_assoc.

We are check here to verify the key install success
or failure.

Change-Id: I553a5ed01165354afc19885b4f62c13632908808
CRs-Fixed: 3274020
2023-05-11 06:31:59 -07:00
Venkateswara Naralasetty
81f874fc13 qcacmn: fix batch timer/count threshold register config
Fix the SRC/DST batch timer/count threshold register configurations.

Change-Id: I356fe72e6a2044a12c9e772ed043f2ee286d36c6
CRs-Fixed: 3483043
2023-05-11 06:31:48 -07:00
KARTHIK KUMAR T
3b082b0bf8 qcacmn: add recommended err/debug function
add recommended err/debug function

Change-Id: I8d564a155485be4b997ecd8ba8325e3e4d72d7b1
CRs-Fixed: 3490031
2023-05-11 06:31:37 -07:00
Yeshwanth Sriram Guntuka
428903aa33 qcacmn: Add DP descriptor types for direct link
Add DP descriptor types for direct link datapath
related memory prealloc pool.

Change-Id: I8c8be42b0530de39293ad8e45f47e16f90ea7767
CRs-Fixed: 3490102
2023-05-10 14:45:50 -07:00
Srinivas Girigowda
4eea6d6ea6 qcacmn: Interrupt masking for TxMon and RxMon
Interrupt masking for TxMon and RxMon.

Change-Id: I2bb8a9b029ef81c043066904f775adff043b7268
CRs-Fixed: 3415822
2023-05-10 11:51:43 -07:00
Srinivas Girigowda
0a089680ce qcacmn: Add Tx Mon configs to DP prealloc
Add Tx Mon configs to DP prealloc.

Change-Id: I34a480cdb59c9347e535e95972b6a342a8722047
CRs-Fixed: 3415819
2023-05-10 11:51:26 -07:00
Srinivas Girigowda
08ea5c2b80 qcacmn: Add support for local packet capture running
Add support for local packet capture running.

Change-Id: Id954c57a32210c180a8e0f9107e2469f96491173
CRs-Fixed: 3415816
2023-05-10 11:51:09 -07:00
Srinivas Girigowda
13554f0cdc qcacmn: Add support for local packet capture stop
Add support for local packet capture stop.

Change-Id: Ib12574f5b418ea009ec35ef85e170bc8c592c86f
CRs-Fixed: 3415812
2023-05-10 11:50:54 -07:00
Srinivas Girigowda
d52311a2b1 qcacmn: Replace IEEE80211_* macros with with QDF_IEEE80211_* macros
IEEE80211_* macros are defined in WIN specific header file which is not
available on MCL side, Hence replace these macros with QDF_IEEE80211_*
macros available in common header file

Change-Id: Ic2caaebacd9edded23aebefab87cd82dbbb06974
CRs-Fixed: 3415721
2023-05-10 11:50:41 -07:00
Srinivas Girigowda
5d8e550bb7 qcacmn: Add support for local packet capture start
Add support for local packet capture start and relevant changes.

Change-Id: I709e41e0be09cf73e93694efc59bfefbf51fe359
CRs-Fixed: 3415788
2023-05-10 11:50:28 -07:00
Srinivas Girigowda
980d883f07 qcacmn: Introduce HAL API to get phy ppdu id size
Introduce HAL API to get phy ppdu id size.

Change-Id: I125eb344787060336919fb361af032fddeb34526
CRs-Fixed: 3454206
2023-05-10 11:50:15 -07:00
Srinivas Girigowda
9c855c06e2 qcacmn: Separate out the implementation for RX 2.0 and TX 2.0
Separate out the common function implementing both RX 2.0 and TX 2.0
functionality in to RX 2.0 and TX 2.0 separate functions.

Change-Id: I29337aca9851dce1888a492a9534992277f595b5
CRs-Fixed: 3427301
2023-05-10 11:50:01 -07:00
Srinivas Girigowda
0e83621a7c qcacmn: Implement mon_ops to support RX 1.0 and TX 2.0
Currently WIN supports RX/TX 2.0 but MCC needs to support RX 1.0 and
TX 2.0. Hence implement the mon_ops callbacks as array of callback
pointers. Index 0 for 1.0 and Index 1 for 2.0.

Change-Id: I777b47be3af86f0b762b3563ef56204809a9a7ee
CRs-Fixed: 3427297
2023-05-10 11:49:48 -07:00
Srinivas Girigowda
ce736a1d8d qcacmn: Rearrange the functions to appropriate files
Rearrange the functions to appropriate files based on TX and RX 2.0.

Change-Id: Ie8e562a7aecdc91257210b55a323dfe47e67878c
CRs-Fixed: 3427296
2023-05-10 11:49:36 -07:00
Srinivas Girigowda
9de0de3f01 qcacmn: Add support for local pkt capture cfg ini
Add support for local pkt capture cfg ini.

Change-Id: I7b7e50010d71482d97de46d87ed2c70c78e74cd2
CRs-Fixed: 3415783
2023-05-10 11:49:23 -07:00
Srinivas Girigowda
0419d28f6e qcacmn: Move TX 2.0 code under WLAN_PKT_CAPTURE_TX_2_0 macro
Move TX 2.0 specific code under WLAN_PKT_CAPTURE_TX_2_0 macro.

Change-Id: I20bb1e49a902ec085fbc3df6828fef94a7c577d6
CRs-Fixed: 3415780
2023-05-10 11:48:59 -07:00
Srinivas Girigowda
f5321447c2 qcacmn: Move RX 2.0 code under WLAN_PKT_CAPTURE_RX_2_0 macro
Move RX 2.0 specific code under WLAN_PKT_CAPTURE_RX_2_0 macro.

Change-Id: Ic07bde8868850b8889941fc9054ad988617b5296
CRs-Fixed: 3415779
2023-05-10 11:48:45 -07:00
Srinivas Girigowda
ec3b9bdbce qcacmn: Move cmn code under QCA_MONITOR_2_0_SUPPORT to TX/RX 2.0 macro
Currently QCA_MONITOR_2_0_SUPPORT macro is used for both TX and RX 2.0.
but on MCC side, only RX 1.0 is supported and as part of this feature
TX 2.0 need to be supported.
Enabling QCA_MONITOR_2_0_SUPPORT will enable both RX 2.0 and TX 2.0, but
to support RX 1.0 and TX 2.0, we need to separate out code under
QCA_MONITOR_2_0_SUPPORT to TX and RX 2.0 macro.

As part of this change, introduce separate macros for TX 2.0 and RX 2.0
and move the common code under both macros.

Change-Id: I7ef7e488800934291538a0bca9acd21e28901214
CRs-Fixed: 3415740
2023-05-10 11:48:32 -07:00
Asutosh Mohapatra
d549261151 qcacmn: Add new cfg item to disable SP AP connection to VLP STA
Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.

Change-Id: Icbe109abecdd73ceedee8ecec45ae82cd47464e0
CRs-Fixed: 3470599
2023-05-10 09:28:24 -07:00
Asutosh Mohapatra
9387aca043 qcacmn: Remove relaxed_6ghz_conn_policy cfg item
relaxed_6ghz_conn_policy cfg item is no longer needed
with new regulatory policy as there is no dependency
on STA, AP country code to find 6 GHz power mode for
connection and also connect request should be rejected
if AP is advertising VLP and STA doesn't support VLP.

Hence remove this cfg item and the related APIs.

Change-Id: I215939bdce2e08eb9d4c5286487941198ab19232
CRs-Fixed: 3470569
2023-05-10 09:28:13 -07:00