Commit Graph

776 Commits

Author SHA1 Message Date
Chunquan Luo
fe2d300175 qcacmn: Add QCA vendor interface to support per-MLO link configurations
Add support for per-MLO link configurations in
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.

Additionally, add documentation for
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and
QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION commands.

Change-Id: Id83912079b3a4876891ac48beb069b17d4b8ebbf
CRs-Fixed: 3540412
2023-07-04 19:15:28 -07:00
Chunquan Luo
0b81d02fd1 qcacmn: QCA vendor interface to control maximum allowed bandwidth update type
Add support to control maximum allowed bandwidth update type for
the current connection.

Change-Id: I27880a5a969adf46861a58907d1e9e8ec35f9053
CRs-Fixed: 3540098
2023-07-04 19:15:18 -07:00
Amruta Kulkarni
82d71c7059 qcacmn: Send Link reconfig event on assoc vdev
Host driver is currently indicating link reconfig
event on link vdev.

Change is to indicate link reconfig on the primary vdev
affiliated with wlan0.

Change-Id: I9955d98bcd52554adf22f838bfbd2263418432d1
CRs-Fixed: 3535940
2023-06-30 20:28:45 -07:00
Paul Zhang
b92d8a9d10 qcacmn: Add vendor attributes for EPCS feature
Add vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_EPCS_CAPABILITY
to set EPCS (Emergency Preparedness Communications Service)
feature capability.

Add vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_EPCS_FUNCTION
to enable/disable EPCS priority access.

These are for testing purposes.

Change-Id: I4b8c186777763eac31f38de5bcbfc8a71a9a87d9
CRs-Fixed: 3511139
2023-06-30 04:26:46 -07:00
Krupali Dhanvijay
e60150599d qcacmn: Add support to reset CPU freq in HO failure
CPU min frequency is boosted to maximum once roam start is received

Add support to reset CPU frequency in case of HO failure.

Change-Id: I137f78e3a307be136bcc27760be3d91cb6c1868b
CRs-Fixed: 3522954
2023-06-26 03:21:53 -07:00
Ashish Kumar Dhanotiya
8dad36c476 qcacmn: Add feature capability support for ll_lt_sap
Currently there is no feature capability support for ll_lt_sap
and host driver and user space assumes that support for ll_lt_sap
is always present which not always true.
This may result in unexpected behavior if firmware does not
support ll_lt_sap.
To address this issue, add a feature capability to indicate
to userspace if host driver and firmware supports ll_lt_sap.

Change-Id: I4a2cc4fdb3d48469a5b1a4be32a4e760543b16cb
CRs-Fixed: 3520969
2023-06-16 15:03:23 -07:00
Chaoli Zhou
4b0fb803fb qcacmn: Correct log level for spectral scan
Change log level from error to debug since
it is non-critical case if spectral scan
disabled and do not need to setup  netlink
socket.

Change-Id: Ib0eb61ddeea73ee23c9dd2874494a0334b177fcd
CRs-Fixed: 3527726
2023-06-14 22:02:44 -07:00
Aditya Kodukula
58e80d75bd qcacmn: Fix typographical errors
Fix typographical errors spanned over various files in cmn.

Change-Id: I9fcf3b7f9bb7d7dd406e6576a60aa4eb783c9ceb
CRs-Fixed: 3529628
2023-06-14 22:02:33 -07:00
Kiran Kumar Lokere
3975e97067 qcacmn: Define a QCA vendor command to configure MLO link id for TDLS
Define a QCA vendor command to configure MLO link id to the driver on
which the TDLS discovery response frame needs to be transmitted when the
local station is connected in MLO mode. This command is configured to
the driver the prior to every TDLS discover frame transmission when the
station is connected in MLO mode. If the station is connected in non-MLO
mode this command is not configured to the driver for TDLS discovery
frame transmission.

