Commit Graph

257 Commits

Author SHA1 Message Date
Utkarsh Bhatnagar
b133ed84cb qcacld-3.0: Fill Current MAC Frequency Range
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
2021-09-27 20:09:50 -07:00
Utkarsh Bhatnagar
21ea2c1156 qcacld-3.0: Create function to dump freq range
Create function to dump frequency range per
HW Mode.

Change-Id: I3b5033ba6c572e4fe7ca738224f51e5e22cd93b4
CRs-Fixed: 3044966
2021-09-27 20:09:45 -07:00
Liangwei Dong
251f655d28 qcacld-3.0: Move SAP for DBS when STA on 6Ghz unsafe channel
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
2021-09-27 17:57:38 -07:00
sheenam monga
12c2d0a54b qcacld-3.0: Update failure log of qdf_delayed_work_start
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
2021-09-23 10:00:14 -07:00
Liangwei Dong
4370350179 qcacld-3.0: Init 5G SAP mandatory list with 2G+5G band
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
2021-09-23 02:11:21 -07:00
Utkarsh Bhatnagar
f520feb6db qcacld-3.0: Fill DBS/SBS/SMM freq range from hw capability
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
2021-09-21 04:18:33 -07:00
Jyoti Kumari
6387e91bc8 qcacld-3.0: Don't allow GO/GC+GO/GC+STA on the same band
Add support to allow/disallow three port combinations on
same band based on PCL table

Change-Id: Id2e9ad7d17bab6ea0aff6913b25f0eb330dc6c13
CRs-Fixed: 3028527
2021-09-17 03:40:47 -07:00
sheenam monga
265f8960fa qcacld-3.0: Enhance g_enable_go_force_scc for liberal mode
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
2021-09-17 01:18:27 -07:00
sheenam monga
c339ab4ddf qcacld-3.0: Check Fw capability to support p2p + p2p concurrency
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
2021-09-17 01:18:20 -07:00
Jyoti Kumari
24cc88ae75 qcacld-3.0: Argument mismatch in sta_ap work queue
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
2021-09-17 01:18:14 -07:00
Yu Wang
8414ad919b qcacld-3.0: add support for hw mode selection offload
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
2021-09-15 10:49:51 -07:00
sheenam monga
fec839dd87 qcacld-3.0: Update pcl connecton table for p2p+p2p concurrency
Update pcl table for P2P + P2P concurrency for SCC,MCC and
DBS scenarios.

Change-Id: Ibd76db75c68a568fd60f1fece23e4e7146718628
CRs-Fixed: 2991321
2021-09-08 14:55:18 -07:00
Liangwei Dong
04e62b143e qcacld-3.0: Unit test update for policy mgr pcl validation
Update unit test command for policy mgr pcl validation to
support new SBS PCL type.

Change-Id: Ib02ce6c69400d0f47307523d690e1d81a8c0ef83
CRs-Fixed: 2998526
2021-09-01 14:02:32 -07:00
Liangwei Dong
a2941c56d9 qcacld-3.0: dump pcl type name and ch list
Dump PCL type name and channel list.
Remove duplicated dump ch list.

Change-Id: I78e95e6628bcf771a5880221ee5a5aa1dc709dae
CRs-Fixed: 2998522
2021-09-01 11:45:35 -07:00
Liangwei Dong
8a532f4033 qcacld-3.0: Enable DBS-SBS 2x2 table
Enable new dbs-sbs-2x2 PCL table for new DBS-SBS hw.

Change-Id: Ia30f07d96de981738527c4cbc043cf8958f6f9c2
CRs-Fixed: 2998506
2021-09-01 11:45:28 -07:00
Liangwei Dong
cd67d587b9 qcacld-3.0: populate channel list of new pcl type for DBS-SBS
To support DBS-SBS hw mode, populate SBS/SCC/MCC/DBS channel
list for new PCL types.

