Commit Graph

2146 Commits

Author SHA1 Message Date
Srinivas Girigowda
0737e8caec qcacld-3.0: TWT cfg params initialization
Initialize TWT psoc cfg params with the cfg.ini values.

Change-Id: I326239d4f3f146113871fb3700fa82260988d697
CRs-Fixed: 3085507
2022-02-11 00:21:22 -08:00
Srinivas Girigowda
7aad8411ab qcacld-3.0: target_if: Add TWT componentization public structs and files
Add TWT componentization public structs, files and skeleton code.

Change-Id: I9b929f87d172faf27bc54f37eee911e0d0f5086c
CRs-Fixed: 3085498
2022-02-11 00:21:02 -08:00
Srinivas Girigowda
38fe8b7acb qcacld-3.0: umac: Add TWT componentization public structs and files
Add TWT componentization public structs, files and skeleton code
i.e add new dispatcher APIs, target_if callbacks.

Change-Id: I21fd6f5c3e92f8ea725771c20cd6dfdb560b2bf3
CRs-Fixed: 3085430
2022-02-11 00:20:54 -08:00
Deeksha Gupta
1a6c49978e qcacld-3.0: Check peer broadcast TWT capability
Currently, for Broadcast TWT setup command, if peer does not
support TWT responder capability and supports broadcast TWT
capability then host rejects broadcast twt setup command
based on TWT responder capability.

Add condition to check the peer broadcast capabilities before
sending broadcast TWT setup request to firmware.

Change-Id: Iaa8941424d948d501655859564669baff4af9e69
CRs-Fixed: 3092276
2022-02-10 11:39:12 -08:00
Krupali Dhanvijay
aaf60192cf qcacld-3.0: Add support to configure 6G roam scan dwell time
Add ini support to configure 6GHz active and passive
scan dwell time and send this to firmware
to be used for LFR scans via WMI_ROAM_SCAN_MODE.

Based on these values, firmware will use host sent values
else use hardcoded values.

Currently firmware uses hardcoded values to configure 6Ghz
roam scan dwell time. With this change user can configure
it using INI.

Change-Id: I90e79ad59eef7f73faa0b9dfd2d38b65aca12285
CRs-Fixed: 3116861
2022-02-10 07:08:46 -08:00
Srinivas Dasari
d2a4401675 Revert "qcacld-3.0: Make default value of ndi_max_support as 2"
Enabling ndi_max_support=2 is consuming 4 vdevs + 11 peers
in firmware when STA and NAN(+2 NDIs) are active. Max peers
allowed in firmware are 11 only and this ini configuration is
consuming all of them.
There is no provision/memory for new peer allocation even for
simple use cases like roaming(roaming needs a temporary peer).

Revert this change and set the ini ndi_max_support=2 in target
specific ini files if required to avoid the peer exhaust issue.

This reverts change: Id45147541dba057c2f3420adee43c7a56e3ee72b.

Change-Id: If655b63071b07e96b4e343b8e1bb65acd33be625
CRs-Fixed: 3120555
2022-02-09 13:08:38 -08:00
Nirav Shah
d5ce5d8c3f qcacld-3.0: Update default value of moderate latency
Update default value of moderate latency to handle
XR use-cases.

Change-Id: I645380723256b86cabc9985ab5a243fd0cab725a
CRs-Fixed: 3115897
2022-02-07 15:09:59 -08:00
Nirav Shah
42853bf5eb qcacld-3.0: Update latency flags to 64-bit configuration
Update latency flags inis to 64-bit configuration and use
lower 32-bit for firmware configuration and upper 32-bit
as host configuration. Also remove separate inis for host
latency flags.

Change-Id: Iff62b847f40ae7fa5f82948ec37d756144860474
CRs-Fixed: 3115853
2022-02-07 14:01:53 -08:00
VIJAY RAJ
3d11cb41da qcacld-3.0: Add OFDM Scrambler seed ini support
Add "gEnableUpdateScramSeed" ini support to send
WMI_PDEV_PARAM_EN_UPDATE_SCRAM_SEED command to firmware
to enable OFDM scrambler seed.