Change-Id: I5815a604d44549cd650744e3fd8c8ca79a076dbc
CRs-Fixed: 3523774
2023-06-10 09:53:44 -07:00
Aravind Kishore Sukla
420e36b5fa qcacmn: Add QCA vendor command to notify TID-to-Link mapping
Add a new vendor command and attributes to notify TID-to-link
mapping changes to the userspace.

Change-Id: I9210103807f89f31ddf99965098a78bb4a798665
CRs-Fixed: 3516368
2023-06-09 05:21:34 -07:00
Aditya Kodukula
4cbabdad1c qcacmn: Fix typos in cmn
Fix typos spanned over multiple files in cmn.

Change-Id: I9886114cd9cde934e084d0977e6272f8dd04df76
CRs-Fixed: 3521888
2023-06-07 13:58:38 -07:00
Will Huang
ebc483b28a qcacmn: Add AFC OSIF common changes
Add AFC common North Bound vendor command handlers and common AFC
PSOC/PDEV register functions.

Change-Id: Id87c3c4878362a48546d39e10230d60c2c573154
CRs-Fixed: 3375632
2023-06-07 04:31:19 -07:00
Liangwei Dong
6f9b6db8f8 qcacmn: Add northbound notification for link reconfig
When link removal TBTT expires, indicate the link removal
info to upper layer by vendor event.

Change-Id: Idf882cb22ccbd1c8b4ad6f03c6d27980cdbaef50
CRs-Fixed: 3481313
2023-06-02 16:49:42 -07:00
Liangwei Dong
94cb877e2a qcacmn: Add QCA vendor command to indicate STA MLD setup links removal
Add a new vendor command and attributes to indicate STA MLD setup links
removal.

Change-Id: If5dca34fa533fa76a8a1e8af456e3c893affbba0
CRs-Fixed: 3510765
2023-06-01 05:14:52 -07:00
Gururaj Pandurangi
d05a09b4e5 qcacmn: Add vendor attributes for forcing MLO power save and STR TX
Add vendor attributes for EHT testbed STA configuration.
This includes enabling STR MLMR mode and forcing power save
on active MLO links for a defined number of beacon periods.

Change-Id: Ie1808319c9e05901a996d122cc5afeb45bc07ce5
CRs-Fixed: 3497681
2023-06-01 05:14:39 -07:00
Gururaj Pandurangi
6ef577c4fb qcacmn: Add vendor attributes for EHT OM control, EMLSR padding delay
Add vendor attributes related to MLO and EMLSR mode
capability configuration for EHT testbed STA. It includes
EHT OM control support and EMLSR padding delay configuration.
Also, generalise the naming of HE OMI control enumeration to
OMI control as it now consists of both HE and EHT OMI control
fields.

Change-Id: I31f4935d59356f67a8ca0f065001325bafb3474a
CRs-Fixed: 3497673
2023-06-01 05:14:20 -07:00
Gururaj Pandurangi
07dfe8e18b qcacmn: Add vendor attributes for MLO link active, EMLSR entry/exit
Add vendor attributes related to MLO and EMLSR mode capability
configuration for EHT DUT. This includes forcing active MLO links
and invoking EMLSR mode entry or exit.

Change-Id: Icaf4dda1a614be5fe56966b0f2f2862ac6d62fb4
CRs-Fixed: 3497684
2023-05-27 17:34:13 -07:00
Pooventhiran G
74bcf45dff qcacmn: Update cfg80211_ch_switch_notify() to latest msm-5.15
In the latest msm-5.15 kernel, cfg80211_ch_switch_notify() expects
a new argument, puncture bitmap. Hence, enable the appropriate API
call definition to match the number of arguments.

CRs-Fixed: 3505931
Change-Id: I2a043ddf4e9de111158160910228b00f850a5f52
2023-05-25 22:07:58 -07:00
Vinod Kumar Pirla
f999b39075 qcacmn: Define driver backport flags for eht cap in kernel
Define new driver internal flag which determines the kernel
support for eht flags in station_parameters structure.

