Adding feature flag for Health Monitor so that it can be disabled
for 16M and 256M profiles
CRs-Fixed: 3277434
Change-Id: Ibbbe582acd15ebff7e189fcbaa36429ea519db37
Per spec 11be_D2.1.1, the TSF Offset subfield of the STA Info field
indicates the offset (Toffset)between the TSF timer of the reported
AP (TA) and the TSF timer of the reporting AP (TB) and is encoded
as a 2s complement signed integer with units of 2 µs. Toffset is
calculated as Toffset= Floor((TA – TB)/2).
Change-Id: I7810568f6308e369dcf2ff26bdfd1246783466d4
CRs-Fixed: 3276836
Change to avoid processing of extended features
based of Fast RX flag
Also add changes to enable or disable this flag
based on feature settings
Change-Id: I8064780a271f8bdcf396bb9e2e2c14998f195535
CRs-Fixed: 3268842
Send only the scan entry for Tx profile to upper layer. As in cfg80211,
it goes through every nontx profile to from a new frame.
Change-Id: I4f01a1a5ed61bfd2a2b8a541c8d3be14ffa2e3c9
CRs-Fixed: 3251364
The macro QCA_DFS_BW_PUNCTURE depends on the macro
WLAN_FEATURE_11BE. This creates compilation issue and fix
is introduced in this patch.
CRs-Fixed: 3283332
Change-Id: Ie00f7384142b39c309845408c6268ae6346f4734
The macro QCA_DFS_BW_PUNCTURE depends on the macro
WLAN_FEATURE_11BE. This creates compilation issue and fix
is introduced in this patch.
CRs-Fixed: 3282072
Change-Id: I680670e58bd57d104bc69f2b4e7a56010b7584a5
When radar is found in any DFS channel, a radar bitmap is
generated based on the radar infected channels. For example,
if operating channel is 100 HT160 and radar found in 112,
then the generated bitmap is B0000_0010. This proposed bitmap
is compared with the valid puncturing patterns. In this case,
the proposed bitmap is valid puncturing pattern.
In case of a valid puncturing pattern, send the final
bitmap to DFS module and the module updates the DFS channel
puncturing pattern. If an invalid puncturing pattern is
found, return value zero and do not update DFS channel
puncturing pattern.
CRs-Fixed: 3273800
Change-Id: Iee23ac267bfea1b4815a72c2728555f96bed6466
Currently the history recording for any debug purpose
is done using a contiguous memory chunk. For certain
history like tx_hw_ring, tx desc or tx completion desc
history, the amount of contiguous memory required is
very huge (order 7 or 8 allocation), which have a
higher probability of failing.
In order to mitigate the above scenario, introduce the
support for recording debug history into fragmented
chunks of memory, thereby reducing the requirement of
contiguous memory.
Change-Id: Iac4fb38b6d4b095766520899853e68b4c2b83afc
CRs-Fixed: 3282269
When teardown completeion event is received from FW, teardown
completion handler resets pdev link to NULL, when the expectation
is only to put pdev state in teardown, such that when soc goes
down the list gets cleared.
Change-Id: Ief490eabe0546207f0ef649cb6d5cde1faf582d8
CRs-Fixed: 3280671
There are two different name with different range of value for
aliasing INI's. So, it should pick the valid range of value wrt INI
name.
Change-Id: I1b3f8b276a65f2e1659dd4e3ede8512513e3da71
CRs-Fixed: 3268728
a. Optimize mon_rx_status and mon_rx_user_status objects memory
b. Add QDF API to remove last element in nbuf queue
Change-Id: I53328aae4d2861e0d2972556f61c8556be5e601c
CRs-Fixed: 3278895
When radar is found on any DFS channel, generate a
bitmap which represents the channels that are
radar infected. For example, if the current channel
is 100 HT160 and radar is found in chan 104, then the
bitmap generated have the value B0000_0010. The bit 1
represents radar infected channels.
The radar bitmap calculation also checks for any existing
punctured patterns. If already punctured patterns are
available then it includes the existing pattern and
also current pattern in the bitmap calculation.
CRs-Fixed: 3273737
Change-Id: Icfc5d4e22980d3d2375152c12d244c7a8f5e318d
cdp api is getting call from dp layer.
Fix is to call correct dp api from datapath file.
CRs-Fixed: 3279426
Change-Id: I142910276d76c600e5d79289270bbfe156bfab1c
When set_fcc_channel is set, host driver sets tx_power info about
channels 12, 13 to hardcoded values. Now firmware sends information
about channels 12, 13 to host driver and currently there is no
support to extract and store this information and use it to
modify tx_power of channels 12, 13 in host driver.
Add support to store the tx_power of channels 12, 13 received
from firmware and use this to modify tx_power of fcc channels.
Change-Id: Ie7b20a75bb09956a70b7b133ce7ce9beb8db138b
CRs-Fixed: 3270676
Add the global dispatcher function pointers to enable/disable
the DFS puncturing feature.
Add a new dfs member "dfs_use_puncture" to remember if the
feature is enabled or disabled.
CRs-Fixed: 3272765
Change-Id: I1f45a9f44ede7f8606f770365220c5f7508847cf
Add QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY to get various SAR
capabilities supported by the WLAN firmware to userspace. These
capabilities are usually reported by the firmware during the initial
bootup handshake with the driver. Based on these capabilities, user
space can choose proper SAR indexes.
Change-Id: I31be4bd58dc02fe82ae57f703f7db54f5a3c027e
CRs-Fixed: 3274703
The spectral pdev open handler returns success even if the registration
to Direct Buffer Rx(DBR) module is not successful. Fix this by
updating it with the status of registration of the spectral event handler
with DBR while executing operations on pdev open.
CRs-Fixed: 3272684
Change-Id: If336180f4e7e811f5a353a86eea49e0e56f50338
Add the missing module id and names to g_qdf_category_name array,
and missing module trace default level to module_trace_default_level.
By using the command ‘Cfg80211tool ath0 g_qdf_cv_lvl ‘ It displays all
the Module id names
CRs-Fixed: 3273947
Change-Id: Ia4b2b49aae6fa5eaba667f26498708e500a231c7
Issue: The offset parameter in bangradar unit test parameter is only one
byte long. Whereas radar offsets has a range of [-160, 80] MHz if host
supports 320 MHz bandwidth. but with bangradar unit test command only till
-128 MHz is possible
To fix this, Add frequnecy offset sign bit(13th bit) if hosts supports
320 MHz bandwidth. Firmware will identify max range of [-160,80] with
sign bit.
Change-Id: I33ea8e9185f8d25b81cad7a18dcca6d2d6f42669
CRs-Fixed: 3270525
Set dfs object parameter if host and fw supports 320 MHz bandwidth.
i.e. dfs->dfs_is_bangradar_320_enabled. Set to true if the host and
firmware support the bandwidth is 320 MHz. If there is no support, set
false.
Change-Id: I210823c448450f89dc65937201b4839168369d18
CRs-Fixed: 3270525
FW-Host Handshake for BANG_RADAR_320_SUPPORT
1. FW advertises its capability of processing BANG_RADAR_320_SUPPORT
id via wmi service bit 'wmi_service_bang_radar_320_support'.
2. If the host is capable of processing the "BANG_RADAR_320_SUPPORT"
event id, host sends the capability in WMI_INIT_CMDID setting a bit in
host_service_flags
Change-Id: Ia26a7b8e8ee78aceb801d0053770379bd6d5a9cb
CRs-Fixed: 3270525
Update peer_chan_width_switch_info as per latest
fw common header file to include puncture parameter.
Change-Id: I1a68991ed8b9c653d31c4bc0c3ad3660d1104de3
CRs-Fixed: 3278709
Currently, there is no ap reg rules from the regdomain for
some countries. But function reg_append_mas_chan_list_for_6g_lpi
and reg_append_mas_chan_list_for_6g_vlp get the master chan per
the ap reg rules number. It casues it can't get the master chan
list for 6 GHz even it has client reg rules.
To resolve this issue, using num_of_6g_client_reg_rules instead of
num_of_6g_ap_reg_rules.
Change-Id: If2dc6510edc61531cb1a3b8002e43a1bd69311e0
CRs-Fixed: 3278250
DP_HW_LINK_DESC_TYPE use non-cacheable memory and page id and
mask were calculated based on 4096 size. This change add 64K
size support for page id mask of hardware link descriptor.
Change-Id: I6bf1bb95573d964872c6dde7ea41e5823fe940d2
CRs-Fixed: 3267724
set register WCSS_UMAC_REO_R0_MISC_CTL 6th bit to 1
to enable reo wref from fw side.
Change-Id: Ib8d4a2f6e7f598d45ba2b2c628ed6f3929fc3337
CRs-Fixed: 3273558
add debug prints and a custom timer for how long to wait to receive next
bk pressure event message.
Change-Id: I5a736b0f134cd179990de536da02967db3e39774
CRs-Fixed: 3273427
CV_QUERY stats are sent by FW as part of HTT_TX_CMN_SOUNDING_MODE
and not as part of individual AC, AX, and BE modes. This change
will hence correctly display the stats.
Change-Id: Ie499499137be4f542973a44829caa71f7b559f2f
CRs-Fixed: 3270132
Add API to extract MLD AP MSD capabilities from MLO IE
common info field if present. This will be shared with FW
via peer assoc cmd.
Change-Id: I0ebcd5408a40f3314932d4a2a7e586c208af2ee5
CRs-Fixed: 3271118
Currently, the reg_get_client_power_for_connecting_ap() API
populates is_psd_power flag within the function and uses it
as a check to further populate EIRP power. The is_psd_power
flag is derived from current channel list chan flag which
returns true if corresponding channel supports PSD power.
Normally, all 6 GHz channels support PSD, so this flag is
usually set to 1. But, AP can transmit EIRP power in TPE IE
for 6 GHz channels, thus for MCC specific cases, derive this
flag based on tx_power interpretation field in TPE IE for
accurate value. WIN Host can still use reg_is_6g_psd_power()
to retrieve the flag in the caller APIs.
Hence, derive is_psd_power flag from TPE IE interpretation
value beforehand and pass it as an argument to
reg_get_client_power_for_connecting_ap() API.
Change-Id: Iabbcbd003f441151643a087ad4908bcdaed753a5
CRs-Fixed: 3268118
As 11be 2.1 spec 35.3.3.3 Fields and elements not carried in a per-STA
profile, an AP affiliated with an AP MLD shall not include a Timestamp
field, a Beacon Interval field. Change ML probe rsp per-STA profile decode
logic accordingly. Copy Timestamp from the starting of the probe response
frame.
Change-Id: I0fe5682c170dc3dcd6e5a93c68473cd4cb6999b8
CRs-Fixed: 3280227
Add rxops reg_display_super_chan_list, its core and dispatcher functions to
display super channel list for all modes.
Change-Id: I2b094d407d318ad84ac79ea3a4bc1127606c0fa2
CRs-Fixed: 3212642
If there are more than 1 preferred network list in schedule scan, after
6 GHz channels added to pno channel list of 1st network list, channel
num is updated and set for 2nd network list wrongly, then OOB happens when
6 GHz channels are added to 2nd network list.
Change-Id: I2658620ce4e6e8dcf93e810c7bc10364e4de7a73
CRs-Fixed: 3280705
Enhance QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event for the
driver to indicate the information of the associated links of MLO
roaming.
Change-Id: I5cede840ec42bb45ec13e35a1f5caa0c0674047a
CRs-Fixed: 3278009
Only in 11b mode, exclusive of other legacy modes(11ag) will
the NSS obtained from the TLV header be invalid, which is 0
and cannot be resolved. This change will set nss to 1 in 11b.
Change-Id: I93e8bdb125764fb0247265da328929ecc837fb84
CRs-Fixed: 3275793
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.
CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
This change adds protection, if partner link peer creation failure
leads to MLO peer free. It also returns failure.
Change-Id: I4f2097c3a2942cecf01f77c7e4899595bbce0dff
CRs-Fixed: 3277770
Currently, short SSID is not added to the hints in scan request
if BSSID hint is present. But there can be cases where both need
to be advertised and expected to be present in the probe request.
So, send short SSID hints also to firmware in scan request.
Change-Id: Ie66e6677185c106817f4d24c2f07730c53ae243a
CRs-Fixed: 3259555
Current code directly passes the result of wlan_vdev_get_psoc(vdev) to
wlan_objmgr_get_peer_by_mac, without null pointer checking, which can
result in null pointer dereferencing.
To fix this issue, add checking of the psoc pointer before passing,
and add verification inside wlan_objmgr_get_peer_by_mac.
Change-Id: Iaf0e2535c3a584db788ddc621745c66c296fe08f
CRs-Fixed: 3277651
For T2LM capable MLO STAs the AID is allocated from the second pool.
There is an inconsistency in allocating these AID pools.
Please check the example below.
Let's say the max_aid in ML AID manager is 12 and the start_aid is 3.
As per the current implementation,
aid_end1 = (ml_aid_mgr->max_aid - start_aid)/AID_NUM_BUCKET
= ( 12 - 3)/3 = 3
Only 3 AIDs are available in pool_1. But, all these 3 AID are reserved due
to start_aid = 3. Hence, we will not be able to allocate any AID from
pool_1.
With the fix,
pool_1_max_aid = (ml_aid_mgr->max_aid - start_aid)/AID_NUM_BUCKET
= 3
aid_end1 = pool_1_max_aid + start_aid
= 6
So for pool 1, AID 4,5 and 6 are available now.
Change-Id: Ia96966b542e68511acbf46de32448f0d95d31c69
CRs-Fixed: 3276564