Commit gráf

38 Commit-ok

Szerző SHA1 Üzenet Dátum
Krupali Dhanvijay
7a3946c538 qcacmn: Add support to boost CPU freq during roam
To enable the tx queues faster during roam, boost the
CPU min frequencies to maximum once roam start is received,
and reset them once queues roam sync is complete or
roaming is aborted.
This change enables such support for lithium and Clarence targets.

Change-Id: I49d2f50f1c0142e7db1c981276bd08b75159b6d3
CRs-Fixed: 3487573
2023-05-18 09:37:07 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Krupali Dhanvijay
8ca91ab2bf qcacmn: Send Driver disconnect internal reason code to user space
Send the driver disconnect internal reason code as an event to user space
using QCA_NL80211_VENDOR_SUBCMD_DRIVER_DISCONNECT_REASON vendor command.

Change-Id: I0027675b809b94628b6c0c4b8e8286e38fa9f47d
CRs-Fixed: 3371398
2023-04-03 01:35:59 -07:00
Srinivas Dasari
5ec7c5416d qcacmn: Don't unlink the bss in disconnect/connect failure handler
Currently, bss is unlinked from kernel scan db in below cases,
1. Disconnect
2. Connect failure
3. AP moves to hidden SSID mode from normal mode

bss is unlinked in above 1 and 2 cases (i.e. disconnect and
connect failure) to avoid continuous connect failures when
userspace attempts connect to the same AP without issuing a
fresh scan, which may result in blacklisting the AP. But
framework/wpa_supplicant can take care of this now by making
sure that connect is attempted only if scan result is from
a fresh scan.
Unlinking the bss may lead to inconsistency in some scenarios
and found that disconnect is most common scenario. So, don't
call __wlan_cfg80211_unlink_bss_list() in case 1 and 2 to
avoid unlinking.

Change-Id: I2d3af5fcc22360a5ead0e148d623194cb815f882
CRs-Fixed: 3433127
2023-03-23 04:47:19 -07:00
Sai Pavan Akhil Remella
5d62197747 qcacmn: Send vendor attributes with the Roam stats
As part of commit I7a08635a7912cbd940d90a2d62433296740ad913
a vendor command is added to enable roam stats event.
This change registers callback to send the added vendor
command event to userspace.

Change-Id: I6dc3f8357ace5bb3fa41b4aa116652a91b9fd924
CRs-Fixed: 3427397
2023-03-14 10:37:42 -07:00
Jeff Johnson
7bc9ad4d74 qcacmn: Fix OSIF Documentation
The kernel-doc script identified some documentation issues in the
os_if folder, so fix most of them. However do not modify the file
qca_vendor.h since most of the issues there are present upstream, and
the downstream file should match the upstream file.

Change-Id: I71948fb497c1ea2d1dd46308277d99beefde18b8
CRs-Fixed: 3390428
2023-01-31 17:09:48 -08:00
Amruta Kulkarni
2cd3406a9a qcacmn: Add handling 1x roaming case
- Add osif callback api to get scan ie params
- Made few mlo manager api's public

CRs-Fixed: 3288038
Change-Id: I15a764682b8164eb1b66adeff44d7e344f2563c3
2023-01-24 09:41:08 -08:00
Amruta Kulkarni
319456fee7 qcacmn: Add callback api to send stored keys
For STA MLO connection, the AP can send M1 right after assoc
response on assoc link, which will trigger sending keys to FW
for mlo links, but it can happen that wmi_peer_assoc is not
sent for mlo link until this time.
Current code does not have handling for this case.

To solve this, store the link vdev keys and send them once
link vdev is connected.

Change-Id: I882da96280711ca9cfa4d6ba852fda4a8b6d7a77
CRs-Fixed: 3293692
2022-10-12 23:22:44 -07:00
Jeff Johnson
8aa059674f qcacmn: os_if: Fix misspellings
Fix misspellings in os_if/...