Change-Id: If5518f97912edbd74cb6b38c832641a7999c974e
CRs-Fixed: 3484143
2023-05-25 01:35:55 -07:00
Arun Kumar Khandavalli
c8b6296d6b qcacmn: indicate Upstream Kernel supports ML connection on SAP
Define backport to indicate kernel support for ML connection on SAP

Change-Id: Id8e2f4942dd133c3c62d77b6775ffc6abae1a219
CRs-Fixed: 3497910
2023-05-21 04:05:06 -07:00
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
Rahul Gusain
a87ba5b55a qcacmn: Add support for kernel feature flag
Add support for secure NAN and auth/deauth random TA feature by
enable compilation flag "WLAN_EXT_FEATURE_SECURE_NAN" and
"WLAN_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA"

Change-Id: I23788c3f48a61d8dc293b1049aa027a725386f6a
CRs-Fixed: 3493515
2023-05-16 09:16:07 -07:00
Himanshu Batra
23918826de qcacmn: Correct BSSID in case of correct resp failure
Correct BSSID in case of correct resp failure

Change-Id: I515d22c8e2432915e862c2e484185794c782e94c
CRs-Fixed: 3479029
2023-05-15 10:06:27 -07:00
Aditya Kodukula
d943abd732 qcacmn: Add support to fetch link layer stats per MLO link
IEEE 802.11be enables multiple links between STA and AP. Each of the
link has its own set of statistics. Add additional attributes required
to fetch link layer statistics per MLO link.

For MLO connection, per MLO link statistics will be sent with the new
attribute QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK. Also, cumulative
statistics of all the MLO links will be sent outside
QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK to be compatible with legacy user
space.

For non-MLO connection, the statistics will be sent without being nested
inside QCA_WLAN_VENDOR_ATTR_LL_STATS_MLO_LINK attribute.

Change-Id: I2abe31ad754e59c101ff79dd3ae956bc93880a33
CRs-Fixed: 3488156
2023-05-14 05:07:18 -07:00
Aditya Kodukula
337b5b6195 qcacmn: Update QCA LL_STATS vendor command
Define bitmap values used by LL_STATS vendor command
and update the corresponding kernel documentation.

Change-Id: I70c86926a19907a2a1053bccbd7b316b198e1fb8
CRs-Fixed: 3488125
2023-05-13 07:19:23 -07:00
Aditya Kodukula
01e2992149 qcacmn: Fix differences in downstream LL_STATS vendor command
Currently the vendor attributes qca_wlan_vendor_attr_ll_stats_set,
qca_wlan_vendor_attr_ll_stats_clr, qca_wlan_vendor_attr_ll_stats_get and
qca_wlan_vendor_attr_ll_stats_results for LL_STATS vendor command
are not in sync with the upstream code.

So, fix the differences and match downstream code for LL_STATS vendor
command with upstream code.

Change-Id: I373470e1217f7da82bb25b40e07ed96d1b1a1d6c
CRs-Fixed: 3489509
2023-05-13 07:19:13 -07:00
Chunquan Luo
ddf72f1453 qcacmn: Add a vendor specific roam status of background scan abort
When user space triggers a scan, the firmware aborts background scan,
and uses the roam status QCA_ROAM_FAIL_REASON_CURR_AP_STILL_OK instead
of "Invalid roam failures reason".

Change-Id: I8a6ed222342398d21d87e7d31956426f3c99cba0
CRs-Fixed: 3481633
2023-05-09 19:27:30 -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
Sheenam Monga
0b7c96cd92 qcacmn: Add QCA vendor attribute to configure list of allowed frequencies for AP
Define a new attribute QCA_WLAN_VENDOR_ATTR_CONFIG_AP_ALLOWED_FREQ_LIST
to configure the full list of allowed frequencies for the AP operation.
The configuration is valid only from the next BSS start until the BSS is
stopped. The drivers shall filter out channels on top of this list of
channels based on regulatory or other constraints. This can be used to
specify user's choice of frequencies, allowed list of channels with
static puncturing feature, etc.

