Reduce the log level of tx flow control threshold pool size
from error to info. This is done to reduce the delay due to
console logging in connection/roaming path.
Change-Id: I5332bd179edc92006976a6421121cfce38b89b70
CRs-Fixed: 3119430
The API reg_get_superchan_entry() is defined under macro CONFIG_BAND_6GHZ,
but used outside it in the API reg_is_freq_idx_enabled_on_given_pwr_mode().
Place reg_is_freq_idx_enabled_on_given_pwr_mode() under the macro
CONFIG_BAND_6GHZ since it is applicable only for 6G and call the API
reg_is_freq_idx_enabled_on_cur_chan_list() for non-6G.
Change-Id: Ieb3efd946f19515dab3fc0c8086e1c508c9f75ad
Host driver creates two vdev as part of initial connection.
If the connected AP supports MLO, both(sta and link) of the vdevs
would be moved to UP state. Otherwise, link vdev would be in INIT
state and not moved to UP state.
Firmware sends roam sync indication to host when it roams to a
new AP. The event carries new AP info and the new AP could be
MLO AP. If the current AP is non-MLO and new(roamed) AP is MLO AP,
move the link vdev state to UP as it's in INIT state.
Change-Id: Ib5dd216074d68b0001755024153263ba9654edbe
CRs-Fixed: 3106059
Race condition is observed when runtime suspend is aborted
due to pending tx completions, in this context all tx desc
are checked for corruption or leakage. In parallel tx completion
is received and descriptor timestamp is set to null. As a
result, while checking for leakage in runtime suspend context,
time difference for the tx completion is current jiffies which
is huge, resulting in triggering recovery.
To fix this, tx_desc timestamp is checked before calculating
time latency. Also, printing tx descriptor id for which
completion is not received.
Change-Id: I38b487a47170af374f43c44a96e2a0753f5d57ef
CRs-Fixed: 3117549
EAPOL packets on MLO are destined to MLD mac address of the VDEV. So
we have to accept these packets as well, in case of MLO
Change-Id: If424d145341073806ba313f415e88a738360214d
CRs-Fixed: 3121164
There is a difference in the macro used in the
MLO multicast macro used in control path and DP
Changing the macro to be the same as DP code.
Also fixed minor issue in the MLO mcast WMI
identified while testing with the macro enabled.
Change-Id: I0c24a69628336f74d627863dd4bd4c4bef685b6c
CRs-Fixed: 3102733
simple Alloc is being used in RX path which avoids
certain debug logic. during free of nbuf we should
avoid this debug logic else it will report it as
double free, this will be triggered only when debug
is enabled
Change-Id: Iadb40071fb733cc4de3291784df5075d5a099a8e
In WIN BE chipsets, replace the REO tid
queue programming in FW via WMI with writing to a
Host managed table shared by HW and SW. REO HW will
pick the tid queue address from the table indexed by
peer id and tid number.
Change-Id: I8107ca5116425538329b11ae3519f02b32573bac
When validating MMIE, if PN error is found, track it using relevant
statistics. Defined WMI_HOST_RXERR_PN to flag such PN errors.
Change-Id: Icb1fe9a653f67611539b5cb463adfceadedae38e
Different targets can have different WMI endpoint count. Add an API to
get this count from the target service map. This API can be used to get
max WMI ep count for a target to perform endpoint connect request only
till possible count.
Change-Id: Id90bcadfb23fbff12d10bf8b6ca825142d3f1bdc
CRs-Fixed: 3121598
Add the new sets of APIs that checks if given freq is enabled on given
power mode's channel list.
Also, remove reg_is_chan_disabled() and replace the callers with
reg_is_chan_disabled_and_not_nol().
Change-Id: I65ee6b8dde629b0e31b050b478300a8ba5ae5b4a
Currently wlan_cfg80211_mc_cp_stats.h file is present at
qca-wifi-host-cmn/cmn/os_if/linux/cp_stats/inc.
With this change, move file to qcacld-3.0/os_if/cp_stats/inc
as this file contain MCC specific code.
Change-Id: I6017e1f2b136da3a1de2965a37c56c9477941d79
CRs-Fixed: 3108258
Enable the 4th Tx. completion ring to save CPU load
Initialization and interrupt handling for 4th completion ring
is done here.
Change-Id: I2db27218a3c3e14d719d012f03454a6a7aa647fe
Add an API to register a callback function that will be called when
the AFC power event is received from the AFC server. The second parameter
of the callback function is 'reg_fw_afc_power_event' structure which
holds the entire power event so that callback function can process the
part or whole of the power event.
Change-Id: I2d6247e54f92c02e9b4ec98bec678e662f1009f4
CRs-Fixed: 3114593
Initialize the below wmi service id to enable undecoded frame
capture filter support. This is added to support monitor status
ring configurations for filtering in PHY error packets.
WMI_SERVICE_FP_PHY_ERR_FILTER_SUPPORT
Change-Id: I2e35609e89ac1ba000118bc2699a8ce61612a267
Add the following definitions related to subelements and some
components of Multi-Link elements. These are required for utility
functions for subelement fragmentation/de-fragmentation, as well as
use of these and other utility functions for Multi-Link element
specific fragmentation/de-fragmentation/ processing of de-fragmented
payloads.
- Definitions for subelement header and max length of subelement.
- The ID definition for fragment subelement that can be present in the
Link Info field of Basic Variant Multi-Link element.
- The definition for the size of the Multi-Link element Control field.
- The definition for the size of STA Control field of Per-STA Profile
subelement in Basic variant Multi-Link element Link Info field.
Change-Id: I68267a69f28b1b7619e1d1d8206245e975820648
CRs-Fixed: 3111015
As part of new change to support large management frame
the buffer size of CE2 has been increased to 3520 Bytes.
Since CE2 & CE3 shares common EP in Fw because of which any changes
in buffer size in CE2 need to have similar changes on CE3 as well.
So to accommodate change increase CE3 buffer size.
Change-Id: I8e558f11b1c44934cf6d64d1f3027f016d34f526
CRs-Fixed: 3118928
Modify 6GHz edge channels ch2 (5935MHz) and ch233 (7115MHz)
for SAP and other beaconing entities.
Add new wrapper API that calls original API
reg_modify_chan_list_for_6g_edge_channels by passing secondary
channel list. This API enables/disables these channels in sec
current chan list based on service bits
WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP and
WMI_SERVICE_DISABLE_UPPER_6G_EDGE_CH_SUPP.
Change-Id: I545bd752c98244a6327c1bdb4ee80a1625c4944f
CRs-Fixed: 3117774
Firmware sends the following reg rule to build 5G 240MHZ channels
240MHZ reg rule:
start: 5490, end: 5730, max_bw: 240.
However, 240MHZ is not one of the standard IEEE channel width.
Hence the channel finding APIs will fail to find a channel of 240MHZ BW.
240MHZ is considered as a punctured 320MHZ channel (320 - 80).
Hence convert the max bw of 240MHZ reg rule to 320MHZ within the host
so that channel can be built.
Also, change the 5G 240MHZ bonded pair's end freq to 5720. Since there is a
5MHZ bandwidth gap between channel 144 and 149, the bonded pair is
restricted to 5720MHZ on 5G.
Change-Id: Iee8dad0317f7ecb95843faa3d0779b854b8f48fa
CRs-Fixed: 3106866
User can specify a limit and frames are dropped when the memory
used by packets in the queues goes beyond the limit. This is a
SoC level param.
Change-Id: Id2bd9caaa11d9ea9f9e04c635ff629190bb62916
Add target_if layer APIs to send wmi commands to add, delete,
and update AST. The dp_ol_if_ops functions call into target_if
layer for DP-CP interaction.
CRs-Fixed: 2997266
Change-Id: Ie392576e3e46d47f658b741f48732d069ee2847d
This change adds framework for deferring auth request
while link peers are in the process of deletion
Change-Id: Ic96daf7d994c65b10e15f72e4a676b8156573cf2
CRs-Fixed: 3113557
This change is to update restriction mask to uint32_t from uint8_t
as per QCA_WLAN_VENDOR_ATTR_AVOID_FREQUENCY_IFACES_BITMASK.
Change-Id: If5a6748425502b1f27654a2e6bfa0e5c2b8556de
CRs-Fixed: 3118988
Memory node pointer to unaligned vaddr, and it free the vaddr firstly
and then remove the memory node, which cause invalid memory access.
This change remove memory node firstly, and then free the unaligned
vaddr.
Change-Id: I3b81c1eb4df7c786a3deec456294107ee3b8f226
CRs-Fixed: 3118545
By the time driver reaches prevent l1 call there is chance
of EP vote access getting disabled in-flight, to handle
this skip vote request if EP vote access disabled in-flight.
Change-Id: I91e1cdfc08492188ad8614339d5918c294bf10e4
CRs-Fixed: 3113786
Due to usage of lithium specific structure, the filter settings
were not getting reflected in the htt msg that is being sent to
FW. Usage of BE specific monitor pdev structure is helping out
in configuring the monitor filter settings for various modes.
Change-Id: Ie4a59ec16717d752c6c49624142966722bfacc08
CRs-Fixed: 3118596
Add function pointers to free buffer address stored in status buffer
and support tx monitor in legacy and Waikiki flow.
Change-Id: I28612d388009292ff751fe514183fb801909f485
Introduce qdf wrapper API
1. frag is added to nbuf fragment array. If frag can't be fit in that nbuf
a new nbuf is allocated and frag is added to the new nbuf. Once added
nbuf is added as a fraglist to head nbuf. On a subsequent call, frag is
added to the last nbuf in a fraglist.
2. get reference for fragment.
Change-Id: Ia4ccbc48e54b08d6b9d4f0cf5089fbf43ee8b496
For reports modes 0 and 1, the number of FFT bins in a detector will be 0.
We calculate end_bin_idx as start_bin_idx + num_bins - 1.
When start_bin_idx is 0 for these report modes, end_bin_idx will be -1.
Since bin indices are unsigned integers, end_bin_idx becomes a very big
value and we will try to copy unintended large number of bytes.
Fix this by forcing end_bin_idx to start_bin_idx when num_bins is 0.
Change-Id: I11e5dd673fc95a1ce3823ef977fd70c34a4ec67e
CRs-Fixed: 3096955
Puncture bitmap is different from Puncture pattern.
A bit in the puncture bitmap is set to 1 to indicate the corresponding
20 MHz subchannel is punctured and set to 0 to indicate the
corresponding 20 MHz subchannel is not punctured. Puncture pattern
is the reverse of puncture bitmap.
From the use of reg_punc_pattern, it should be puncture bitmap.
Rename reg_punc_pattern to reg_punc_bitmap.
Change-Id: I1c7fc1b689ba724862761dc10f72a543679bb85e
CRs-Fixed: 3108165
First host checks below two things in PNO scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in pno scan request.
2. At least one 6G channel is present in the pno scan req.
If any of above conditions satisfy, Host fills all remaining
(other than channel(s) present in pno scan req) valid 6 GHz
channel(s) to pno scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).
Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for pno scan
to firmware.
By this driver allows Firmware to scan 6G channels based on
RNR IEs only (for colocated APs reported by 2.4/5 GHz APs).
Change-Id: Ib6118c4525e9fbe233eb6a7e07a4a3345d486e8a
CRs-Fixed: 3103923
Currently window register accessing with PLD lock is not enabled for
HIF path of KIWI, enable it so there is no race condition with HAL
register accessing path.
Change-Id: Iceeba36ca6febdeca0e7f7bc0dcb7d4adc17bc51
CRs-Fixed: 3110425