Change-Id: I5b6bae3daeae0be879d60dc5183574fe63f6a0c9
CRs-Fixed: 2998497
2021-09-01 11:45:22 -07:00
abhinav kumar
5823512803 qcacld-3.0: Set PCL List as per roam band to fw for connected STA
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
2021-08-31 14:44:31 -07:00
Liangwei Dong
e45a8446a5 qcacld-3.0: Add DBS-SBS PCL table
DBS-SBS table will support 2G+5/6G DBS mode
and 2/5G+5/6G SBS mode.

Change-Id: Ia8c2a69caed771fa66a148c98ce1234ebb76689d
CRs-Fixed: 2998488
2021-08-31 07:54:34 -07:00
Liangwei Dong
2762576aec qcacld-3.0: Fix KW warning for pcl weight list
Add sanity check for index with NUM_CHANNELS and pcl_sz
when add 2.4G channel list.

Change-Id: I04ac1bcdb6720a4740be7c2f5e08f76b3c34d8c4
CRs-Fixed: 3025000
2021-08-31 05:39:23 -07:00
Yu Wang
f144628933 qcacld-3.0: refine functions for getting preferred channel list
Refine policy manager get PCL channel list APIs to help
add new PCL type.

Change-Id: I1e9d49c5f0a8c2c38f1fb5302615bc956ed6aae0
CRs-Fixed: 2998478
2021-08-29 03:01:18 -07:00
Will Huang
7ceef833da qcacld-3.0: Check unsafe channel again after bandwidth selected
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
2021-08-18 03:13:03 -07:00
sheenam monga
28269c5b53 qcacld-3.0: Don't process csa request immediately for P2P GO
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
2021-08-03 17:33:56 -07:00
Gururaj Pandurangi
dd0c6a7a29 qcacld-3.0: Deprecate the ini gEnableOverLapCh
Deprecate the ini gEnableOverLapCh as it is no
longer in use.

Change-Id: I79b0a2789409964c1ce56641fecdf3ae3ec4e053
CRs-Fixed: 2903153
2021-07-27 21:50:42 -07:00
Liangwei Dong
d5706bfc60 qcacld-3.0: Add policy mgr conn list validation
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
2021-07-19 05:38:37 -07:00
Lin Bai
35b7e626aa qcacld-3.0: Enhance conc-info del/restore for 3-SAP concurrency
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
2021-07-12 12:09:36 -07:00
Utkarsh Bhatnagar
3f9add4ec4 qcacld-3.0: Handle A-EDCA based on STA-SAP concurrency
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
2021-07-12 07:45:40 -07:00
Liangwei Dong
ec02055c51 qcacld-3.0: Add more SAP mandatory channel frequency
According to new user request, add channel frequency 5745,
5765, 5785, 5805 to SAP mandatory channel list.

Change-Id: Icf1c96c07514f65a229e00d4330eaf0af5daa4ab
CRs-Fixed: 2987664
2021-07-10 21:55:11 -07:00
Liangwei Dong
a97eee4294 qcacld-3.0: Use target BW 80Mhz for Pre CAC on 5G
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
2021-07-07 09:11:18 -07:00
bings
5478a21533 qcacld-3.0: mlo sap bss start for hdd layer
Implement mlo sap bss start for hdd layer.

Change-Id: Id2fc9c735573262d5502e1538851c9554c919a21
CRs-Fixed: 2973191
2021-07-06 02:15:53 -07:00
Abhishek Singh
1af81f83c6 qcacld-3.0: Code cleanup for unused csr files
Code cleanup for unused csr files.

Change-Id: I15d4e64534c960c7f048f2a7b7bbedac419700da
CRs-Fixed: 2978777
2021-06-28 14:41:29 -07:00
Abhishek Singh
5ca9e12a4e qcacld-3.0: Code cleanup for connection manager MLME/SME
Remove unused code related to ndef FEATURE_CM_ENABLE in MLME/SME.

Change-Id: I022823296d2e186450a1a1082a975eccf0b7c122
CRs-Fixed: 2977907
2021-06-28 14:41:24 -07:00
Abhishek Singh
e9531a9d24 qcacld-3.0: Code cleanup for connection manager CSR
Remove unused code related to ndef FEATURE_CM_ENABLE in CSR.