Change-Id: I15604af98007e6ed4a7bc91abc9c07dfed1276fc
CRs-Fixed: 3304690
2022-10-11 14:23:11 -07:00
Aravind Kishore Sukla
d7c3414ca0 qcacmn: Add back port flag for multi AKM connect support
Add logic to set back port flag based on Linux kernel version
for multi AKM connect support.

Change-Id: Ia2365afc678edf025f63d4d3c0fc963c97193eb8
CRs-Fixed: 3246135
2022-07-27 07:22:47 -07:00
abhinav kumar
edd1669c23 qcacmn: Handle vendor control command and event
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID: Add support
for a new roam command to get vendor control parameters
from FW. Host needs to send proper param ID in command
(from enum WMI_ROAM_GET_VENDOR_CONTROL_PARAM_ID)
to get corresponding INI value from FW.

WMI_ROAM_GET_VENDOR_CONTROL_PARAM_EVENTID:
Add support for a new roam event to get param value
from FW. FW sends this event upon receiving
WMI_ROAM_GET_VENDOR_CONTROL_PARAM_CMDID command.

Change-Id: Ic7b3badb14daff183dd36927b4dae6bbc036e6cd
CRs-Fixed: 3225166
2022-06-25 01:08:55 -07:00
Surya Prakash Sivaraj
2fa9e5cab5 qcacmn: Add support for max 5 number of AKMs in connect req
Currently, host supports max 2 number of AKMs in connect req.

Add support for max 5 number of AKMs in connect req from
userspace.

Change-Id: I889124257c374092128e92f0f1eca1e1d0711f49
CRs-Fixed: 3151412
2022-03-29 14:12:07 -07:00
Bapiraju Alla
76caeb9b44 qcacmn: Use target if component for VDEV manager response path
Currently, VDEV manager responses are using legacy path instead of
target_if, vdev_mgr and os_if components. As the driver implementation
is planned for converged model, legacy implementation will be moved to
the respective components.

To avoid rework, Use target_if, vdev_mgr and os_if components to process
the FW responses corresponding to the vdev manager.

Change-Id: I778f6de93481fc730383e8f8e1c604f173947d69
CRs-Fixed: 3093776
2021-12-23 00:54:35 -08:00
Bapiraju Alla
055acf7a87 qcacmn: Notify partner links info in connect response to the supplicant
Fill ML partners info in connect response structure of the connect
notification to the supplicant.

Change-Id: I3b972254138d0f00ef63f2b4d336d142e6d5e2ae
CRs-Fixed: 3036325
2021-11-03 11:31:38 -07:00
Abhishek Singh
04a8eb2045 qcacmn: Code cleanup for connection manager Macro
Code cleanup for connection manager Macro.

Change-Id: I1526187e5efc6f4e38265d617c0342b4c1ea1228
CRs-Fixed: 2978727
2021-06-29 01:33:15 -07:00
Huashan Qu
3493643d20 qcacmn: Add host roam preauth handling code for connection manager
Add host roam preauth handling code for connection manager

Change-Id: Ie2ee72bb33fe5706349d1eb13208a0cfcd15aacf
CRs-Fixed: 2954506
2021-05-28 01:47:08 -07:00
Amruta Kulkarni
5c1ca03ebe qcacmn: Support roam sync ind in CM
Add support for roam sync indication in
connection manager.

Change-Id: I750403aa0dfa6c615f9bca832898c63af608d28d
CRs-Fixed: 2901863
2021-03-24 09:48:18 -07:00
Amruta Kulkarni
64b096fde9 qcacmn: Support roam start and roam abort request in CM
Add support for roam start and roam abort request
in connection manager.

CRs-Fixed: 2882233
Change-Id: I5780e7f22363ee6014d39b0df9cb068b4afdd71c
2021-03-05 10:10:04 -08:00
Ashish Kumar Dhanotiya
ad9b0c99d0 qcacmn: Replace wlan_cm_roam_resp struct with wlan_cm_connect_resp
Structure wlan_cm_roam_resp and wlan_cm_connect_resp are identical
structures and in current code these structures are used for connect
and reassoc functionalities with different functions as these are
identical structures and only one structure can be used to reduce
the duplication of the code.

