Commit Graph

2167 Commits

Author SHA1 Message Date
Sachin Ahuja
cce8f3a127 qcacld-3.0: Advertize the STA+STA based on service caps
Currently driver advertizes the STA+STA feature in the
get supported feature without checking the FW support.

Advertize this feature only when FW supports it.

CRs-Fixed: 3123324
Change-Id: Icd6a9d2ce93eeeca8962d2c8765930986431d71f
2022-02-20 08:32:24 -08:00
Pragaspathi Thilagaraj
2a2b1d00c1 qcacld-3.0: Fix logging level for prints during roaming
Change the logging level of prints that occur during roaming
happens.

Change-Id: I54706d93a30441e48a0e3cb03d7373d2e5b50fee
CRs-Fixed: 3133890
2022-02-20 02:49:00 -08:00
Liangwei Dong
baf5200060 qcacld-3.0: Fix out of bounds access in wmi_extract_pdev_hw_mode_trans_ind
Add tlv array number check for vdev_mac mapping elements in roam
and roam sync event to fix potential out of bounds access of memory.

Change-Id: Iad3951bab65153a67d1b76aa745a831d0fd2cb45
CRs-Fixed: 3132366
2022-02-19 18:37:31 -08:00
Srinivas Dasari
db3c1a98e5 qcacld-3.0: Wait for RSO stop response from firmware
Firmware doesn't expect any vdev commands from host while RSO stop
is happening. It sends a response to the RSO_STOP command once
it's done with cleanup. Host needs to run a timer after sending
RSO stop command to firmware and wait for a maximum of 6 seconds
for the response. Host can stop the timer and allow the commands
to firmware in the below cases,
1. RSO_STOP response with success status
2. RSO_STOP response with HO_FAIL status followed by
   HO_FAIL event: Host needs to wait till HO_FAIL event is received

If firmware doesn't send any response in the 6 seconds wait, issue
a recovery to help to check the firmware state.

Also, set WMI_ROAM_SCAN_MODE_FLAG_REPORT_STATUS always when MLO is
supported while sending RSO_STOP to firmware. It's sent only
in case of wpa_supplicant disabled roaming currently.

Change-Id: I8182e60beb9288dba23cc72e978dc781c8ab1707
CRs-Fixed: 3106023
2022-02-18 23:21:06 -08:00
Nirav Shah
e398b7e48d qcacld-3.0: Rename moderate latency level to XR latency level
Currently moderate latency level is not used. Rename moderate
latency level to XR latency level to be used in XR applications.

Change-Id: Ia7f65c3565f6704b9571161aabefb3a8b47cce1e
CRs-Fixed: 3116839
2022-02-17 15:42:08 -08:00
Balaji Pothunoori
8fbe1e4593 qcacld-3.0: Add ini support to disable regulatory channels
Currently regulatory channels are disabled for
QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT vendor command
event if ini coex_unsafe_chan_nb_user_prefer is not set and if
STA operates on disabled channels which results in crash for
STA interface in STA + SAP SCC case.

Hence coex_unsafe_chan_reg_disable ini is controlled based
on coex_unsafe_chan_nb_user_prefer.

Ini behavior summary:

|----------------|----------------------|-------------|--------------------------------|
|User prefer ini | Reg chan disable ini |   PLs       |  Expectation		       |
|	         |			| 	      |				       |
|----------------|----------------------|-------------|--------------------------------|
|   1	         |	  1	        |   LE        | accept freq ext command and    |
|                |                      |             |  disable the regulatory channel|
|----------------|----------------------|-------------|--------------------------------|
|   0            | 	  0	        | Non-Pixel SP| reject freq ext cmd driver and |
|                |                      |             | returns NOT SUPP               |
|----------------|----------------------|-------------|--------------------------------|
|   1		 |	  0             |  Pixel SP   |  accept freq ext command and   |
|                |                      |             |  Don't disable the reg channels|
|----------------|----------------------|-------------|--------------------------------|

Change-Id: Ia3acbc133cab4865d8ad69992e893be91439f856
CRs-Fixed: 3128908
2022-02-17 05:03:07 -08:00
Bing Sun
2950f903c9 qcacld-3.0: Do not send force inactivity if partner links are in quiet
If all the partner links are in quiet status, do not send force inactivity
on the link.

Change-Id: Icf5356f9d05e871dcf602e2382a1d150dd057aed
CRs-Fixed: 3101961
2022-02-11 04:13:12 -08:00
Amruta Kulkarni
921ba7c9f4 qcacld-3.0: Handling for RSO STOP with MLO
During mlo disconnect link vdev disconnect is processed
before assoc vdev.FW expects RSO stop before vdev stop/down
on any vdev.Changes made to handle sending RSO stop on assoc
vdev during disconnect.