Change-Id: I156b7ee286f666ee5d660312bf5ba2fe364165c4
CRs-Fixed: 2977584
2021-06-27 23:35:22 -07:00
abhinav kumar
1c4c73d081 qcacld-3.0: Dont allow SAP on indoor channel
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
2021-06-16 16:50:46 -07:00
Srikanth Marepalli
97b85405a1 qcacld-3.0: Don't send PCL command for P2P vdev
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
2021-06-08 20:30:22 -07:00
Jyoti Kumari
4301f71222 qcacld-3.0: Handle SAP TWT concurrency scenario
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
2021-06-04 00:28:09 -07:00
bings
5102c78190 qcacld-3.0: fix mlo build error
Fix build error when enable WLAN_FEATURE_11BE_MLO

Change-Id: I73855838972a9edd6307dd1e55b05152c5435d69
CRs-Fixed: 2958496
2021-06-02 22:54:34 -07:00
Lincoln Tran
8b2cd2c24d qcacld-3.0: Change SAP related APIs to use secondary channel list
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
2021-05-14 12:54:21 -07:00
Abhishek Singh
39455350a3 qcacld-3.0: Add self reassoc and Hw mode change logic for LFR2
Add self reassoc and Hw mode change logic for LFR2.

Change-Id: I2c48f0d36d541df58b6d6c2448bfe526b60df142
CRs-Fixed: 2941794
2021-05-10 14:47:48 -07:00
Liangwei Dong
1ad0172d7e qcacld-3.0: Fix LTE unsafe channel switching failure of SAP
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
2021-05-10 02:05:23 -07:00
Liangwei Dong
9a7ab6fe1d qcacld-3.0: Refine SAP force SCC target channel bandwdith selection
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
2021-05-06 08:32:44 -07:00
Jia Ding
ac3d677573 qcacld-3.0: Add 320MHz support in policy_mgr
As part of 320MHz bandwidth support for 11BE, add 320MHz
bandwidth conversion used internally in policy manager.

Change-Id: I25cf3e171249ae6c45988d3d9cdd5225a2000178
CRs-Fixed: 2934783
2021-05-06 03:30:51 -07:00
Lincoln Tran
efcc67259e qcacld-3.0: Set AP power mode back to LPI
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
2021-05-03 12:52:56 -07:00
Arun Kumar Khandavalli
33bef282bb qcacld-3.0: Add DBS_OR_SBS support in hw_mode_list
The enhancement is to add DBS_OR_SBS hardware mode
support.

Change-Id: Id5a2f0babcf0a1a2f6982ff671af8f660ec56a0f
CRs-Fixed: 2931621
2021-04-26 10:01:37 -07:00
abhinav kumar
09474f3886 qcacld-3.0: Don’t consider pcl weightage for STA conn
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
2021-04-26 10:01:08 -07:00
bings
e4742ba697 qcacld-3.0: check 11be IE is configured or not from userspace
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
2021-04-16 09:19:55 -07:00
Srinivas Girigowda
997c8a07aa qcacld-3.0: Add support to reject TWT setup incase of concurrency
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
2021-04-15 02:56:11 -07:00
Liangwei Dong
576283f245 qcacld-3.0: Allow hw mode change for dbs 2x2 target
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
2021-03-24 12:04:10 -07:00
Amruta Kulkarni
15ac4a4e5a qcacld-3.0: Support roam sync indication in CM
Add change to support roam synch indication
in connection manager.

Change-Id: I06b23ae085a5a86caf4fe04fe5929b86d8d5c543
CRs-Fixed: 2901858
2021-03-24 09:47:46 -07:00
Deeksha Gupta
138455dc82 qcacld-3.0: Support P2P in 6GHz mode
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
2021-03-17 09:11:11 -07:00
Liangwei Dong
f7c2c8453a qcacld-3.0: Disable force SCC to DFS channel if DFS master disabled
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
2021-03-17 00:45:00 -07:00