To address this code duplication issue replace wlan_cm_roam_resp
structure with wlan_cm_connect_resp.

Change-Id: I90949c25f46acd2fa78cebb70c9a04f0718b90c4
CRs-Fixed: 2875232
2021-03-04 06:37:09 -08:00
gaurank kathpalia
bd8eeecda6 qcacmn: Add missing params for the fils connection
Add missing params for the fils connection.

Change-Id: I7442670c30d7ddee201c2bc328372513302f971d
CRs-Fixed: 2857905
2021-01-21 17:04:45 -08:00
Santosh Anbu
45a300ce7b qcacmn: Support roaming request to connection manager
Add change to support roaming request to connection manager.

Change-Id: I7f580e042522a245fc6a263d0e8f8b32b2f693f7
CRs-Fixed: 2845076
2021-01-11 01:52:47 -08:00
Abhishek Ambure
4fb0c8fccb qcacmn: Add support to save gtk and set hlp data
Host add support to save gtk and set hlp data from fils ie of connect
response.

Change-Id: I5e6b9882359697f09a0935a9c07f3427dbe04cc2
CRs-Fixed: 2849123
2021-01-07 23:29:05 -08:00
Abhishek Singh
1853c161d2 qcacmn: Add logic to ignore 6Ghz AP if security is not valid
Add logic to
- Check if connect req freq is 6Ghz and security
  is not allowed for 6Ghz, reject connect.
- Ignore 6Ghz APs if connect req security is invalid
  for 6Ghz

Also added user config key_mgmt_mask_6ghz mask
to allow specific AKMs, by default all are allowed.

Add added user config check_6Ghz_security to enable
security checks as per spec.

Change-Id: I37518731faa4de67a49853e5ac544efa3b3ce1d6
CRs-Fixed: 2813013
2020-11-12 03:28:37 -08:00
Ashish Kumar Dhanotiya
3faf318e8c qcacmn: Add a check for vdev with bssid mac
There is a possibility that driver already has a vdev
with the mac address same as bssid, in this case sta
should not connect to this AP as it may lead to undefined
behavior.

To address above issue add a check to compare bssid with
already existing vdevs before connect start.

Along with above changes add few renaming changes also.

Change-Id: Ia12be0b392a01bf935b5261e505290064de68805
CRs-Fixed: 2809147
2020-11-04 17:02:00 -08:00
Abhishek Ambure
58c169c64c qcacmn: Add proprietary status codes for disconnection
Host adds internal status code in enum wlan_status_code.

Change-Id: I17cdcee9f0df1e34cc13425a4f06985a418d5a8a
CRs-Fixed: 2799197
2020-10-28 15:33:28 -07:00
Abhishek Singh
7fd4d073bc qcacmn: Unlink BSS on connect timeout and peer/southbound disconnect
Unlink BSS on connect timeouts like AUTH/JOIN/ASSOC timeout and
in case of no candidate found. This is to avoid reconnect without
a scan.

Also remove entry if diconnect from peer or south bound disconnect
due to heartbeat failure, sta kickout etc.

Change-Id: Ie78c7e764e8c009a5d19ed5dda9c6b9bbf75196f
CRs-Fixed: 2798188
2020-10-23 10:03:21 -07:00
Ashish Kumar Dhanotiya
88efb959a6 qcacmn: Initialize osif and legacy callbacks for connection manager
Initialize osif callbacks to connection manager and add
legacy callbacks to osif and initialize these legacy callbacks
for connection manager.

Change-Id: Ic3e8bd6f55b6cdbbc8cdd5c9c3a6631e8d3bd83e
CRs-Fixed: 2797472
2020-10-21 07:20:51 -07:00
Abhishek Singh
2e046c6e96 qcacmn: Add params in connect req to pass non converged params
Add connect params in osif connect request to pass scan IE and other
params from legacy to be used in connect request.

