During wma_pdev_hw_mode_transition_evt_handler()
get the freq range from mac_freq_mapping[] present in
wmi_pdev_hw_mode_transition_event_fixed_param and pass
till policy_mgr_hw_mode_transition_cb() and update
cur_mac_freq_range[MAX_MAC] from it. if no freq range
provided (legacy chipsets) then use
freq_range_caps[MODE_HW_MAX][MAX_MAC] to fill the
range depending on the new HW mode.
Change-Id: I145d48052ce37724b0f697c19a1041f5a908cb54
CRs-Fixed: 3044976
With g_sta_sap_scc_on_lte_coex_chan=0, when SAP working on 6Ghz,
STA connects to another 6Ghz unsafe channel, move SAP to 2G safe
channel for DBS. Add unsafe channel check in
policy_mgr_check_6ghz_sap_conc for such condition and select
alternate 2G channel.
Change-Id: If9d7be045835b4faa36b5d123f820032dabc2b64
CRs-Fixed: 3039791
Currently, interface change request failure is indicated
whenever qdf_delayed_work_start returns false which may
indicate wrong failure reason as qdf_delayed_work_start
returns false in case any other request is already started.
Fix is to update failure log of qdf_delayed_work_start
to avoid any wrong indication.
Change-Id: Icf75ab5eff5b225bb7a2db1d8327bde6bb4fc9ac
CRs-Fixed: 3042780
When SAP starts on 5G, initialize SAP mandatory list with
2G and 5G mandatory list. And also select same band channel
SCC channel firstly in the intersection of PCL and mandatory
channel list.
Change-Id: Iac86b5caf38bf72f143be81122f8378fc61b29e2
CRs-Fixed: 3039268
Using the HW capability from extended regulatory
capabilities (reg_cap_ext), fill the SMM/DBS/SBS
frequency range in such a way that if the frequency
range these for a particular mode is not at all
present in these reg_cap_ext, then maximum possible
range is selected for that Hw mode.
For SBS mode:
Derive the channel such that 2Ghz is supported only by
Mac0, and if the frequency range of 5Ghz and 6Ghz are
intersecting then derive the the 5Ghz/6Ghz range/
For DBS mode:
Mac0 Supports all the 2Ghz range and Mac1 supports the
maximum range derived from the reg_cap_ext of both Mac.
For SMM mode:
Derive the Freuency range based on supported bands.
With these changes, pure mac freq ranges can be stored
and used easily.
Change-Id: Ied7f81654ef6d135e14b053db9516b4cb591eb76
CRs-Fixed: 3034653
Add support to allow/disallow three port combinations on
same band based on PCL table
Change-Id: Id2e9ad7d17bab6ea0aff6913b25f0eb330dc6c13
CRs-Fixed: 3028527
INI g_enable_go_force_scc states the force MCC to SCC mode.
Mode 1-strict: Implement force scc strictly as part of start bss
Mode 2-liberal: Turn on p2p go on provided channel and move
first p2p go to the new p2p go channel after set key.
Currently for p2p-GO forceSCC, support is present where no matter
what is the GO negotiated channel in start_bss, driver will force
the other GO/STA/GC channel (on the same band) to the current GO
channel. This is force SCC strict mode where value 1 is used for
g_enable_go_force_scc ini. In this mode GC will have to do full
scan as the GO channel may be different from actual negotiated
channel. DUT may see some issues if GC dosent do full scan in
this mode.
As part of this change, add support for value 2(Liberal mode)
in g_enable_go_force_scc ini. As part of this liberal mode,
driver will allow the GO to start in MCC mode and after set key,
it will check any other concurrent GO and will do forceSCC for
that GO to the newly formed GO channel.
Change-Id: Ifc7beb06335616c51dc064f48a78b825dbdbda25
CRs-Fixed: 2992098
Check fw capability to support p2p + p2p concurrency from
soc_fw_ext_caps and based on fw capability, set policy
mgr concurrency for p2p + p2p.
Change-Id: Ia32f81f37174e9d722911b1fae6d4897d0af9816
CRs-Fixed: 2991300
From the caller, the args comes as pm_ctx but in definition
it's assigned as work_info which causes crash.
Change-Id: I9928a2c3862407b02cb34356ad54895e1d3069c7
CRs-Fixed: 3035090
If flag WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT is
advertised in service capability, host should not set
HW mode explicitly, firmware takes control of managing
HW mode.
Change-Id: I10a8ad5201db375cc21255661b7cf46b9dd6e05f
CRs-Fixed: 3017062
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.
Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
To support DBS-SBS hw mode, populate SBS/SCC/MCC/DBS channel
list for new PCL types.
Change-Id: I5b6bae3daeae0be879d60dc5183574fe63f6a0c9
CRs-Fixed: 2998497
Whenever host Receives vendor command for SETROAMBAND, Host should
set PCL list as per roam band to fw so that FW can use updated pcl
list for further roaming.
Change-Id: I2f48833801b75f25aaf37ea479867b19477ceecb
CRs-Fixed: 3009751
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4G channel list.
Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
In LTE coex SAP restart scenario, currently SAP new channel is selected
base on 20M bandwidth, and channel bandwidth is determined after
channel frequency determined, if new channel bandwidth is greater than
20M, it is possible channel boundary fall in unsafe channel range,
because bonded channel is fixed with different bandwidth.
If select new primary channel with determined bandwidth, it would
violate MCC to SCC limitation if concurrency, to make it simple,
just shrink SAP bandwidth to 20M if check unsafe channel failed.
Change-Id: Id9bc5e6e807c0446138ca816bc3ada22443fe7a2
CRs-Fixed: 3005333
If STA is connected to one channel and p2p is up on same channel,
and sta moves to another channel then p2p go also tries to switch
to sta channel immediately in case g_enable_go_force_scc is enabled.
But Go can't send channel switch announcement as go sends 1.5 sec
of NOA during sta connection with new channel due to which p2p may
get disconnect.
Fix is to not try to move to sta channel immediately. P2P Go will
try to switch channel only after NOA completion which is 1.5 seconds.
Add delay work queue of 3 seconds to handle worst case scenario when
BT is on and P2P tries to switch channel.
Change-Id: I557940dfc79da4922694ed24a573e41aae75c09a
CRs-Fixed: 2989207
Add policy mgr connection list validation such as duplication
entry error. Flush the drv log and pause the logging
if error happens so that the issue log can't be overwritten
in stress test.
Change-Id: I037863de0bc5ecb8118c5792b6d73c3e200dd5c6
CRs-Fixed: 2991983
When all vdevs in same mode(like SAP here),
MAX_NUMBER_OF_CONC_CONNECTIONS vdevs deleted but failed
to be restored as count sanity.
Vdev count of MAX_NUMBER_OF_CONC_CONNECTIONS is also valid,
and should be restored.
Change-Id: I2ef6c9a5b1ef96098e14b6a57ad8006d806309b0
CRs-Fixed: 2988669
Handle A-EDCA based on STA-SAP concurrency. Also, update
RTS profile based on the concurrency such that:
1) For STA and SAP concurrency, send STA's AP EDCA
params to fw. Also, for SAP or P2P Go, update the
value in Broadcast EDCA params as well so that it
should be broadcasted to other stations connected
to that BSS. Also, update the RTS profile value to
0x11. It will let FW disable SIFS bursting and send
RTS for every frame.
2) For standalone STA (can even happen after SAP/P2P Go
disconnects), if the parameters are updated, reset
them to original parameters and send them to FW.
Also, update the RTS profile value to the value
it was set before.
3) For standalone SAP (can even happen after STA
disconnects), if the parameters are updated, reset
them to original parameters and send them to FW and
reset the Broadcast EDCA params as well so that it
should be broadcasted to other stations connected
to that BSS Also, update the RTS profile value to
which it was set before.
Change-Id: Idb2b04b1b0bddb51cea9c5665847d04817a90aca
CRs-Fixed: 2949484
According to new user request, add channel frequency 5745,
5765, 5785, 5805 to SAP mandatory channel list.
Change-Id: Icf1c96c07514f65a229e00d4330eaf0af5daa4ab
CRs-Fixed: 2987664
At present the pre CAC is done based on original SAP's BW,
but usually the original SAP is on 2G and BW <= 40Mhz. The
requirement from user is to have higher BW on 5G. Hence, select
higher BW supported by SAP phymode to do pre CAC and move 2G
SAP to 5G pre CAC channel when pre CAC done successfully.
Also set the default MAX bw pre CAC to 80Mhz based on current user
request.
Change-Id: I3115da8eb649238da50b223c2587db96125ec813
CRs-Fixed: 2984084
In case of STA + SAP concurrency and STA is on indoor channel.
Dont allow SAP to turn on, irrespective of DBS, MCC or SCC mode
of concurrency, if STA + SAP concurrency not allowed
on indoor channel.
Change-Id: I79582f88e81cb2c95d2da2480d1e3d7a8b86906f
CRs-Fixed: 2967952
Set PCL command should be sent to firmware only for STA mode.
For P2P vdev, except the connected band, the other band channels
are marked disallowed. With this, if the set PCL command is sent
then STA can't roam to the disallowed channels.
Hence don't send PCL command if the vdev opmode is not Station.
Change-Id: I6c4917f75d5f14169e2c564d5f6deee819fb629a
CRs-Fixed: 2939148
TWT is allowed only in DBS/Standalone case and not in SCC/MCC.
Handle TWT if any session request comes in SCC/MCC or DBS case
as per below:
1. If TWT session request comes on standalone SAP then peer
client will initiate the session and not from userspace
(SAP DUT)
a. Send twt responder enable command and
b. Send twt requestor disable command to firmware
2. If session request comes on standalone STA then
a. Send twt requestor enable command and
b. Send twt responder disable command to firmware
3. If two vdevs are up and SCC/MCC exist
a. Send beacon template with twt responder disable command to
SAP vdev
b. Send twt requestor disable command to STA vdev
4. If two vdevs are up in case of DBS
a. Send requestor enable command for STA vdev
b. Send beacon template with responder enable command for SAP
vdev
5. If 3 port concurrency comes then
a. Send requestor disable command to STA vdev and
b. Send beacon template with responder disable command to SAP
vdev
Change-Id: I65994702bb72d5006bd66b2ef57a0704a67410f7
CRs-Fixed: 2938961
In any start BSS or ACS related function, change the calls to regulatory
to access the secondary channel list instead. This list will hold the
VLP channels specifically for any beaconing modes. This allows a client
and an AP to operate simultaneously on different power modes.
Change-Id: Ic06b408ebcc78292d84f1f035c00bf39a23de3ca
CRs-fixed: 2944484
At present LTE unsafe channel switch and DCS is using
hdd_switch_sap_channel to switch channel of SAP.
hdd_switch_sap_channel has no bw setting parameters and just
use the original bw of SAP - ch_width_orig. The ch_width_orig
(80Mhz) may not be applicable if SAP is channel switching from
5G 80Mhz to 2G. Use the new API wlan_get_ap_prefer_conc_ch_params
to override the bw to appropriate value for the new channel.
Change-Id: I9ab6c92a0534517c524bd56b0c3087d7f75f6368
CRs-Fixed: 2939654
Merge the bandwidth selection of the two API
wlansap_get_csa_chanwidth_from_phymode &
wlan_sap_get_concurrent.
Update 5G Force SCC target Max BW selection for dbs hw:
1. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 1 and Single SAP
2. Max BW 80Mhz if sta_sap_scc_on_dfs_chan = 0 and STA+SAP SCC
3. other case use User configured BW
The above Max BW value will be limited by SAP user configured
BW at the end.
Change-Id: I1b165d1411288ca6845f90103adbf8bbfc34f67d
CRs-Fixed: 2925750
As part of 320MHz bandwidth support for 11BE, add 320MHz
bandwidth conversion used internally in policy manager.
Change-Id: I25cf3e171249ae6c45988d3d9cdd5225a2000178
CRs-Fixed: 2934783
When starting SAP, the AP power type is decided based on certain
conditions. After turning off the SAP, the power type is no longer
valid, so reset it back to default.
Change-Id: I472da2e02b58017dab4855fc83cd4e15b24b7b08
CRs-fixed: 2934622
If there is more than one STA iface concurrently active
and one of them is marked as a primary iface. The host
received CONCURRENT_DUAL_STA_POLICY vendor command with
policy PREFER_PRIMARY. Then Don’t consider PCL weightage
for an STA connection. Due to this host/fw allows a new
connection either in DBS, SCC or in MCC.
Change-Id: I400165f8dd3ab7b94b2cb808f8b34b34d6d42fee
CRs-Fixed: 2929015
When starting SAP, If 11be IE is configured from userspace,
driver need check concurrency, update phymode as 11be and notify mlo mgr.
Change-Id: I22fdec5d978c91a8fc292af49462f045922254ae
CRs-Fixed: 2908938
Add support to reject TWT setup request if received when the below
mentioned concurrency scenario exists.
STA + SAP: SCC or MCC: Reject TWT setup
STA + P2P: SCC or MCC: Reject TWT setup
Change-Id: I5c4c2bcc032276a0b83b7a46a44dbf7933cda29f
CRs-Fixed: 2923726
Previously, the hw mode changing is not allowed when SAP is CAC
state in old target which supports 1x1 dbs. The reason is
some action frame would be sent out when chainmask changes in
those target. But for 2x2 dbs target, chainmask is not changed
and hence not action frame will be sent out.
Allow the hw mode change for 2x2 dbs target when SAP is CAC.
Change-Id: I2d123a7f0065a562048584f56d5dd7640aaaf975
CRs-Fixed: 2892813
Currently, P2P mode is not supported in 6GHz mode
Add P2P mode in policy_mgr_is_6ghz_conc_mode_supported
API to support P2P mode in 6GHz mode as fix this.
Change-Id: I2e160641c1784dbbd592b237da6b38929f33abbe
CRs-Fixed: 2896291
If DFS master capability disabled, STA+SAP SCC on DFS is not allowed,
so reset g_sta_sap_scc_on_dfs_chan to 0.
Change-Id: I90b0ec6947f5bc24c9854062f443de0d1f6dc452
CRs-Fixed: 2897719