Commit Graph

295 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Gururaj Pandurangi
d77d7fbf29 qcacmn: QCA vendor attributes for MLO and EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities and multi-link configuration.

Change-Id: I322a6fe112b83b3636c9383db152bfaa5dd34c14
CRs-Fixed: 3395113
2023-02-14 03:26:45 -08:00
Kiran Kumar Lokere
2d420e388f qcacmn: QCA vendor attributes to configure EHT capabilities
Add new QCA vendor attributes to configure the driver for EHT
capabilities. These attributes are used for testing purposes.

Change-Id: Ic4ea6f5be212da423181d108c8dcae559a08a47e
CRs-Fixed: 3271502
2023-02-13 12:45:03 -08:00
Jianmin Zhu
f8d54d23a3 qcacmn: Refine vendor subcmd QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS
During implementation of commit 257b119c2d87 ("QCA vendor attribute of
update roaming cached statistics info") some deficiencies were noted as
listed below, so fix them. Since these are pre-implementation changes,
no ABI breakage is introduced.

1) Change all RSSI values to be signed values.
2) Add enums for scan type and dwell type instead of documenting
   their values with comments
3) Add missing QCA_ROAM_REASON_STA_KICKOUT to enum qca_roam_reason

Change-Id: I270dc1a009e36e37c83cb6298a096ed91b511df1
CRs-Fixed: 3402978
2023-02-13 04:04:41 -08:00
Sheenam Monga
3f072d7829 qcacmn: Enhance QCA vendor interface for Concurrent AP Policy for XR
Add new AP concurrency policy QCA_WLAN_CONCURRENT_AP_POLICY_XR to
configure interface for eXtended Reality (XR) requirements.

Change-Id: I514979a9d950de9e0181dbf6d285812ef8a05126
CRs-Fixed: 3401504
2023-02-12 08:22:44 -08:00
chunquan
8db88cd12a qcacmn: QCA vendor attribute of update roaming cached statistics info
Add vendor subcmd QCA_NL80211_VENDOR_SUBCMD_ROAM_STATS and attribute id
in enum qca_wlan_vendor_attr_roam_cached_stats for collecting roaming
statistics information when diagnosing roaming behavior.

Change-Id: I38fa39c2524e453335cf8281afe403a7c64c8bb4
CRs-Fixed: 3381257
2023-01-25 23:15:38 -08:00
Asutosh Mohapatra
f1a5f8d3ab qcacmn: Enhance QCA vendor interface with new hang reason codes
Add more hang reason codes for the hang reason in the
qca_wlan_vendor_hang_reason enum.

Change-Id: Ia7f21c45d58c980219690cda390127f5d4004391
CRs-Fixed: 3380849
2023-01-19 16:42:34 -08:00
Harsh Kumar Bijlani
299c4870e5 qcacmn: Add new attributes in SCS rule config QCA vendor subcommand
Add new attributes for the destination MAC address and netdev index in
SCS rule config subcommand.

Change-Id: I8298d9e0080440fce7401fb931e1af42672711cf
CRs-Fixed: 3359591
2022-12-27 07:12:38 -08:00
Rhythm Patwa
07bee8ee4e qcacmn: Define AFC vendor commands and events
Wi-Fi Alliance specification for Automated Frequency Coordination (AFC)
system ensures that the Standard Power Wi-Fi devices can operate in 6
GHz spectrum under favorable conditions, without any interference with
the incumbent devices.

Add support for vendor command/events and corresponding
attributes to define the interface for exchanging AFC requests and
responses between the driver and a userspace application.

Change-Id: I8c894236cdb3a33f6eae5dd43879fc84f29a80dd
CRs-Fixed: 3337619
2022-12-19 11:38:44 -08:00
Vijay Raj
cb5c29865e qcacmn: Add QCA vendor interface for AP doze mode configuration
Add a new subcommand QCA_NL80211_VENDOR_SUBCMD_DOZED_AP to configure
doze mode state on an AP interface. This is also used as an event to
indicate the updated configuration. In doze mode, AP transmits
beacons at higher beacon intervals and RX is disabled.

Uses attributes defined in enum qca_wlan_vendor_attr_dozed_ap.

Change-Id: I183140f0466eb7400cc161afb8c2e295ec587f93
CRs-Fixed: 3267855
2022-12-15 12:40:33 -08:00
Srikanth Marepalli
93e8977721 qcacmn: Roam control configuration for 6 GHz in full scan only on prior discovery
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This would include the 6 GHz PSC
frequencies. Define an attribute to allow that behavior to be modified
to include PSCs only if 6 GHz use has been detected.