Change-Id: Ie5c244a7ea418eec0af1f576e8521804ee85a665
CRs-Fixed: 3106348
2022-02-03 09:29:06 -08:00
Jyoti Kumari
ffe9db4483 qcacld-3.0: Don't disable NAN if MLO connection presents
Don't disable NAN if MLO connection presents.

Change-Id: I698fdd69b14f9992cf9c2becfd50c80ec376a784
CRs-Fixed: 3120663
2022-02-02 18:20:04 -08:00
Jyoti Kumari
9236a22a04 qcacld-3.0: Change max concurrent connection in hmt
Currently, host allow maximum 3 concurrent connection.

Change the maximum concurrent connection to 4 to allow
MLO STA + NAN + NDP combination.

Change-Id: I82b8b018488f2f85e4d5431b8b23b1dd90a844b9
CRs-Fixed: 3119918
2022-02-02 18:20:00 -08:00
Jyoti Kumari
b5c156c697 qcacld-3.0: Check MLO STA + NAN + NDP concurrency support
Check MLO STA + NAN + NDP concurrency support. Allow this
combination only If service cap and mlo sta presents.

Change-Id: I6fd0cae227eb8c4096444160b2450ad65dc51c30
CRs-Fixed: 3120645
2022-02-02 17:11:11 -08:00
Jyoti Kumari
e5b79679ef qcacld-3.0: Add MLO STA + NAN + NDI service cap support
Add MLO STA + NAN + NDI service cap support

Change-Id: I736a68552502f5fc1fb498cfd8db6bad99a75b5e
CRs-Fixed: 3120620
2022-02-02 17:11:06 -08:00
Abhishek Singh
301881e1c4 qcacld-3.0: Remove temporary comments from if_mgr API
Remove temporary comments from if_mgr_disable_roaming_on_vdev
and optimize it.

Change-Id: Iab36aff4779ac5761216e5abc596c8e980f9b059
CRs-Fixed: 3122127
2022-02-02 05:39:14 -08:00
Jyoti Kumari
c2d69895dd qcacld-3.0: Modify pcl table to allow MLO STA + NAN + NDP combo
Modify pcl table to allow MLO STA + NAN + NDP combination

Change-Id: I9fdf53df47f0e040fdd3368112095a7582f8f163
CRs-Fixed: 3120648
2022-02-01 19:44:17 -08:00
Srinivas Dasari
d045b6f8d5 qcacld-3.0: Update roam complete to modules only for MLO sta vdev
MLO roam sync happens first for link vdevs and then for sta vdev.
Update roam_sync-complete data to other modules(if_mgr, osif,
TDLS, P2P, firmware,..) only for sta vdev. Skip the same for all
link vdevs.

Change-Id: Ib01c7cd8d9c0bd0e7b4b48914576410aea6baa5c
CRs-Fixed: 3104553
2022-01-31 17:38:47 -08:00
Srinivas Dasari
6d7dd83436 qcacld-3.0: Abort roaming on link as well for MLO
Currently, roaming is not aborted in failure cases on
the link vdev and it's aborted only on primary vdev.
It results in link vdev not being cleaned up when roaming
fails due to some reason.

Change-Id: I0eb4b1da06a295935ff95be38228a5cacf127a73
CRs-Fixed: 3096648
2022-01-31 12:55:06 -08:00
Srinivas Dasari
071e0d2559 qcacld-3.0: Send LINK_DOWN event to CM upon MLO to legacy roaming
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.
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
legacy AP. If the current AP is MLO and new(roamed) AP is non-MLO
AP, move the link vdev state to INIT as it's in UP state.