Change-Id: Ib74acf2df17d8eb0fb65febc3b3cf54c39de6fc4
CRs-Fixed: 3453682
2023-04-26 11:25:47 -07:00
Sheenam Monga
67bb05a73a qcacmn: Add QCA vendor feature flag for allowed frequency list
Add a vendor feature flag for the driver to indicate support
for allowed frequency configuration in AP mode.

Change-Id: I5c4483b229fa68c89a80272ec1ae3f5a95452f6d
CRs-Fixed: 3454926
2023-04-26 11:25:36 -07:00
D Harilakshmi
78a68a55e4 Revert "qcacmn: Add a vendor specific roam status of background scan abort"
This reverts Change-Id: If25d725f610125039a3218ec741cff233c3cb8ef

Change-Id: I8a85d327b480b4bc8f83b1d0eb130000b493a011
CRs-Fixed: 3473404
2023-04-25 12:06:33 -07:00
Linux Build Service Account
44974f5720 Merge "qcacmn: Add a vendor specific roam status of background scan abort" 2023-04-21 09:15:33 -07:00
chunquan luo
f30b9994d9 qcacmn: Add a vendor specific roam status of background scan abort
When user space triggers a scan, the firmware aborts background scan,
and uses the roam status QCA_ROAM_FAIL_REASON_CURR_AP_STILL_OK instead
of "Invalid roam failures reason".

Change-Id: If25d725f610125039a3218ec741cff233c3cb8ef
CRs-Fixed: 3473404
2023-04-20 02:13:48 -07:00
Abhishek Singh
b51c893b65 qcacmn: Optimize connect/roam and disconnect complete logs
Optimize connect/roam and disconnect complete logs.

Change-Id: I9e0af49ce27c245b6e88befbe113a472b3b455f9
CRs-Fixed: 3470874
2023-04-20 00:15:39 -07:00
abhinav kumar
520730494b qcacmn: Add QCA vendor interface to get connected channels utilization
Add a new vendor command to trigger computation of connected channel
statistics such as channel utilization in STA mode.

Change-Id: I868a85bbbee9f9b050636789c3d7217b71164852
CRs-Fixed: 3460890
2023-04-19 22:12:35 -07:00
Deeksha Gupta
f2a2315e31 qcacmn: Introduce new macro to support get TID to link map info
Introduce new macro to support get TID to link map status command
and TID to link response event.

Change-Id: I2f8fc03c306eae7f11d77253ce0ec565c9df2d71
CRs-Fixed: 3431459
2023-04-14 10:13:35 -07:00
Srinivas Girigowda
82089b850a qcacmn: Add QCA vendor command to get the monitor mode status
Add a new vendor command QCA_NL80211_VENDOR_SUBCMD_GET_MONITOR_MODE to
get the local packet capture status in the monitor mode. Add required
attributes to respond with status of the monitor mode. The monitor mode
can be started/configured by using the
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE subcommand.

Change-Id: I72edd46f85b545d7aecb3c704441e810db9ca711
CRs-Fixed: 3415711
2023-04-14 08:23:58 -07:00
Nidhi Jain
1192e50c58 qcacmn: Set 11az TBR Responder related feature capabilities
The 11az Trigger Based Ranging for responder related feature
capability is not set currently.
Add 11az TBR responder capabilities.

Change-Id: I0bd9a88231dfc7200895001d109aecdaef4aed59
CRs-Fixed: 3436972
2023-04-06 15:03:26 -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
Aasir Rasheed
8aa9879aa0 qcacmn: Add QCA vendor commands to set and get MLO links state information
Add a new vendor command and attributes to control and fetch the state
information of the MLO links affiliated with a specific interface.

This will enable user space to dynamically control the MLO links states
based on the latency, throughput and power save requirements.

Change-Id: I1ef710a6f3a1f8723bb3d1c564c0c803bfa0b587
CRs-Fixed: 3416250
2023-04-01 09:14:47 -07:00
Uraj Sasan
ab8cf64ef0 qcacmn: Connect if pri_umac & assoc link are same
Some devices in WDS station mode have limitation when connected
in 3 LINK MLD association where the Primary umac selected and assoc
link should be same. Make sure to have a sanity check before
going for association in such cases.