Change-Id: I81eb9b20c2953e6b0dbf4138b31547db82d7397f
CRs-Fixed: 3351706
2022-12-08 02:49:02 -08:00
Ashish Kumar Dhanotiya
0456b0a11e qcacmn: Add a new QCA vendor attribute to configure wifi calling (wfc) state
Add QCA_WLAN_VENDOR_ATTR_CONFIG_WFC_STATE vendor attribute,
Userspace uses this attribute to configure wfc state to
Driver/Firmware. Driver/Firmware uses this information to
optimize power savings, rate adaption, roaming, etc.

Change-Id: If58bd1e64216de81af6cf82eaabd740b85729eac
CRs-Fixed: 3343034
2022-12-07 05:50:37 -08:00
Srikanth Marepalli
8333f89c98 qcacmn: Add a vendor attribute for roam control configuration for full scan
During the roam scan, if there are no desired APs found in the partial
frequency list, an immediate full scan on all the supported frequencies
is initiated as a fallback. This flag controls the frequency list
creation for full scan on the following lines.
1 - Full scan to exclude the frequencies that were already scanned by
    the previous partial scan.
0 - Full scan to include all the supported frequencies irrespective of
    the ones already scanned by partial scan.

Change-Id: Id48ae28e6d0e719b9db9b2e73bd76f9be1ea0b3e
CRs-Fixed: 3343567
2022-12-02 12:29:22 -08:00
Amit Mehta
46a5d43615 qcacmn: Vendor attribute to configure QoS/AC upgrade for UDP frames
Introduce a new attribute to configure access category
override for UDP frames of BE/BK category. Unlike, the
earlier attribute QCA_WLAN_VENDOR_ATTR_CONFIG_UDP_QOS_UPGRADE
which will override for all UDP frames, this attribute is
for overriding only for BE/BK based UDP frames.

CRs-Fixed: 3332609
Change-Id: Ife6104b97bca83653fdcac31f2c91007d1aa6f2a
2022-11-23 10:52:49 -08:00
Srikanth Marepalli
7c94f932be qcacmn: A vendor roam control configuration for delaying hand off for RX
Introduce a run time roam configuration for "hand off delay for RX".
This value, in milliseconds, will delay the hand off for the specified
time to receive pending RX frames from the current BSS.

Change-Id: I961109a2f9287a611ae8f4b38e2ea824ecf9c559
CRs-Fixed: 3329952
2022-11-23 04:42:57 -08:00
Krunalsinh Padhar
97ea3b37d1 qcacmn: Add QCA vendor subcommand to notify about primary netdev
Add a new vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_MLO_PEER_PRIM_NETDEV_EVENT to send notification
to application layer about primary netdev of an MLO peer association.

Also define the attributes present in this subcommand.

Change-Id: I84ba177c5d7155f627d4d3fa86c64c4f9b24951c
CRs-Fixed: 3280634
2022-11-18 13:38:22 -08:00
David Oladunjoye
a361d76cff qcacmn: QCA vendor attribute to configure periodic sounding
Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.

Change-Id: I2f36f98b6665d448c07d676ff9a5fa907a980c5c
CRs-Fixed: 3328364
2022-11-16 15:36:58 -08:00
Jhalak Naik
8ed6f1a778 qcacmn: Add QCA vendor attributes for EHT support in external ACS
Add support for new vendor sub-command attributes for 320 MHz
channel width and puncturing information as part of the
external ACS.

Change-Id: Ic8181619949061794775bfe55f4afd0f408a7316
CRs-Fixed: 3323216
2022-11-07 13:11:26 -08:00
Jyoti Kumari
5ba9521bfb qcacmn: Add a vendor attribute to configure concurrency policy for AP interface
Add a new QCA vendor attribute
QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG to
QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_POLICY sub command to set
the concurrency policy for AP interface.
QCA_WLAN_VENDOR_ATTR_CONCURRENT_POLICY_AP_CONFIG uses the values
defined in enum qca_wlan_concurrent_ap_policy_config to specify
concurrency policy.

Change-Id: I73931e41e469b3696f80fe8897428d4fc796ec95
CRs-Fixed: 3302865
2022-10-19 22:30:46 -07:00
Jyoti Kumari
115f04aa57 qcacmn: Rename QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_MULTI_STA_POLICY
Rename QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_MULTI_STA_POLICY to
QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_POLICY to allow extension
for other interface type(s). A subsequent commit will extend the
renamed definitions in a manner that is inconsistent with the
current naming.

This is a precursor for AP/P2P concurrency policy configuration
support via updated vendor command
QCA_NL80211_VENDOR_SUBCMD_CONCURRENT_POLICY.