Change-Id: I727cedffa4a11f991fd38aa8253c2176271f7b89
CRs-Fixed: 3126419
2022-02-11 02:57:15 -08:00
Bing Sun
26e00031d5 qcacld-3.0: Handle CSA in MLO sta partner link before it is up
Before MLO sta partner link is up, FW can't indicate CSA event to host.
For this case, host need save csa parameters and process it when MLO
sta partner link is up.

Change-Id: I543c5e1069af5b1e88c6619364a7a44330134d2c
CRs-Fixed: 3082437
2022-02-11 02:57:10 -08:00
Srinivas Girigowda
7ea8a92863 qcacld-3.0: Add support for TWT Get_traffic_stats
Add support for TWT Get_traffic_stats command in TWT component.

Change-Id: I927ce90e1dd6b5cc047d99fcd7b54a16a34ca4ed
CRs-Fixed: 3085887
2022-02-11 00:23:23 -08:00
Srinivas Girigowda
22c05ef081 qcacld-3.0: Add support for TWT get_status
In TWT component, add support for TWT get_status command
i.e when host wants to query current status of TWT sessions.

Change-Id: Ib43009e5f6a90c589db25f78e1ca43563f2950fe
CRs-Fixed: 3085483
2022-02-11 00:23:14 -08:00
Srinivas Girigowda
8d529074a0 qcacld-3.0: Add TWT nudge support to componentization
In TWT component, add support for TWT nudge command
i.e when host wants to suspend the TWT session.

Change-Id: I176fdaf0f2ccc2d0656f9108484fc80b409268ef
CRs-Fixed: 3085999
2022-02-11 00:23:05 -08:00
Srinivas Girigowda
82b323d139 qcacld-3.0: Add TWT resume support to componentization
Add TWT resume support to componentization.

Change-Id: I3e6d81591e9a7739050445e4a67d81626febf68f
CRs-Fixed: 3085995
2022-02-11 00:22:55 -08:00
Srinivas Girigowda
0142156257 qcacld-3.0: Add TWT pause support to componentization
In TWT component, add support for TWT pause command
i.e when host wants to suspend the TWT session.

Change-Id: I8a60bb40fe9d37121d700f246b91e3211af66189
CRs-Fixed: 3085990
2022-02-11 00:22:45 -08:00
Srinivas Girigowda
d7e3efed33 qcacld-3.0: Add support for get twt capabilities
Add support for get twt capabilities.

Change-Id: I5ac2ac597b92fd683afe97604b4e7dcda518ec39
CRs-Fixed: 3085572
2022-02-11 00:22:35 -08:00
Srinivas Girigowda
297fb98ed9 qcacld-3.0: Add SAP twt teardown support to componentization
Add SAP twt teardown support to componentization.
i.e to terminate the TWT session.

Change-Id: Idc12c564f3fb078aee4ff11831008d06876047e6
CRs-Fixed: 3085562
2022-02-11 00:22:27 -08:00
Srinivas Girigowda
b4132f35eb qcacld-3.0: Add support for TWT concurrency
Add support for TWT concurrency.

Change-Id: I859c5764a6828e60554978104fd747ec5ac2a058
CRs-Fixed: 3085555
2022-02-11 00:22:12 -08:00
Srinivas Girigowda
96132d1c52 qcacld-3.0: Add TWT notify support to componentization
Add TWT notify support to componentization.

Change-Id: I44afb4a0d045916e9ca0f29924330de3a5d95859
CRs-Fixed: 3085549
2022-02-11 00:22:05 -08:00
Srinivas Girigowda
fa14a0ad6b qcacld-3.0: Add TWT sta teardown support to componentization
Add TWT sta teardown support to componentization.

Change-Id: I5a0f05105aad1aa92257af47f50913ae1e61730a
CRs-Fixed: 3085543
2022-02-11 00:21:58 -08:00
Srinivas Girigowda
5fd6f2b7d8 qcacld-3.0: Add TWT setup support to componentization
Add TWT setup support to TWT componentization
i.e to setup TWT session.

Change-Id: Ic79be278b264634d1d54759950167547d0daf1ef
CRs-Fixed: 3085483
2022-02-11 00:21:51 -08:00
Srinivas Girigowda
a76b7145d5 qcacld-3.0: TWT WMI callback registration/deregistration
Add TWT WMI event registration and deregistration

Change-Id: Ib6cadfe05ba38f3ca33fb9f128c40698d6a969c0
CRs-Fixed: 3085525
2022-02-11 00:21:44 -08:00
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