Change-Id: Idd9638ea446306b0309e5127f08e3dbc1ec9edc2
CRs-Fixed: 3106038
2022-01-31 12:55:00 -08:00
Amruta Kulkarni
a0d98934c7 qcacld-3.0: Handle more than one ROAM_SYNC_FRAME event
FW can send more than one wmi_roam_sync_frame_event_id before
roam sync event,change done in host code to handle this scenario.

Change-Id: I1ab02ed3e984948b8e57a2f9a2000b9f9493629c
CRs-Fixed: 3116569
2022-01-28 20:53:50 -08:00
Surabhi Vishnoi
ef01f40bf7 qcacld-3.0: Reduce the log level to optimise the roam time
TWT initialisation will fail for each non 11ax connection
so an error log is not needed if peer object for TWT is not found.

Also, RIC data is not mandatory in FT session, so if its not
present, log a debug level print instead of error level.

Change-Id: I7fec9f88aa68b2ae947e34a1aede311e9fed2d05
CRs-Fixed: 3117535
2022-01-28 10:58:05 -08:00
Vishal Miskin
24af7b3137 qcacld-3.0: Limit STA connection in 80MHz BW for HE/VHT mode
Extend gStaPrefer80MHzOver160MHz ini to limit STA connection in
80MHz BW for HE/VHT mode. In case of XR use-case, higher
throughput is not needed but higher reliability is expected.
This ini helps in XR glass device to always connects in 80MHz.

Change-Id: Icefd2d54214351c04dd7420269c308cec2b5ae31
CRs-Fixed: 3117216
2022-01-28 05:20:27 -08:00
Bing Sun
9bf9995b68 qcacld-3.0: Add print APIs for SON
Add print api definitions for SON

Change-Id: I87165523a7e3e4490ebf3eb4a50b3fe83784ee95
CRs-Fixed: 3059198
2022-01-27 05:45:51 -08:00
Yu Ouyang
675b9de61a qcacld-3.0: Idle shutdown in suspend
To support shutdown WLAN when system goes into suspend, add idle shutdown
in cfg80211 suspend function.

Before suspend/shutdown, user space should stop adapter. And after resume,
user space should restart adapter. This can ensure user and kernel space
to sync adapter state.

Idle shutdown must be processed in system active, so schedule delayed
work to execute it. After calling schedule, retrun EAGAIN directly to PM.

Change-Id: I08818517d05e7866d50e3f92cfdc9fa1a4d0e63f
CRs-Fixed: 3081480
2022-01-26 20:47:11 -08:00
Utkarsh Bhatnagar
8edf9f4099 qcacld-3.0: Remove RL for policy_mgr_init_sbs_fw_config() logs
Remove Rate limited for logs in policy_mgr_init_sbs_fw_config()
when updating FWconfig bits.
This function is called at the time initialization and will only
be called once when Fw config Bits are updated with SBS
capabilities.

Change-Id: I68c7d76f85f12d220f85a46dca78ad8463bb5576
CRs-Fixed: 3116571
2022-01-25 10:54:06 -08:00
Bing Sun
3e6513e3b8 qcacld-3.0: Implement beamforming configuration for EHT
Intersecting EHT beamforming configuration from ini and FW
indication, then save it to eht caps of mlme.
For sta, update mlme EHT beamforming configuration to FW
through WMI_VDEV_PARAM_SET_EHT_MU_MODE directly.
For ap, intersecting mlme EHT beamforming configuration and user
configuration, then send result to FW.

Change-Id: I3d6185896af9fc58eb1fb6db913d4a425f72c696
CRs-Fixed: 3113235
2022-01-25 06:57:40 -08:00
Balaji Pothunoori
abc80f8a60 qcacld-3.0: Add ini support to prefer user coex unsafe freq list
Currently coex unsafe freq event is honored from firmware using
"wmi_wlan_freq_avoid_event_id".

As per requirement, add ini to don't honor coex unsafe freq
event from firmware and use the coex unsafe freq list from
vendor QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT.

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f705
CRs-Fixed: 3114742
2022-01-24 14:40:54 -08:00
Li Feng
813660e27f qcacld-3.0: Implement CBS for EasyMesh
Implement the continuous background scan for EasyMesh.

