In 5 GHz band, a 320 MHz band channel cannot be formed without
puncturing. Hence the contiguous available BW is 240MHZ which has
twelve 20MHZ channels from 5500 - 5720. Send CAC start/CAC
complete/radar detect information only for the channels which are
not punctured.
CRs-Fixed: 3200931
Change-Id: I5c2bc3314df6d1d61500e7fb24eef4a096ba4bb5
The original BA window size given from CP might > max DP supported,
add sanity check based on HAL target allowed.
Change-Id: Ibadaddeffe65165a89d580d8a5cbf5f7c724c809
CRs-Fixed: 3193852
Add API reg_is_afc_done and it's wrapper wlan_reg_is_afc_done to check
if AFC response enables a given frequency.
Change-Id: I953139762fd5c06ce19edc1d807edf41126f6f2b
CRs-Fixed: 3195189
To support AFC outdoor device deployment, initially enable the entire SP
channel list with channel flag as REGULATORY_CHAN_AFC_NOT_DONE and channel
state as CHANNEL_STATE_ENABLE when the device deployment is outdoor and
AFC power event is not received. Once the power event is receive,
intersect the AFC channel list with existent SP channel list and for
channels which are enabled by AFC, unset the flag
REGULATORY_CHAN_AFC_NOT_DONE and keep channel state as
CHANNEL_STATE_ENABLE. When the SWITCH_TO_LPI event is received, keep the
SP channels as enabled with REGULATORY_CHAN_AFC_NOT_DONE flag set.
Change-Id: Ibbeb336a84db4a27aa22a4fc083f961a8a47aa9d
CRs-Fixed: 3195189
To add AFC outdoor device deployment support,set the AP power type as
REG_STANDARD_POWER_AP during the creation of regulatory pdev private
object. Update the flag REGULATORY_CHAN_AFC_NOT_DONE in super channel
list based on the AFC_POWER_EVENT. On receiving the SWITCH_TO_LPI event,
if no LPI channels are present return an error. If LPI channels are
present move to LPI mode and update the channel list both in presence and
absence of ACS.
Change-Id: Ib4653a83d4c7ea2ec5212f9ba4d517c0e7e5027a
CRs-Fixed: 3195189
In beryllium DP, htt_tx_wbm_completion_v3 is used in which
20B are used by host and only 16B is assigned to the htt tx
status.
To fix this, increase the macro HAL_TX_COMP_HTT_STATUS_LEN
to 20 bytes.
Change-Id: I973ba1f8118488089cd6d6baac7fd589886c2164
CRs-Fixed: 3199031
Initially, 2K buffers (default) are allocated and Rx monitor ring fill
level is set to 2K at monitor soc attach and these buffers are used for
enhanced stats.
On monitor vap creation, additional 6K buffers are allocated and monitor
ring fill level is set to 8K.
On execution of wifi command after this, fill level is still set to 8K
and this results in monitor vap to operate with only 2K buffers.
Therefore add functionality to set the fill level to 2K (default) at
monitor soc init instead of monitor soc attach and also add sanity check
for num_req_buffers in the API dp_mon_buffers_replenish.
Change-Id: I0f4b269ab4ed05ed1f0223e3dc83d8675dab4860
CRs-Fixed: 3201411
Add structure to define Multi-Link Traffic Indication element.
Add a variable in vdev AID manager to keep track of the number of T2LM
clients connected.
Change-Id: Iaba49ac93180f702e23cf9844e19f46a15afb129
CRs-Fixed: 3201075
-Some of the lite monitor enums can be used outside of
lite monitor feature, make such enums generic.
-Some enums are redundant, remove such enums and make use
of existing ones
Change-Id: I5125384ac5c4c55a57998fb5be5ee1ecb3e61147
CRs-Fixed: 3190754
Fetch the SAWF service_id and queue_id from per packet
metadata and populate on transmit descriptor.
Change-Id: Iba652c271b5b701e8af875805e59f0f224ace691
CRs-Fixed: 3194921
In mlo_ap_vdev_attach() we call cdp_update_mlo_ptnr_list(), and logic
exists which was supposed to test the return value for success.
However due to a misplaced parenthesis, the test for success is actually
applied to the last parameter, and that test result is sent as a
true/false value to cdp_update_mlo_ptnr_list().
To fix this issue relocate the parenthesis so that the last parameter
is correctly passed and the test for success is applied to the
return value.
Change-Id: I055150dae726a69f0e70f02f7fbe26550f48e558
CRs-Fixed: 3181220
Avoid using mutex lock after holding spin lock, use spin lock
for the required calls only and not for set and clear MLO
VDEV which uses mutex if WLAN_MLO_USE_SPINLOCK is not
defined.
Change-Id: I9b989aa6a965107bff642e9d1e1009e57e7dddc2
CRs-Fixed: 3204328
For reo_cmd ring, in current implementation, we call hal_srng_access_end
in case a descriptor is not available before baling out. This may cause
a write to the shadow register for the reo_cmd ring. In case we are in
the middle of WOW, this can be problematic.
Modify existing implementation to use hal_srng_access_end_reap, which
will not schedule a write to the register and simply return.
Change-Id: Ifb83d904e39b3d749522cd246a5ab3fe51a3104e
CRs-Fixed: 3194289
Set/Get the management Rx REO feature capability to psoc
using the correct APIs.
CRs-Fixed: 3201829
Change-Id: Id925be4a6930a1a3ec05bfdd67ef6518a5cb2cea
Kernel change d4455fa 'proc: mandate ->proc_lseek in "struct proc_ops"'
by default use proc_lseek for file operations without any check, so add
default_llseek for all proc ops.
Change-Id: Ia72839cf09ec721fb98f50793b19ec082478d8d7
CRs-Fixed: 3201003
Get link id from pdev only if management Rx REO feature is enabled in
FW and INI.
CRs-Fixed: 3199557
Change-Id: I8732cbb9c24059268f67d6c00447acbe99ef5ccc
Regulatory channel list queried & copied locally to retrieve
the values (maxbw/minbw/channel state).
This is in turn causes CPU overhead of approx. 10-15%. To reduce
this overhead, the values are retrieved directly from the
regulatory with the new dispatcher added
Change-Id: I70289ec7604ff8a32d9d173dfa4ac52275e17b61
CRs-Fixed: 3194924
This change adds MBSSID support for MLO AID manager.
It handles AID allocation and AID free for MLO and Non-MLO peers
associated to MLO/Non-MLO VDEVs
Change-Id: I616cca6afeb9178a3b7f183c6bd986fe9b30a4fa
CRs-Fixed: 3200173
Send connected links bitmap to FW via a command:
WMI_REQUEST_STATS_EXT_CMDID in case of MLO connection.
Change-Id: I8ea88b0474769a56f5efa0cd006ba515e858accf
CRs-Fixed: 3149043
In function reg_freq_width_to_chan_op_class_auto, global_tbl_lookup is set
to false for 2.4 GHz and 5 GHz without considering the global opclass set
by user command. This results in wrong opclass information in eCSA.
Add an api to check if global opclass is set and update global_tbl_lookup
accordingly in reg_freq_width_to_chan_op_class_auto.
Change-Id: I069131d6068fb546f2b59f1e752a3c8c50f15759
CRs-Fixed: 3168817
Add support to display tx/rx htt stats
related to SU Puncturing. The new stats
are su_punctured_modes, bw_ext
and mcs_ext_2.
Change-Id: I0260f7ea5fffa9206fff1052ef18b414c5de384b
CRs-Fixed: 3198040
During frequent channel changes in corner case we observe
that mpdu ppdu id does not match dest ring curring ppdu id.
Such mpdus are dropped. Add stats to count such dropped mpdus.
Change-Id: If52e81f4e718ce0d7f83a41f4f0121394525b9df
CRs-Fixed: 3144784
Check mld ctx info first and then print the debug info
for teardown request with num socs and num links.
Change-Id: Ib37ce76955e2b83aaa5ecec08010f05e293c2a19
CRs-Fixed: 3200920
Fix compilation issue for adding AFC regulatory target
interface to support AFC device deployment
Change-Id: Ie9447873442e94614f44eb7468b76143b0f2dda3
CRs-Fixed: 3195809
Fix the tx desc and mcuc buffer leak issue in case of
hw enqueue failure with ME5 enabled.
Change-Id: Ibd8f924e66a9d828940c6f599584763f1dfc59a6
CRs-Fixed: 3194095
Add fix to release ml dev lock in case of failure.
Also add null check for assoc vdev
Change-Id: I5f81217b32d676b556030b504476bf4e3c92b718
CRs-Fixed: 3199710
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