Change-Id: I1df8e7b289a8d7f1982f5daab732a36ad013d9ca
CRs-Fixed: 3302835
2022-10-19 22:30:39 -07:00
Harsh Kumar Bijlani
53f89d318b qcacmn: Add service class id attribute in SCS rule config vendor subcommand
Add service class id attribute
QCA_WLAN_VENDOR_ATTR_SCS_RULE_CONFIG_SERVICE_CLASS_ID in SCS rule
configuration vendor subcommand
QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG.

Change-Id: I1a1be0a1a5c65be488e36c0d078dbc6aef47838a
CRs-Fixed: 3314058
2022-10-18 05:22:40 -07:00
Sheenam Monga
6e707dac35 qcacmn: Add QCA vendor interface support for Spatial Reuse (SR) feature
Add a new vendor sub-command to implement Spatial Reuse feature.
Userspace enables SR feature with specific configuration parameters. The
driver/firmware upon receiving the command, enables the SR feature if it
is supported by the currently connected AP. The driver may reject the
command if it cannot enable the SR with the configured parameters. The
driver sends events to userspace to indicate when SR feature is enabled
or disabled internally. Userspace can also query SR feature related
parameters and statistics from the driver/firmware as needed.

Change-Id: Ie203576d4ace691e37a1c5eea379f562bf416835
CRs-Fixed: 3298975
2022-10-15 05:18:57 -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
nakul kachhwaha
af02ec866a qcacmn: Add a new QCA vendor attribute to support flexible TWT
Add a new attribute QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_SP_START_OFFSET to
configure offset to shift start of the service period. This attribute
will be used when device supports flexible TWT. If provided, this
attribute will override QCA_WLAN_VENDOR_ATTR_TWT_NUDGE_WAKE_TIME.

Change-Id: I1f066f328c6d0f3ca4d4bf4a94e63647d639f49d
CRs-Fixed: 3299714
2022-10-08 05:12:50 -07:00
Chaoli Zhou
400309d015 qcacmn: Fix compiler warning on shift overflow in QCA vendor definitions
Fx the following compiler error:
qca-vendor.h:5892:54: error: result of ‘1 << 31’ requires 33 bits to represent, but ‘int’ only has 32 bits [-Werror=shift-overflow=]
 5892 |  QCA_WLAN_VENDOR_CHANNEL_PROP_FLAG_HE40INTOL     = 1 << 31,

This "1" needs to be marked unsigned for this case of MSB=1.

Change-Id: I27daebd07d0cbf314459254cfc5906f5e56dd4be
CRs-Fixed: 3299457
2022-09-27 13:22:24 -07:00
David Oladunjoye
8be4fef5d9 qcacmn: QCA vendor attribute to configure periodic sounding
Add a new QCA vendor attribute to configure the periodic sounding for Tx
beamformer functionality.

Change-Id: Id4b75e992e22facdc58b467aaed29d9b00901fad
CRs-Fixed: 3290371
2022-09-19 14:54:16 -07:00
Ashish Kumar Dhanotiya
09220f783e qcacmn: Process tx and rx rate count from peer stats
Based on the new requirement process tx and rx rate counts
from peer stats response and send these stats to user space
as part of big data stats.

Change-Id: I988f0d6cf6a3537f31433d4f57280336ab58bc38
CRs-Fixed: 3289789
2022-09-17 01:11:22 -07:00
Asutosh Mohapatra
81d86f0f99 qcacmn: Add QCA vendor interface to get SAR capabilities to userspace
Add QCA_NL80211_VENDOR_SUBCMD_GET_SAR_CAPABILITY to get various SAR
capabilities supported by the WLAN firmware to userspace. These
capabilities are usually reported by the firmware during the initial
bootup handshake with the driver. Based on these capabilities, user
space can choose proper SAR indexes.

Change-Id: I31be4bd58dc02fe82ae57f703f7db54f5a3c027e
CRs-Fixed: 3274703
2022-09-05 04:49:09 -07:00
Jianmin Zhu
b67ab65175 qcacmn: Enhance QCA vendor roam event to indicate MLO links after reassociation
Enhance QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH event for the
driver to indicate the information of the associated links of MLO
roaming.

Change-Id: I5cede840ec42bb45ec13e35a1f5caa0c0674047a
CRs-Fixed: 3278009
2022-08-31 21:10:24 -07:00
Xiaoning Ma
8b1a96a35a qcacmn: Add fixed FDD mode to qca_btc_chain_mode QCA vendor attribute
Previously when chains of BT and WLAN 2.4 GHz are separated,
hybrid mode will be used for BTC. Now adding fixed FDD mode
to fulfill different BTC scenarios.