Change-Id: I2607474d5663f21b4d740316ae407bf1398a8ef7
CRs-Fixed: 3095580
2022-01-21 18:07:31 -08:00
Srinivas Dasari
accd92e85d qcacld-3.0: Peer may not be present if NDP confirm fails
NDP peer gets created as part of NDP indication in case of NDP
initiator. But NDP may fail to form due to various reasons and
firmware may send NDP confirm with reject status in such cases
instead of NDP indication event.
Below is the detailed scenario,
1. On initiator side, it has sent an NDP request and is waiting
   for NDP response.
2. On responder side, application/framework is preparing to send
   NDP response with reject due to some config mismatch. At the
   same time, NDP termination is also issued. So NDP termination
   frame is sent successfully.
3. Initiator firmware receives this NDP end and it sends an NDP
   confirm with REJECT to the host and it shall clean-up the
   session.

Currrently, there is a check for the peer existence while
indicating this NDP confirm status to framework. There is no need
of this check in such failure cases as peer is not yet created.

Change-Id: Ibe94a5b67df1ce3d65eaf2ef37b11b08155752c9
CRs-Fixed: 3086975
2022-01-21 15:47:31 -08:00
Abhishek Singh
5247ffb1e1 qcacld-3.0: Add SBS logic for gWlanMccToSccSwitchMode as 4
Check mandatory freq for SAP only if STA is present.
Also allow SAP on a freq which can lead to SBS with STA freq and is
in mandatory freq list, if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.

Allow ML SAP (SAP+SAP) on valid channels if gWlanMccToSccSwitchMode
is QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL.
As QDF_MCC_TO_SCC_SWITCH_WITH_FAVORITE_CHANNEL is only valid for
STA+SAP case.

So if STA is not present skip the mandatory freq and allow ML SAP
on original freq.

Change-Id: I6e8cbc7f944b2fa99c1449c288b9593cc4ad9454
CRs-Fixed: 3114208
2022-01-21 05:16:23 -08:00
Jianmin Zhu
cd9d714bbb qcacld-3.0: Consider connected AP for roaming candidate
If reassoc MAC from user space is broadcast MAC as:
"wpa_cli DRIVER FASTREASSOC ff:ff:ff:ff:ff:ff 0",
user space invoked roaming candidate selection will be based on firmware
score algorithm, current connection will be kept if current AP has highest
score. It is requirement from customer which can avoid ping-pong roaming.

Change-Id: I8de3e2a26a6f346c900157aa823205f849d233f7
CRs-Fixed: 3106276
2022-01-20 15:27:11 -08:00
Yu Wang
9191958c92 qcacld-3.0: replace mac checing with correct API
Check whether the two connections are on the same mac with
policy_mgr_are_2_freq_on_same_mac().

Change-Id: I480a344386d22aa2a210b6b4663f68998d9af8b1
CRs-Fixed: 3103087
2022-01-20 12:09:47 -08:00
Amruta Kulkarni
586338bcff qcacld-3.0: MLO roaming handling
CM, PE and WMA changes for mlo roaming
- Roam start and roam sync propogation updates.
- Handling connected link bitmap.
- Link specific assoc response generation
- WMA changes to handle add/remove peer
for mlo roaming scenarios.

Change-Id: I365a26ebb761d93dadd33c9fb8248c28e9eda94b
CRs-Fixed: 3033766
2022-01-19 15:30:15 -08:00
Liangwei Dong
f01e9fec4b qcacld-3.0: Fix hw mode update failure by roam sync event
Update HW mode change tlv information to wma/policy mgr.
Losing the information will cause FW/host out of sync.

Change-Id: I1ba9931d10617664da653e85335fade1352c3600
CRs-Fixed: 3109789
2022-01-19 12:34:56 -08:00
Yu Wang
95310d4c81 qcacld-3.0: handle ML scenario for PCL setting
Handle ML scenario for PCL setting.

