1. APIs to check topology to see if the bridge vap/peer will be used.
2. API to check the max number of links supported.
Also check if we can have the primary and assoc links to be different
for WDS STATION. Based on the topology allow/block
connection to a particular AP.
CRs-Fixed: 3562149
Change-Id: Icf3b32036199f39b0d567ac88795dc07760ac1a5
When roam reason is periodic, host driver ignore the rssi
threshold in wmi event parsing.
Change-Id: I66c72576c7a2994d88e4c83bee726d8ec92c4189
CRs-Fixed: 3566441
Currently in htt tx completion for MLO connection
host is not converting peer id into ml peer id.
Due to wrong peer_id host is not able to find txrx_peer
due to which stats are not getting updated.
To fix the issue in case of MLO connection convert
received peer_id into MLO peer_id.
Change-Id: I2e90104053d59a319d46a2628c4e9cdcb32832a0
CRs-Fixed: 3574182
Compute the required pages properly, when num_descs is not
multiple of DP_CC_SPT_PAGE_MAX_ENTRIES(512).
For example, if num_descs less than DP_CC_SPT_PAGE_MAX_ENTRIES,
then 1 page needed rather than 0.
Change-Id: I1c4b12cfebef6a9b315baf9044355caab1b112de
CRs-Fixed: 3571562
Change name of reg_is_6ghz_chan_connected to reg_is_chan_connected
as this API can be used to check if channel is connected for all
bands.
Use reg_is_6ghz_band_set helper function to check if 6 GHz band
is set and reg_get_keep_6ghz_sta_cli_connection to check if
keep_6ghz_sta_cli_connection flag is set.
Change-Id: I106185bad72579e227f9042a40f77934a2cb81c1
CRs-Fixed: 3537696
Modify the DFS debug print level to reduce the prints during bootup
as per customer's requirement.
Change-Id: I9e2c07373ffe036d4dfa7599d49d589eefee5cff
CRs-Fixed: 3568927
With the current behavior, a NULL AFC response is treated to be invalid
and is not processed. Hence the AP continues to operate in its current
state. To resolve this, the NULL AFC response should be treated as if
there are no SP channels available in that geo-location and should be
processed as follows:
A) If there are no Tx channels available(in all power modes) then the AP
must be brought down.
B) Else AP must choose the best channel in the best power mode.
To implement above cases, remove all the checks in the driver that tries
to block the NULL response and finally call upper layer functions
(hostapd/acs) so that they can decide whether to bring down the AP or
choose a channel from the available power modes. Modify
'reg_set_ap_pwr_and_update_chan_list' to bypass setting power type when
ap_pwr_type is REG_CURRENT_MAX_AP_TYPE. This allows the current channel
list to be updated and the upper layers to be informed about this update.
Change-Id: Id048fa9ee402d537f352e3caa2b53729518ea37e
CRs-Fixed: 3565567
Currently, We are using WLAN_MLO_MAX_VDEVS to check
max number of links, However with n link mlo we need
WLAN_MAX_ML_BSS_LINKS to check max number link.
Change-Id: Idd8a96ae80030c813bbdcebcdc4c76d2f93bea5d
CRs-Fixed: 3567342
When CONFIG_QCOM_IOMMU_UTIL is enable in vendor config, we have to
use new set of API's to get iommu domain attributes, and while using
__qdf_iommu_attr_to_os seeing compilation issue as some identifiers
like, QCOM_IOMMU_MAPPING_CONF_S1_BYPASS are not declare.
even when CONFIG_QCOM_IOMMU_UTIL is not enable we have dependency
on qcom-iommu-util.h file as it has some identfiers which are in use,
with or without CONFIG_QOM_IOMMU_UTIL.
Fix is to include the header file qcom-iommu-util.h which contains
the declaration of all the identifiers used in __qdf_iommu_attr_to_os
and this file is included if MSM_PLATFORM or QCA_IPA_LL_TX_FLOW_CONTROL
is defined.
Change-Id: I82b1c13717d377a5ec4bcb74ff94f4d15fa1f638
CRs-Fixed: 3487912
When handle wmi_mlo_link_disable_request_event in tasklet, mlo mutex is
acquired, assert will happen.
To fix it, let wmi_mlo_link_disable_request_event be handled in scheduler
thread instead of tasklet.
Change-Id: I65b84d0b6dc92a6649925d5844657fa44df1fada
CRs-Fixed: 3563195
AFC request is sent for all the opclass supported in the global opclass
including 80p80. Not all the devices support 80p80 and so, it is
unnecessarily included in the AFC request.
Create a callback function in regulatory to check if 80p80 is supported by
the device. If the support is present then the AFC request can include
80p80 opclass (opclass number 135 in global operating class). If not, then
the AFC request excludes 80p80 opclass.
Include 80p80 opclass in the AFC request based on the devices' support.
Change-Id: I9e72c960fefe6fbdc106bb83fb240d84d8522b80
CRs-Fixed: 3538926
Add change to update monitor destination ring interrupt handling
thresholds from INI.
Change-Id: Ibfced2b809ac2101171e8fe9f58e021a5a1f8ccf
CRs-Fixed: 3569507
Add gActionOUISendSMPSFrameWithOMN to send SMPS frame along with OMN for
specified IoT APs
Change-Id: Ida35779d11f9c6d6340afdbebeb788520fa7afdc
CRs-Fixed: 3568462
Monitor destination ring interrupt processing is configurable.
For improved CPU utilization the batch counter threshold and
timer threshold is updated and also an option is provided to make
this values configurable through INI.
Change-Id: Ibe671927f53f3e8fac7f17540c21a2c7edae427b
CRs-Fixed: 3569505
Currently if OPT_DP filter reserve or add request
is received during IPA pipe disconnect, the request is
not rejected. This could cause a race condition when
WIFI is disconnected while OPT_DP transfer is initiated.
This change handles this scenario by rejecting the
OPT_DP request when pipes are going down.
Change-Id: I8ec9e2e50917ef6ec3a07f9e1833303d94134c6c
CRs-Fixed: 3520707
The dp_tx_tso_num_seg_pool_init_by_id() stub implementation has an
incorrect semicolon, so remove it.
Change-Id: Ie70aafdb83116e3e3fb7bd96223b0c770e80eb7f
CRs-Fixed: 3500205
Notify OSIF about each connected link once assoc VDEV connection
is completed, call the ops callback registered while filling
kernel data structure for each link.
Earlier post connection each VDEV's OSIF callback is called to notify
individually, but this leaves the OSIF unaware of standby link details
as the standby link doesn't have VDEV associated with it.
Change-Id: I027b91d02bdc4412400a7e66f11911da149e672b
CRs-Fixed: 3556378
The ops are called on BSS info to be updated to OSIF and
to call for MAC address update on particular VDEV
Change-Id: Ib7b07e6ea2927c365298555ed6f24377127ddd4a
CRs-Fixed: 3556338
The MLO dev context in VDEV is already made to NULL as
part of VDEV destroy and dereference of MLO dev ctx from
VDEV results in NULL pointer exception.
Change-Id: Idbbd625998aa09194ca533b0c8df2fd8e6d16d76
CRs-Fixed: 3570602
After mlo connection is completed driver send the connect resp event
to kernel. As of now, driver gets the ML param info from the assoc_rsp IE.
For stand_by link, driver don't have vdev. Due to this, driver can't send the
stand_by info to kernel.
Fix is, instead of assoc_rsp IE driver will use mlo_mgr to get the links
information.
Change-Id: I8da762bed94de4ad2b024183c09b3d0a0f1b7ca4
CRs-Fixed: 3530712
In Pebble (11BE qcn6432 chip), the radar-found frequency is
incorrectly computed in the current implementation as
dfs_translate_radar_params is executed.
The translation function (dfs_translate_radar_params) which
alters the frequency offset is needed for pre-11BE chipsets.
For 11BE chips where
wmi_service_radar_found_chan_freq_eq_center_freq
service is advertised by HALPHY, the frequency translation is not
needed as the offset sent by FW in wmi_dfs_radar_detection_event_id
can be directly used.
CRs-Fixed: 3562464
Change-Id: I824b94ca764d6bd62a67feb38ba3ccc966999e90
Introduce new vdev parameter WMI_VDEV_PARAM_DISABLE_2G_TWT
in order facilitate FW to change twt operation state for
2.4 GHz link
Change-Id: I35436245c5e0ee113a8fdc2edba42a7978b2683d
CRs-Fixed: 3560314
If bssid and short ssid is present in the rnr list,
do not add duplicated entry.
Change-Id: Ic2f3b2396cd087601cf72aad8b4fdf81188d064e
CRs-Fixed: 3554848
1. In lowmem profiles the number of tx_desc in 4th pool is reduced to
quarter for memory optimizations.
Added new API dp_get_updated_tx_desc which will return the desc value
from INI based on the flag DP_TX_DESC_POOL_OPTIMIZE.
2. Changes to introduce new INI to get reduced desc value for 4th tx
desc pool.
This helps optimize 0.75M per SOC in lowmem profiles.
Change-Id: I033fcaeb843019fb03bb77e0d05a3ebf60fa806a
CRs-Fixed: 3557483
Currently while updating the mlo vdev flag host checks whether the
mlie is present, this vdev flag is used to send various ml information
to firmware. In certain cases because of issue due to parsing of
ml probe response or AP issues mlie is not present in the partner link
entry, resulting in host sending ml flags for assoc vdev and not setting
ml flags for partner vdev's resulting in undetermined behaviors in
firmware.
If mlie is not present during the partner link association stay associated
on the available links.
Change-Id: I3134555dc955ffc96a50584c2cfc6713b2673cc4
CRs-Fixed: 3555133
Function hif_cleanup_static_buf_to_target() has multiple
implementations, with one chosen by conditional compilation. The
version where CONFIG_BYPASS_QMI is defined and QCN7605_SUPPORT is not
defined has a typo (snc instead of scn), so fix it.
Change-Id: Ifbfee8cb53e987216b46507e336bf3aa3de7bf6c
CRs-Fixed: 3500203
In scenarios when two partner vdevs are brought up simultaneously, as part
of moving to start_response or sync_wait mlo_ap_lock is acquired.
For a given vdev not moving to CAC wait, link ready can be posted twice,
which will lead to rcu stall if partner vdev is already trying to dispatch
sync_complete event.
Hence skip the link ready event if the vdev is already in UP state.
Change-Id: Ie3d2c4078ebced3538f3fea08d5b798837534725
CRs-Fixed: 3555092
Currently, We are using GET_STATION_INFO_REMOTE_CH_WIDTH
attribute for remote channel width which is using u8 for
storing the channel width info. However, for 320 MHz there
is a need to use u16 attribute to store the channel width
info.
This change is to preserve old interface and use new
interface to store u16 attribute for remote channel width.
Change-Id: I01eb246c380a6155d0d96032549eee53a877cb2a
CRs-Fixed: 3567663
Extend bitwise mask in enum qca_wlan_tdls_caps_features_supported to get
the TDLS wider bandwidth capability from the driver.
Change-Id: I7e7209f72c7d8db3ac06ecafdfe91deb7438e1b2
CRs-Fixed: 3552602
For ipci interface platforms, currently RTPM resume is
requested from CE interrupt handler even when suspend
is in progress. But ideally we should request resume
only RTPM state is in suspended, since as part of suspend
sequence also we will get CE WOW events and this should
not trigger resume.
Fix this by requesting resume from CE interrupt handler
only when driver state is suspended.
Change-Id: I450d6c48809afae26fe863184766ab5141d25691
CRs-Fixed: 3554857