Change-Id: I83721023362ff2405727316f090671468200b362
CRs-Fixed: 2793280
2020-10-14 01:17:12 -07:00
Abhishek Singh
9d01a66a5e qcacmn: Add disconnect sync API to wait for disconnect to complete
Add sync API for disconnect to wait for disconnect to complete.
This can be used during vdev delete sequence to move the vdev and
connection manager SM to init state before VDEV is marked logically
deleted.

Change-Id: Id562e444cf1995d800b8268f906f811f143d0fc9
CRs-Fixed: 2790885
2020-10-07 12:48:56 -07:00
Ashish Kumar Dhanotiya
6bac5aefe2 qcacmn: Resolve compilation errors
Change Ic166c112189ef79a84f61d16e7e04a6334c61178 renames
few files for osif in connection manager, but does not
take care of the compilation issue after rename of the files.

Add a change to take care of the compilation errors in
connection manager module.

Change-Id: Icecb3f7aa625a65b835c15890fc019917e2b9446
CRs-Fixed: 2786828
2020-10-01 21:20:53 -07:00
Ashish Kumar Dhanotiya
05d0f49abd qcacmn: Rename osif files and functions for connection manager
The naming of the osif files and functions is not correct as
these files and functions include wlan_cfg80211 as prefix
instead of osif.
Correct file name and function name should contain the component
name first, followed by feature name followed by method.

Change-Id: Ic166c112189ef79a84f61d16e7e04a6334c61178
CRs-Fixed: 2780298
2020-09-21 12:22:43 -07:00
Abhishek Singh
e1fb6b17d4 qcacmn: Add reason code enum and prints in connect and disconnect
Add reason code enum and prints in connect and disconnect handlers,
also take care of the vendor reason code during disconnect resp.

Change-Id: I1298e0739bd08d7d43fcb3839a07459819207196
CRs-Fixed: 2778233
2020-09-20 21:53:39 -07:00
Abhishek Singh
b494f209e8 qcacmn: Fix connection manager osif context initialization
Rename connection manager osif context and move the init and deinit
to osif from umac.

Change-Id: Id320e1b0e9bf53f1a2aa4a5bc536d6dec7f63bf2
CRs-Fixed: 2779890
2020-09-18 15:17:19 -07:00
Ashish Kumar Dhanotiya
76c1c5f124 qcacmn: Handle connect response in osif for connection manager
Add connection manager connect response handler in osif to
handle and send the connect response to kernel.

Change-Id: If675055cb2133e64b4b32a47271b12a59eac4a66
CRs-Fixed: 2765977
2020-09-15 02:46:07 -07:00
Ashish Kumar Dhanotiya
45a6ac131e qcacmn: Handle disconnect ind to kernel for connection manager
Add support in connection manager for disconnect done indication
to kernel.

Change-Id: Ia4e767a95403de04268ed8c5e424974788c90b17
CRs-Fixed: 2765978
2020-09-11 23:39:42 -07:00
Ashish Kumar Dhanotiya
4fd0241eff qcacmn: Add os_if callbacks for connection manager
Add support for osif callbacks for connection manager.

Change-Id: Ibe86c94ac86e17f7ac42ad4c62426225f32c382e
CRs-Fixed: 2758023
2020-09-01 05:37:28 -07:00
Ashish Kumar Dhanotiya
64476bcd6c qcacmn: Add connect infra for connection manager
Add connect functions to convert kernel specific connect
request to connection manager specific connection request
for connection manager infrastructure.

Along with the above functions, add the file structure for
connect, disconnect and roam functions for connection
manager infrastructure.

Change-Id: Id4e389d06cea6e39327faef0c119275741574785
CRs-Fixed: 2739318
2020-08-05 13:25:30 -07:00
Akshay Kosigi
1726ae21c5 qcacmn: Add API to update cmn vdev mlme structures
Add API to update cmn vdev mlme structures,
with the addition of new members to the new mlme
vdev structure,new api's are required to update
those members which will be subsequently used the
new mlme target if layer to send commands to the firmware

Change-Id: I9618613c0ad00f78003cd32951b30b631934ba71
2019-02-24 20:04:41 -08:00