Change-Id: Ida632bff8709e2467649d094de4b4074ff0f15d7
CRs-Fixed: 3107517
2022-01-19 05:39:12 -08:00
Abhishek Singh
62e14cfa41 qcacld-3.0: Enhance logs in freq on same MAC APIs
Avoid printing of mac range in freq on same MAC APIs
(policy_mgr_are_2_freq_on_same_mac and
 policy_mgr_are_3_freq_on_same_mac), and rate limit
other logs to avoid flooding of same info.

Change-Id: Ia6c3b2a71f81066e55b0200c6286939e146125b0
CRs-Fixed: 3111452
2022-01-18 08:41:11 -08:00
chunquan
51509a327f qcacld-3.0: Replace blacklist/whitelist for denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist for
blacklist manager component. and replace blm with dlm.

Change-Id: I8dec146d8cb3b61dc891b72bea44704b8ab733fe
CRs-Fixed: 3087575
2022-01-14 03:50:03 -08:00
Jianmin Zhu
d79afa8020 qcacld-3.0: Fix arp offload not sent when suspend
When host resume, check arp offload status wrongly, so arp offload
disable cmd isn't sent to F/W. when next suspend comes, arp offload
enable cmd isn't sent too.

Change-Id: I06ea617df49287ee87e7b5bf8b20971b581dedf1
CRs-Fixed: 3106172
2022-01-13 19:13:12 -08:00
Yu Wang
728e81e5a4 qcacld-3.0: handle MLO scenario for roam processing
Treat MLO STA as a single entity in roam processing:
only process roam related requests on assoc vdev.

Change-Id: Ida9665771e00236c491f58dc764cc6e470dcb6df
CRs-Fixed: 3104659
2022-01-13 17:07:17 -08:00
Amruta Kulkarni
24f04ca536 qcacld-3.0: Add api's to handle MLO Roaming
- New api's added to handle mlo roaming scenarios.
- Read and store link addr from wmi.

Change-Id: I6a18802d27f72235dc69d2eedb05f3e563d1b0f4
CRs-Fixed: 2997105
2022-01-13 01:11:30 -08:00
Amruta Kulkarni
f99679197f qcacld-3.0: Enable RSO for ML connection
For MLO connection, roaming is enabled
after ML link is up.

Change-Id: Ib042a9593bef9f287b92f0b256c942f8133a7f71
CRs-Fixed: 3098637
2022-01-12 01:50:58 -08:00
Jianmin Zhu
07775e1204 qcacld-3.0: Fix memleak for roam_synch_frame_event
When wmi_roam_synch_frame_event receieved from firmware, memory is
malloced to save probe rsp/reassoc req/reassoc rsp once extract event,
when copied to vdev rso_cfg->roam_sync_frame_ind, memory is malloc again,
and original memory isn't freed, memory leak happens.

To fix it, assure memory is only malloced once to save
probe rsp/reassoc req/reassoc rsp when handle wmi_roam_synch_frame_event.

Change-Id: I6b31378bcf624547fca9fd858268252fd22f533d
CRs-Fixed: 3107576
2022-01-11 19:40:45 -08:00
Amruta Kulkarni
fd56223aff qcacld-3.0: MLO roaming RSO changes
For MLO Roaming,
- RSO offload commands will be sent
to FW only on assoc vdev.
- Add new state for link vdev, will be
used only during roam sync.
Link vdev RSO state change : DEINIT -> MLO_ROAM_SYNCH -> DEINIT.

Change-Id: Ifb89e23fc48356ec8f0bc6a045f2dd4d81038076
CRs-Fixed: 3098570
2022-01-10 17:06:47 -08:00
Abhishek Singh
c967f9d59f qcacld-3.0: Refactor if_mgr_handle_ml_sta_link_concurrency
Rename Legacy to non ML STA and MLO to ML STA in
if_mgr_handle_ml_sta_link_concurrency and related function.