If the primary umac and assoc links are set to be different then
the connection will be rejected.

Change-Id: If56461a140d4685ba279b1babe04709d919d1650
CRs-Fixed: 3443733
2023-03-30 23:15:34 -07:00
Surya Prakash Sivaraj
88804f2cfc qcacmn: Add support for AKM25
Add support for FT-SAE-EXT-KEY AKM.

Change-Id: I832b414b31d42113eec6d099ba4c62e76dfe6cb1
CRs-Fixed: 3406626
2023-03-27 11:21:18 -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
Jianmin Zhu
3e280f1e48 qcacmn: Update puncture bitmap to upper layer
Update puncture bitmap along with channel to upper layer when channel
or puncture bitmap changed.

Change-Id: I68ff46fdf0143919a64a523d79f34d5454bb465b
CRs-Fixed: 3436333
2023-03-20 09:58:16 -07:00
Jingxiang Ge
4333d62894 qcacmn: add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL
Add QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NF_CAL_VAL attribute
for noise floor calibration value.

Change-Id: Ie20ce40c0b925fd95cdcb127877e32a0b28b1fc2
CRs-Fixed: 3427750
2023-03-15 11:20:35 -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
0eda2812d9 qcacmn: Add wlan_cfg80211_nla_put_u64_64bit()
OSIF currently defines function wlan_cfg80211_nla_put_u64() which
provides an interface to the Linux Kernel's nla_put_u64()
functionality. This wrapper handles the fact that the underlying API
has a different name and signature depending upon kernel version.
However, this function has a limitation, namely that if it has to pad
the skb, it will use a netlink pad attribute that may not be defined
in the same enum as the u64 attribute. This can lead to attribute
parsing issues by the recipient.

To avoid this problem, introduce wlan_cfg80211_nla_put_u64_64bit(),
which allows the caller to provide the pad attribute id. This will
ensure that the u64 attribute and the pad attribute are from the same
enum, and hence should prevent nla_parse() issues.

Change-Id: I9e4183fa088248abfdda435b9d5e159400521969
CRs-Fixed: 3414639
2023-03-02 16:28:52 -08:00
Deeksha Gupta
d7eb35e4de qcacmn: Introduce a new macro to support ML external auth changes
Introduce new macro to support ML external auth changes in
host driver with cfg80211.

Change-Id: Ifa9ab729ce12b261d10cddc699bfb9a5e1b4956a
CRs-Fixed: 3385381
2023-03-01 05:44:33 -08:00
Liangwei Dong
9149ed9f51 qcacmn: Add QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_LOW_LATENCY
Add QCA_WLAN_VENDOR_MCC_QUOTA_TYPE_LOW_LATENCY attribute
to enable/disable Multi-Channel concurrency low latency mode.
The firmware will do optimization of channel time quota for
low latency in Multi-Channel concurrency state if enabled.

Change-Id: Ibcf1ac82b2650899043ea9b61be5e1501e2d85a1
CRs-Fixed: 3409648
2023-03-01 00:53:46 -08:00
abhinav kumar
4440f2b36a qcacmn: Don't send roam indication to kernel if bss is NULL
Currently, before sending a roamed indication to the kernel,
the host calls kernel APIs ieee80211_get_channel and
cfg80211_get_bss to confirm whether the roamed channel and
BSSID are present in the kernel scan cache or not.

In case if kernel returns the BSS pointer as NULL, Host calls
osif_populate_mlo_info_for_link API and uses BSS pointer
to populate MLO info for the link(s), this results in a
NULL pointer dereference in the host.

Fix is to avoid sending roam done indication to kernel/
userspace if kernel returns BSS pointer as NULL and issue
disconnection with reason REASON_UNSPEC_FAILURE.

Change-Id: I28f51369115a7ef20105073e4fcf6ee912c068b2
CRs-Fixed: 3404248
2023-02-25 01:29:42 -08:00