Change-Id: I8f415ae65160977df478c9bd908e9429d69103c3
CRs-Fixed: 3247146
2022-08-13 15:59:54 -07:00
Jianmin Zhu
11ae3a31b7 qcacmn: QCA vendor attribute to configure RX link speed threshold for roaming
Add QCA_ATTR_ROAM_CONTROL_RX_LINKSPEED_THRESHOLD value as the RX link
speed threshold to disable roaming. If the current link speed is above
the threshold, there is no need to roam.

Change-Id: Ifeeacfa9d49de76c28fe968c1eb26b5036261c9a
CRs-Fixed: 3200264
2022-07-22 02:44:01 -07:00
Yu Wang
9788f23284 qcacmn: QCA vendor command for CoAP offload processing
Add vendor command QCA_NL80211_VENDOR_SUBCMD_COAP_OFFLOAD to
enable/disable offload processing in firmware for CoAP messages
(RFC7252: The Constrained Application Protocol) or fetch the
CoAP messages cached during offload processing.

Change-Id: I2eaeba58ec6bc44738f68eb00c36ebdce2eae6f8
CRs-Fixed: 3193633
2022-07-21 21:09:57 -07:00
Jingxiang Ge
8b82e08d02 qcacmn: Add QCA vendor attribute for TIM beacon statistics
Add the following two vendor attributes to send TIM beacon
statistics to userspace which can be used for power saving:
    QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON
    QCA_WLAN_VENDOR_ATTR_LL_STATS_TIM_BEACON_ERR

Change-Id: I2986d7e573ed7eaf72a620b928daceccc43b9066
CRs-Fixed: 3234924
2022-07-14 14:48:55 -07:00
Harsh Kumar Bijlani
b1461c9317 qcacmn: Add QCA vendor subcommand and attributes for SCS rule configuration
Add a new vendor subcommand QCA_NL80211_VENDOR_SUBCMD_SCS_RULE_CONFIG
for configuration event of Stream Classification Service (SCS) rule.

Also define the attributes present in this subcommand.

Change-Id: Idab722532f9870a377e5f1c02185bdfe2ccb39eb
CRs-Fixed: 3226253
2022-07-13 00:22:35 -07:00
Aditya Kodukula
bf46176516 qcacmn: Add QCA vendor attribute to configure DBAM feature
Add a new QCA attribute QCA_WLAN_VENDOR_ATTR_CONFIG_DBAM
to configure Dedicated Bluetooth Antenna Mode (DBAM) feature.
It is used to switch between dedicated antenna mode for BT and
COEX shared antenna mode for WLAN and BT.

Change-Id: Id1e04e8647a0b4ff6bb83f272c0f891aa88f111c
CRs-Fixed: 3239894
2022-07-12 22:33:50 -07:00
Pragaspathi Thilagaraj
ba8cfc391a qcacmn: Add AP and STA specific P802.11az security capabilities (vendor command)
Add feature capability indication for P802.11az security for the drivers
to advertise capabilities such as secure LTF support, secure RTT
measurement exchange support, and protection of range negotiation and
measurement management frames for station and AP interfaces
independently. This allows a more fine-tuned capability indication as an
alternative to the upstream nl80211 mechanism that is not specific to
the operating mode.

Change-Id: I53073fec66abf38986038ab9e4d17531ddd67b5a
CRs-Fixed: 3235149
2022-07-08 21:30:49 -07:00
Pragaspathi Thilagaraj
3f34e08581 qcacmn: Add QCA vendor interface for PASN offload to userspace
Define QCA vendor interface for PASN offload to userspace from the driver.

The driver can send this command as an event to a userspace component to
perform PASN authentication with a list of peers with which the driver
needs to do ranging. The userspace component, if capable of performing
PASN handshake, can perform PASN handshake with all the peer devices and
set the relevant keys by sending the
QCA_NL80211_VENDOR_SUBCMD_SECURE_RANGING_CONTEXT command for each peer
to the driver.

Once PASN handshake is completed with all requested peers, the userspace
component sends consolidated status for all the peers to the driver. The
consolidated report is required for the driver to understand that the
PASN handshake process is complete and whether it succeeded/failed for
each of the peers it was requested for. The secure ranging context is
configured only for the peers with which the PASN handshake succeeded.

When the driver requests PASN keys, the userspace component can set the
keys from its cache if those keys have not already expired and were
derived with the same source MAC address that is requested by the driver
instead of doing the full PASN handshake again.

If the driver detects that current keys of a peer are not valid anymore,
it sends a notification to userspace using the
QCA_NL80211_VENDOR_SUBCMD_PASN command and setting the action to
QCA_WLAN_VENDOR_PASN_ACTION_DELETE_SECURE_RANGING_CONTEXT. The userspace
component should delete the corresponding keys from its cache.

Change-Id: Ib6e2c7baf7728dacf0303513c5a41412dae40b8b
CRs-Fixed: 3224160
2022-06-28 15:37:55 -07:00