Move if_mgr_get_ml_and_non_ml_sta_count to policy manager
util API. So that it can be used by other modules.

Change-Id: I61260ddf1c6008d8601efaac8d0e9e768e253499
CRs-Fixed: 3105269
2022-01-08 06:08:58 -08:00
Abhishek Singh
90fd31882d qcacld-3.0: Reject 5Ghz STA connection if SBS ML STA is connected
As in SBS ML STA, both links are on 5Ghz, reject the 5Ghz
non-ML STA connection, to avoid enabling same band roaming on
both STA.

Also do not allow the SBS ML STA, if a non-ML STA is present
on 5Ghz.

Allow it only if primary interface is set OR dual STA roaming
is disabled.

Change-Id: I20a23ed3b4d87c9acac5417a6f2d484fc80f47d6
CRs-Fixed: 3103246
2022-01-08 06:08:53 -08:00
Abhishek Singh
955f7f17ed qcacld-3.0: For SBS-SCC get low 5Ghz freq if 6ghz freq is not allowed
In force SCC logic if 6Ghz freq is not allowed on the SAP interface
get the low 5Ghz freq for SBS scenario as we have 2 5Ghz freqs present
in this case.

Change-Id: I0783e5cf2825ee4f10549826b6dd71677976e6c3
CRs-Fixed: 3103876
2022-01-05 09:02:14 -08:00
Jianmin Zhu
2e5a2db4be qcacld-3.0: sta roam failed after sap stopped
When STA+SAP concurrency,  sta roaming pcl will remove all channels of SAP
band except scc channel to avoid mcc.

When SAP stopped, STA roaming pcl isn't updated for wrong vdev id is used,
so can't roam to all channels of old SAP band except scc channel to avoid
mcc.

Change-Id: I35adb55ac155e4c84f858f16796dbec12589ab2f
CRs-Fixed: 3102601
2022-01-03 22:50:10 -08:00
Divyajyothi Goparaju
df5e68bdef qcacld-3.0: Add support to query BMISS stats from fw
Currently there is no support to read bmiss stats from fw.
With this change, add support to read bmiss stats from fw.

Change-Id: I77594d05fbcd295aff4c625ba5f4f33cbc491063
CRs-Fixed: 3097304
2022-01-03 02:19:36 -08:00
Utkarsh Bhatnagar
7af2c5d1e7 qcacld-3.0: Fix force SCC logic to consider 1 inactive link
A MLO with 1 link not active will lead to HW mode as SMM instead
of SBS, so check and see if SBS MLO is present and take
decision as per it.

Change-Id: Ide487d56d6375892b91ab615b9ad314dba2c9991
CRs-Fixed: 3102349
2021-12-30 12:36:48 -08:00
Ashish
0fcdb3b424 qcacld-3.0: Remove get disconnect stats command from serialization
Currently in SAP mode, when host driver receives disconnect for
station, first it gets disconnect stats with serialization command
and then it sends delete peer command to fw. There is an issue with
this approach, if there are maximum number of clients are connected
to a SAP and all of these clients gets disconnected at the same
time, in that case there will be a disconnect stats command and
peer delete command in serialization, because of which serialization
queue gets full.

To address this issue, remove disconnect stats command from
serialization and send this command just before sending peer
delete command once peer delete command gets serialized.

Change-Id: I2fa1a5a393939eebbce796e11348fa7c040b40e8
CRs-Fixed: 3100914
2021-12-29 05:36:16 -08:00
Abhishek Singh
af5e1cfadb qcacld-3.0: Remove Unused RSO functions
Remove Unused functions wlan_cm_abort_rso and
sme_abort_roaming.

Change-Id: I3ff40cc7d526adea5cac61522c27142f7c73bcbe
CRs-Fixed: 3101169
2021-12-28 08:46:12 -08:00