Critical update is the explicit signaling for STA to notify
any change in BSS param.
There are two categories of critical update params.
Category 1 elements: CSA, ECSA, Quiet, Quiet channel,
Max Ch Switch Time, that are directly included in
the per-STA profile of partner AP.
Category 2 elements: Except category 1 all operational IEs
HT/VHT/HE/EHT and WMM/EDCA/MUEDCA params.
Defined below vdev flags to track change in Category 1 and
Category 2 CU params per ML VDEV
WLAN_VDEV_OP_CU_CAT1: Change in category 1 param
WLAN_VDEV_OP_CU_CAT2: Change in category 2 param
Host notify to FW by updating current link CU param in
wmi_bcn_tmpl_ml_info TLV of BCN TMPL CMD.
Set the corresponding cu_vdev_map category 1 / category 2
based on change in critical update params of ML VDEV.
Change-Id: I8fe71309ab92a459524bdc5739f8b4a4a545562e
CRs-Fixed: 3199331
Shadow config v2 can support max of 36 shadow
registers only. For KIWI target, there are 40
shadow registers supported.
Hence add support to send shadow config v3
for KIWI.
Change-Id: If57e6597397da3e239f25a6c0cc24f8fd37dcdf1
CRs-Fixed: 3167758
Add fix for tx monitor double free and other minor fixes like updating
channel frequency and channel number if it wasn't fetched properly,
fetch protection address only if it is valid.
Change-Id: I184e08080a47b903176b9df0a192f0b5eb0b2750
CRs-Fixed: 3184727
Need to indicate which Linux Kernel contains support for this feature.
Add logic to set back port flag based on linux kernel version.
Change-Id: Icea20b82c0d6c2d546711214c5b268bee864fc72
CRs-Fixed: 3194602
Under back pressure scenarios, FW may drop management Rx frame
WMI events. So holes in the management packet counter is
expected. Handle the packet counter holes at host.
CRs-Fixed: 3194294
Change-Id: Idf99f98701844fbb24f2114eb43130158676ca81
When CBS scan is performed, 6 GHz channels are observed to be added to the
ACS report of 2.4 GHz & 5 GHz. This is because api reg_is_freq_idx_enabled
is iterating the complete cur chan list and it is found to be returning
true for 6 GHz channels when 2.4 GHz and 5 GHz radios are considered. In
radios that are not 6 GHz, the state of 6 GHz channels are checked in
super channel list. But for REG_CURRENT_PWR_MODE, the channel disabled
flag is not set for 6 GHz channels during super chan init. This is
resulting in the incorrect validation at reg_is_freq_idx_enabled.
In reg_init_super_chan_entry, start the iteration of disabling the chan
flags from REG_CURRENT_PWR_MODE instead of REG_AP_LPI.
Change-Id: Ide6aa667b75a37e19e0ac28bfd01786608cd8985
CRs-Fixed: 3176952
Currently STA can scan and come up on 6Ghz or indoor channel if
hardware is non-dbs and SAP is present
As part of this change, do not allow STA to scan on 6Ghz or
5Ghz indoor channel for non-dbs hardware if SAP is present
Change-Id: I97759f8b2c6a1c460d90fbb797a0e64d2532797c
CRs-Fixed: 3186406
Add WMI parameters to support delta tsf calculation based on the
use_tqm_timer flag.
Change-Id: I6346f0b661bdede56874f4589f4dcc4d8b95c439
CRs-Fixed: 3193329
Increase max value of Rx refill ring size that
can be configured via ini to 8192
Change-Id: I5180996181e43d26221e0106488eda86cf711e1c
CRs-Fixed: 3198408
Kernel change d4455fa ''proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations, so add default_llseek
for athdiag ops to avoid crash.
Change-Id: I9a36193f8eab44dd619e0c51ccc1f145969027eb
CRs-Fixed: 3197004
In ring WRAP around case invalidate the descriptors which
are being reaped
Also use no_dsb invalidate API for invalidate descriptors
Change-Id: Iafa844c81a8364af31520ce5fa3e030073e7c706
CRs-Fixed: 3198373
Set per_tid_basize_max_tid so that BA size is configured per TID.
Accordingly fix dp_check_ba_buffersize to ba_window_size to incoming
buffer_size. Assert for any BA window size above 1024.
Change-Id: I40cb2aac012c50e253c3ef22d44cf5db3abfb7bb
CRs-Fixed: 3182601
1. MLO requires a tbtt_info length of 16 octets. To support
16 MLDs, it requires to extend the current global_rnr cache
accommodating this new requirement in 11be MLO context.
Redefine MAX_RNR_SIZE accordingly.
2. Currently, scan-module is considering only upto 5 reported
APs in a RNR element. This will be ok pre-11be as the RNR info
is not used for connection. RNR info is required for link to
vdev matching for MLO based connection starting 11be. So, the
limit specified by MAX_RNR_BSS needs to be extended to be able
to parse upto 16 tbtt_infos from the RNR elements present in
beacon or probe-response. Some APs can advertise upto 16 co-
MLDs when 6Ghz link is involved in those MLDs.
CRs-Fixed: 3191537
Change-Id: Iff532f7ea4f0ebf21947e24edbfa1f28d2d92af3
The regulatory API reg_freq_to_chan_for_chlist() uses num_chans as the
bound to access the array chan_list. While an invalid index INVALID_CHANNEL
is prevented from accessing chan_list, values that are greater than
NUM_CHANNELS are not prevented from accessing the array.
Prevent access to the array when the index is greater than NUM_CHANNELS.
Since INVALID_CHANNEL is also greater than NUM_CHANNELS, the existing
condition that prevents access to the array when num_chans is
INVALID_CHANNEL can be removed.
Change-Id: I8b9793b84fc5b3a9406389fd3482673dd4667cfc
CRs-Fixed: 3196165
Use microsecond timestamping for the tx descriptors
for capturing the latencies more accurately. It will help
to determine the appropriate bucket.
Change-Id: I216e083a7c89b01b6f2f384c1c0a85ca323d3a3e
CRs-Fixed: 3165153
Bypass management Rx reorder if the number of MLO vdevs the
given pdev is zero.
CRs-Fixed: 3194267
Change-Id: Ia286999fdf99bb2b77008c31dfb3a52731cd5167
With MLO enabled, Rx monitor receives the sw_peer_id in the following
format in MPDU_START_TLV:
+---------------------------------------------------------------------+
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+---------------------------------------------------------------------+
| CHIP ID | ML | PEER ID |
+---------------------------------------------------------------------+
For MLO station, sw_peer_id received in MPDU_START_TLV corresponds
to MLD peer. But for Rx monitor framework, link peer makes relevance.
Therefore, fetch and update the sw_peer_id with link peer_id in the
received ppdu in Rx monitor.
Change-Id: I8ffc32856fd364edbcec2d98c3f9e1f0643d40d1
CRs-Fixed: 3190668
Extend the peer queue flush command with following attributes
1. Enable to flush per TID peer queue
2. Enable to configure when to flush the peer/TID queue
Change-Id: I1c8a9ca82cdfdd67eaf69b73a8a7076ca9c02dab
CRs-Fixed: 3130761
Set num_max_active_vdevs to WMI init command and
extract it from WMI ready event.
Change-Id: I6d6377c03214fcab74c675839f136301ebf27834
CRs-Fixed: 3183010
As part of MLO stats feature, add support to send ll_stats
and get_station stats request to firmware for all the MLO vdevs.
Change-Id: Ic50a6294f868f0604d4cfc0d4b657b6085da2fb4
CRs-Fixed: 3181020
Modify CE4 flag in host configuration to support enablement of
copy completion interrupt for Lithium and Beryllium based
targets.
Change-Id: I71ccbaec9707dad59bcb2ee98919285a22eef351
CRs-Fixed: 3195349
Add the variable sta_sap_scc_on_indoor_channel in
psoc and pdev reg objmgr, to access the INI value of
sta_sap_scc_on_indoor_chan
Change-Id: Ie0c41d75d0f617274743f5196e65dab93414b7eb
CRs-Fixed: 3191788
In VoIP cases, no or minimal packet drop is expected during
roaming. Currently, data packets are dropped in host if they
are received after roam sync indication from firmware and before
peer map indication is received due to invalid peer.
This change allows rx UDP data packets during roaming before
peer map indication is received from FW if peer's auth_status
received in roam_sync_indication from FW is authorised.
Change-Id: Ic518b7cd0aef48a2b0f8c923a2e20838b07f3d1f
CRs-Fixed: 3168603
add tags straight from ppdu_info to headrom for mpdu
tags are positioned per msdu_index within mpdu headroom.
Change-Id: I4863a7929ffd2e0a5d7f91f31ab6059f2b882de4
CRs-Fixed: 3183692
Replace qdf timers with HR timer for pre CAC timeout and process
the preCAC completion work in workqueuecontext.
Since preCAC expiry is processed in H/W interrupt context
(while using HR timers), no other timer cancellation is allowed
('qdf_hrtimer_cancel' function will wait for the handler finish)
But if we process the preCAC timer completion work in H/W context,
other timer cancellation will take time. To fix this, process the
preCAC completion work in workqueue context to allow other timer
cancellation.
CRs-Fixed: 3185213
Change-Id: Iaa24055e0d485f613e16d6110d22002fecf10821
Add mapping of wmi_vdev_param_set_traffic_config
to WMI_VDEV_PARAM_VDEV_TRAFFIC_CONFIG.
Change-Id: I2147cad3fb5726551de64edcfc41bee2707150a6
CRs-Fixed: 3191504
MLO peer attach fails if MLO peer with same MLD address gets
created. While freeing MLO peer, releasing of link peer ref
is missed
Fixed some of the corner cases handling with ml peer id, AID
Change-Id: Ia3ff13a3840083bfe389b39086a6c5aa1f709fca
CRs-Fixed: 3185069
Currently 6 GHz channel flags are not set for channels
present in the list from PNO scan request but are set for
all other 6 GHz channels which are added when either of the
two below conditions are satisfied
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in PNO scan request.
2. At least one 6 GHz channel is present in the PNO scan req.
Add flags for channels in the PNO scan request based on the
scan_mode_6g ini configured similar to active scan request.
Add changes to remove the RNR flag for the channel if the
corresponding short SSID entry is present in the RNR db
Cache since if colocated SSID is different userspace doesn't
include corresponding 2.4/5 GHz channel information in PNO
request.
Change-Id: I22c4f7ecf65d4ab09dfbbe126aefe02f9145de42
CRs-Fixed: 3119113
Disable obss scan for all vdevs under each pdev
when try to suspend, not just only disable the first one.
Change-Id: I52e46f43727acf004165f39a262b018dc174cc7f
CRs-Fixed: 3190706
In QCN9224, when 11v DMS feature is enabled use
FW based DMS support instead of SW based WAR.
Change-Id: Icc5b9740f71bd00862e06950e4fe49c663d513b4
CRs-Fixed: 3182547
Currently, in case where AP advertizes BA window size
which is different than our max supported BA window size,
the HW gets configured for BA window size advertized by
the AP, whereas the ADDBA response indicates the window
size of the STA, which is less than the AP.
This mismatch leads to the BA bitmap to be incorrect.
Fix this by exposing an API from datapath for the update
of the final BA window size which is populated in the
ADDBA response.
Change-Id: I81a039f47a775990b426e9aca1daaaa9bdb6e88f
CRs-Fixed: 3187941
Count the MLO vdevs in a pdev. WLAN_VDEV_FEXT2_MLO feature
flag in vdev object is set for all MLO vdevs. Simple solution is
to increment/decrement the count on every set/clear of
WLAN_VDEV_FEXT2_MLO feature flag. Since this feature flag will be
set/clear at multiple places for a given vdev, this approach
will lead to wrong MLO vdev count. To fix this we need to
increment/decrement the count on first set/first clear of
WLAN_VDEV_FEXT2_MLO flag. Add a lock also to prevent the race
conditions.
CRs-Fixed: 3106235
Change-Id: Ice7edde04553088fbb7c9b769508d441ccd6e4bf
This is a WAR to match the TX_DESC_POOL size
to maximum number of VDEVs allowed.
Change-Id: I646a67ef2b611bea1ca5a6e2bf781a9454d409ed
CRs-Fixed: 3168359
Add init sequence handling to support AFC device deployment type
Set AFC device deployment type to regulatory private obj
Change-Id: Ib041d2010552412aaaa41395915d948aa2ea2bba
CRs-Fixed: 3190288