Commit Graph

656 Commits

Author SHA1 Message Date
Nirav Shah
e1f64d3562 qcacmn: Rename moderate latency level to XR latency level
Currently the moderate latency level is not used. Rename the moderate
latency level to XR latency level to be used in XR (extended reality)
applications.

Change-Id: Ie5ca8983c17800131bb554dbb14f5cf94023aa1c
CRs-Fixed: 3128109
2022-02-15 18:50:38 -08:00
Srinivas Girigowda
fd35443a0a qcacmn: Add support for TWT disable operation
Add support for TWT disable operation.

Change-Id: I302ac6a3898f53ea25030d9a15d8d14988287b27
CRs-Fixed: 3085373
2022-02-11 00:25:20 -08:00
Srinivas Girigowda
2d0aea5c1d qcacmn: Add support for TWT enable operation
Add support for TWT enable operation.

Change-Id: I638a4a78bf33d7185d8eab1f6735c3db0abfcd53
CRs-Fixed: 3085373
2022-02-11 00:25:12 -08:00
Srinivas Girigowda
5367345cfb qcacmn: os_if: Add TWT componentization structs and skeleton code
Add TWT componentization structs and skeleton code.

CRs-Fixed: 3085329
Change-Id: I3ddbe7caad9e77858a2300151c92a83bc6c4b3c7
2022-02-11 00:24:36 -08:00
Vishal Miskin
0f0d23d5cd qcacmn: Defined a driver interface for periodic TSF sync feature
Add a QCA vendor netlink interface to start/stop periodic TSF sync
feature and also support configuration of interval value as part of TSF
sync start command. In addition, improve documentation for the related
attributes and values.

Change-Id: Ia39609a3cc72c0194fe4685e43f08f1c49f8b412
CRs-Fixed: 3108416
2022-02-09 05:31:37 -08:00
Himanshu Batra
66883847fb qcacmn: Ignore ML IE if vdev is created without MLD context
Ignore ML IE if vdev is created without MLD context

Change-Id: I7992bbbc92e177ab84c44751844fa8a9a8a986dc
2022-02-02 00:47:32 -08:00
Divyajyothi Goparaju
a266f3af83 qcacmn: move wlan_cfg80211_mc_cp_stats.h file from cmn to qcacld
Currently wlan_cfg80211_mc_cp_stats.h file is present at
qca-wifi-host-cmn/cmn/os_if/linux/cp_stats/inc.
With this change, move file to  qcacld-3.0/os_if/cp_stats/inc
as this file contain MCC specific code.

Change-Id: I6017e1f2b136da3a1de2965a37c56c9477941d79
CRs-Fixed: 3108258
2022-02-01 23:35:59 -08:00
abhinav kumar
3b1731aa70 qcacmn: Allow FW to pno scan 6G chan based on RNR flag only
First host checks below two things in PNO scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in pno scan request.
2. At least one 6G channel is present in the pno scan req.

If any of above conditions satisfy, Host fills all remaining
(other than channel(s) present in pno scan req) valid 6 GHz
channel(s) to pno scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).
Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for pno scan
to firmware.

By this driver allows Firmware to scan 6G channels based on
RNR IEs only (for colocated APs reported by 2.4/5 GHz APs).

Change-Id: Ib6118c4525e9fbe233eb6a7e07a4a3345d486e8a
CRs-Fixed: 3103923
2022-01-27 23:01:01 -08:00
Ashish
5fe88ada0a qcacmn: Free scan request if netdev is NULL or get vdev ref fails
Currently driver just cancels the scan request and does not free
scan request memory if netdev is NULL or get vdev ref fails,
which leads to memleak.

To address abobve issue, free the scan request if netdev is NULL
or if get vdev ref fails.

Change-Id: Id6605e76a8c0977df93428f2aeb73c0bdfb84685
CRs-Fixed: 3107784
2022-01-19 14:19:07 -08:00
Mukul Sharma
7a88422105 qcacmn: Add new vendor attributes to avoid coex unsafe frequencies
Add additional attributes in QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY_EXT
vendor sub command to avoid usage of unsafe frequencies on wifi
interfaces sent from userspace to the driver/firmware.
The driver/firmware shall use restrictions and power cap accordingly
to restrict the usage of these frequencies on operating interface(s).

Change-Id: Ib2234137e436f1ddfe1163aed6e1d4b291f19aa8
CRs-Fixed: 3098836
2022-01-19 09:31:25 -08:00
Bing Sun
037561c0a4 qcacmn: Add a QCA vendor attribute to indicate ACS over EHT
Add QCA_WLAN_VENDOR_ATTR_ACS_EHT_ENABLED flag attribute to conduct ACS
for EHT mode. The driver can consider EHT specific parameters such as
puncture pattern for ACS when this flag attribute is indicated by
userspace.

Change-Id: I9cb0b7a6bc830a5f4f01a7a7fa5212cc6b2c3a95
CRs-Fixed: 3108987
2022-01-13 15:04:53 -08:00
abhinav kumar
9c2ce46fc6 qcacmn: Allow FW to scan 6G chan based on RNR flag only
First host checks below two things in host scan request:
1. Userspace sets NL80211_SCAN_FLAG_COLOCATED_6GHZ flag
in host scan request.
2. At least one 6G channel is present in the host scan req.

If any of the above conditions satisfies, Host fills all
remaining (other than channel(s) present in host scan req)
valid 6 GHz channel(s) to scan requests and set the flag
FLAG_SCAN_ONLY_IF_RNR_FOUND for each remaining channel(s).

Host sends this updated channel list via WMI command
WMI_START_SCAN_CMDID_param_tlvs->channel_list for host scan
to firmware.

With this change, driver allows Firmware to scan 6G channels
based on RNR IEs only (for colocated APs reported by 2.4/5
GHz APs).

Change-Id: I2d9d2aac58bbc521b2476756d5919647bdc265cc
CRs-Fixed: 3103873
2022-01-13 04:54:22 -08:00
Aditya Sathish
877cf5ef7e qcacmn: Add QCA attribute for ACS puncturing bitmap
Add support for a new QCA attribute to pass the puncturing
bitmap as part of the DO_ACS vendor command.

CRs-Fixed: 3102366
Change-Id: Ic0e54d82e48bae695baf3be4fd388ec15f81a416
2022-01-11 06:53:14 -08: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
Jyoti Kumari
9f3995df8f qcacmn: Add support for lower span active and passive dwell time
Add LOW_SPAN_ACTIVE_DWELL_TIME and LOW_SPAN_PASSIVE_DWELL_TIME
macro support to keep all 2.4g/5g active/passive dwell time
same for low span scan mode.
Disable adaptive dwell to firmware so that firmware cannot
modify dwell time.

Change-Id: Iff05dd7b37a40226c61b28a1e59ea8aa8c57cb52
CRs-Fixed: 3076163
2021-12-02 02:25:11 -08:00
Edayilliam Jayadev
aaf4382daf qcacmn: Increase the Spectral payload size
Increase the Spectral payload size to account for
FFT size 11.

CRs-Fixed: 3073239
Change-Id: I5c6db642267a96cbc535bf6842c8f9ac90b1a335
2021-12-01 04:23:19 -08:00
Himanshu Batra
f9b5d6b536 qcacmn: Get ML Info from connect req
Get ML Info from connect req

Change-Id: I90c200aff32d88dd934aaa11893f58a37448ffb9
2021-12-01 01:40:27 -08:00
Shashikala Prabhu
a117c19fda qcacmn: Add support to extract the channel info from RTT measreq
Add support to extract the freq, cfreq1, cfreq2, PHY mode, Destination
macaddr, and channel BW values from the RTT measurement request buffer
received from the LOWI application. Pass these values to a registered
callback. Users can use these values to make some decisions on the RTT
scan.

Change-Id: Idb2232c07bbfa2946dc01e75908b9a6036597ecf
CRs-Fixed: 3060685
2021-11-22 15:09:55 -08:00
Abhishek Singh
3915bd37fb qcacmn: Drop disconnect req in INIT state
In case the vdev is already disconnected, the indication to
the upper layer, would have been sent as part of previous
disconnect/connect failure.

If the upper layer is in process of connecting, sending
the disconnect indication back again may cause it to incorrectly
think it as connect failure. So sending a disconnect indication
again is not advisable.

So if a new disconnect is received in INIT state, drop the
disconnect and return failure.

Also remove osif_cm_reset_id_and_src() from osif disconnect
to avoid race between disconnect complete of old disconnect
and new disconnect request. With osif_cm_reset_id_and_src()
old disconnect might also get dropped in osif and with this
fix new disconnect will also get dropped, so make sure that
last/old disconnect indication is sent to upper layer.

Change-Id: Icf7352d8904473329edff9ec124c6197f214f88b
CRs-Fixed: 3074093
2021-11-19 02:03:55 -08:00
Bapiraju Alla
430a5f423e qcacmn: Fix 11BE compilations when kernel doesn't support 11be
Along with 11BE feature macro, check for Kernel 11be macro to avoid
compilation issues when kernel doesn't support 11be.

Change-Id: I11c8287725a25b6b4e3234a38ae61d50f293cc96
CRs-Fixed: 3066178
2021-11-16 20:57:54 -08:00
Himanshu Batra
b21d96305e qcacmn: Modify MLO disconnect handling
Modify MLO disconnect handling to issue disconnect on all links in
parallel
Also modify connect resp to accommodate ml info in connect resp

Change-Id: I57575c6ce7c8ebff7770f862dc81e7dfd20aa42d
2021-11-11 00:37:03 -08:00
Will Huang
7581cd6d12 qcacmn: Add QCA vendor attribute to configure ARP/NS offload feature
Add a QCA vendor attribute QCA_WLAN_VENDOR_ATTR_CONFIG_ARP_NS_OFFLOAD to
configure ARP/NS offload feature.

Change-Id: I976ed866272c7c82ff12593339bd2d551af6741b
CRs-Fixed: 3062895
2021-11-10 23:02:47 -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
Arun Kumar Khandavalli
b94a1425ae qcacmn: Add 11be dot11 mode to qca_wlan_802_11_mode
In the new wifi specification 11be mode support is added, add a new
11be dot11 mode to qca_wlan_802_11_mode.

Change-Id: I9c5238ffaac96fcdf83e7c342a053dda7fc1f205
CRs-Fixed: 3050936
2021-11-02 02:34:37 -07:00
Shiva Krishna Pittala
d0624dedd6 qcacmn: Add QCA vendor attribute to configure priority of vendor scan
Add the attribute QCA_WLAN_VENDOR_ATTR_SCAN_PRIORITY to configure the
priority of vendor scan relative to other scan requests.
Add the valid values that this attribute can take.
Also, add an API to convert NL80211-based scan priority value to internal
scan priority value.

Change-Id: I6c62166c2dd6ea0880b332496b1e4bb0b41840c6
CRs-Fixed: 3044332
2021-10-28 04:54:24 -07:00
Srikanth Marepalli
a4128d5887 qcacmn: Add roam set param command for roam params
This change introduces the new roam set param WMI command to set
the roam params from host to FW.
Also added a fail_bssid param in wmi_roam_result TLV to know the
roam failed AP BSSID from the FW.
Added a new vendor command event for sending roam events stats
attributes to userspace.

Change-Id: I7a08635a7912cbd940d90a2d62433296740ad913
CRs-Fixed: 3050799
2021-10-27 12:15:50 -07:00
Srikanth Marepalli
742b2805c0 qcacmn: Vendor command to configure/trigger the roam events
Introduce a new vendor command QCA_NL80211_VENDOR_SUBCMD_ROAM_EVENTS
that aims to configure/trigger the roam events from the driver.

Change-Id: Ifd9464cc8cb485890c8d171dc136d377f7a59fa1
CRs-Fixed: 3028404
2021-10-27 12:15:45 -07:00
Yue Ma
9579188f04 qcacmn: Add wrapper API wlan_cfg80211_nla_strscpy
From 5.11 kernel, nla_strlcpy() is renamed to nla_strscpy() since
it works more like strscpy() than strlcpy() after the enhancement.
Hence handle it accordingly in WLAN driver by creating wrapper API
wlan_cfg80211_nla_strscpy().

Change-Id: I4c5ca1738048605c842c827d1706353bc012fed8
CRs-fixed: 3060060
2021-10-25 18:31:25 -07:00
Gaurav Sharma
47d6589295 qcacmn: Add TWT attribute to configure TWT related parameters
Add QCA_WLAN_TWT_SET_PARAM TWT attribute to configure TWT related
parameters.

Change-Id: I0fb5fdb3518705f9ae7fcd144b3de1ba8aafd372
CRs-Fixed: 3054075
2021-10-25 07:47:06 -07:00
Gaurav Sharma
361b27b945 qcacmn: Add TWT vendor attribute to configure announce timeout value
Add QCA_WLAN_VENDOR_ATTR_TWT_SETUP_ANNOUNCE_TIMEOUT attribute to
configure announce timeout value for announce TWT session.

Change-Id: If9d14c78347e9a5075d132f444d14295a666cd03
CRs-Fixed: 3055553
2021-10-25 07:47:01 -07:00
Shiva Krishna Pittala
de13832745 qcacmn: Populate and expose 320MHz spectral capabilities
Populate and expose the following 320MHz spectral capabilities.
  - Agile spectral scan support for 320MHz mode.
  - Number of detectors used for spectral scan in 320MHz mode.

Change-Id: Ibea77d4ec8b1d9322ef82d1d48236836ffad24ec
CRs-Fixed: 3053059
2021-10-13 02:57:24 -07:00
Shiva Krishna Pittala
41879eb3ca qcacmn: Add QCA vendor attributes to indicate 320MHz spectral capabilities
Add a QCA vendor attribute to indicate agile spectral scan support for
320MHz mode. Add another attribute to indicate the number of
detectors used for spectral scan in 320MHz mode.

CRs-Fixed: 3045445
Change-Id: I4667e93e8074af122bfe9e08bededc439811afbf
2021-10-12 11:02:44 -07:00
Shiva Krishna Pittala
5e1696733a qcacmn: Convert spectral scan bandwidth to proper format
Spectral scan bandwidth value that is received over NL80211 socket will be
in NL80211_CHAN_WIDTH format. Convert it into phy_ch_width format before
using it in the driver. Similarly, convert the spectral scan bandwidth to
NL80211_CHAN_WIDTH format before sending over NL80211 socket.

Change-Id: Ic3b464bff6ac62a9d0c1f915118a4ca6db416252
CRs-Fixed: 3048195
2021-10-01 13:05:59 -07:00
Jhalak Naik
b65b4ae703 qcacmn: APIs to convert phy_ch_width to nl80211_chan_width and vice-versa
Add Spectral APIs to convert channel width values
from enum phy_ch_width to nl80211_chan_width and
vice-versa.

CRs-Fixed: 3029184
Change-Id: I60fb7fb04b943b0d70c569ff6587e5e8efd7722b
2021-09-29 15:05:37 -07:00
Balaji Pothunoori
e045cd0fed qcacmn: add vendor command to configure the parameters for monitor mode
Add new vendor command to configure monitor mode packet filter
parameters which includes data/mgmt/ctrl frame types.

Change-Id: Ie5e5d35b725e3d1b617edc1c889dc269b22a3673
CRs-Fixed: 3025489
2021-09-29 08:59:15 -07:00
Shiva Krishna Pittala
aead8c4d39 qcacmn: Add support to configure spectral scan bandwidth
Add support to configure spectral scan bandwidth as provided by the user.
Validate the user configured value before applying it. As the spectral scan
bandwidth is an optional parameter, when the user doesn't configure it, use
configure the spectral scan bandwidth to the maximum value supported by the
target for the current operating bandwidth.
Also, populate the spectral scan bandwidths supported for different
operating bandwidths on different targets.

CRs-Fixed: 3042424
Change-Id: I266aa5489b0ce5c149968067a06e1cc65bb4e3b7
2021-09-28 03:43:21 -07:00
Kani M
2c41328915 qcacmn: Enable code under WLAN_CONV_CRYPTO_SUPPORTED
This incorporates and enables the code under the flag
WLAN_CONV_CRYPTO_SUPPORTED.

Change-Id: I5be4606fac8dbf172b017cc91ba6e19af03e282b
2021-09-24 18:27:48 -07:00
Himanshu Batra
4aa4060acf qcacmn: Update assoc resp ie len and ptr in connect response
Update assoc resp ie len and ptr in connect response

Change-Id: I31f175da43fe1548aa9621320339bd242c8d67d1
2021-09-23 21:35:14 -07:00
Pragaspathi Thilagaraj
5a05d609a1 qcacmn: Update the connectivity logging attributes
Update the connectivity logging attributes based on the
latest change.

Change-Id: I141f1fb5d778bf2b7af79b832e781e7e131eea32
CRs-Fixed: 3038244
2021-09-22 19:52:39 -07:00
Vikram Kandukuri
aba3dd6941 qcacmn: Add attributes to support MBSSID multi groups notifications
Add new attributes for supporting MBSSID multi groups notifications
to qca_wlan_vendor_attr_mbssid_tx_vdev_status
(QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS).

CRs-Fixed: 3028263
Change-Id: I9ce3f945cf4d3cf91af57363d7a25f14d5c90fa6
2021-09-22 03:16:12 -07:00
Sai Rupesh Chevuru
8efe41f904 qcacmn: Call cfg80211 functions with context aware allocation flags
There are instances in the code where the response is sent from the
driver to the kernel indicating the allocation flags which is
used by the kernel to allocate memory
In those situations, we should pass the allocation flags based on
the context in which the response is sent.
Send the response with the right allocation flags to the kernel.

Change-Id: I39ade12bd3603acf622a9ca49b4d1d0b79da4585
CRs-Fixed: 3037225
2021-09-17 13:48:14 -07:00
Vivek
0d98962c76 qcacmn: Validate assoc request/response IE
Validate assoc request and response IE pointer
and length before sending the connect response
to the cfg80211 layer, else if there is a mismatch
between assoc request and response IE and length,
it would result in a panic.

CRs-Fixed: 3029994
Change-Id: I6bb285719c9749cb8c42306a95c392a01555d67f
2021-09-17 05:54:12 -07:00
Pragaspathi Thilagaraj
b001e0e130 qcacmn: Add support to send connectivity logs from logging thread
Add support to send connectivity logs from g_wlan_logging thread.
Add new HOST_LOG_DRIVER_CONNECTIVITY_MSG event flag which wakes up
the gwlan_logging thread when set.
Also register connection manager callbacks to send the logging event.

Check if logging queue is empty whenever the gwlan_logging thread
is woken up and send the logs to userspace if the count doesn't
exceed the allowed threshold.

Change-Id: I3fdb8358f9048a277e2f03894c0e6a17376b0da0
CRs-Fixed: 3029279
2021-09-16 08:28:29 -07:00
Yu Ouyang
753767dd8a qcacmn: Make enum qca_wlan_vendor_attr_ll_stats_results match upstream
Make the enum qca_wlan_vendor_attr_ll_stats_results definition
match upstream

Change-Id: Id556c9a0fc3a61fdf660a8c20693c5bab276b86f
CRs-Fixed: 3033158
2021-09-14 10:39:51 -07:00
Yu Ouyang
136eb1bb75 qcacmn: Add time slice duty cycle attribute into QCA vendor command
Add a new attribute into qca_wlan_vendor_attr_ll_stats_results to
support getting interface time slicing duty cycle info.

Change-Id: If6a34cd298c1cb41e0e29a24f2336eed76b98329
CRs-Fixed: 3020795
2021-09-14 10:39:46 -07:00
Nirav Shah
d5221697cb qcacmn: Update TWT attribute to send TSF value in TWT setup command
Update QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF
TWT attribute to use it in TWT setup command to pass TSF value.

Change-Id: I410d72ff7771a3899ceb2487a8eb9dd7ad77299c
CRs-Fixed: 3029024
2021-09-13 22:08:39 -07:00
Nirav Shah
7db239f9b5 qcacmn: Add TWT attribute to send Responder PM Mode value to user-space
Add QCA_WLAN_VENDOR_ATTR_TWT_SETUP_RESPONDER_PM_MODE
TWT attribute to send Responder PM Mode value to user-space.

Change-Id: Ic55abcac70109c3a13e74daca2f319456d0b7bb1
CRs-Fixed: 3029021
2021-09-13 22:08:33 -07:00
Pragaspathi Thilagaraj
2dc99aef5b qcacmn: Extend the roam reason codes
Add new reason codes to the existing enum qca_roam_reason.

Change-Id: I960c17a3fcb3c2f4719e3167bb9f95e4a923b37f
CRs-Fixed: 3030821
2021-09-07 15:00:16 -07:00
Pragaspathi Thilagaraj
2a631ba7aa qcacmn: Add QCA vendor attributes to support connectivity logging
Add new QCA vendor attributes to get connectivity and roaming
related parameters from the driver for logging.

Change-Id: I8d4db7e43bcd2f406d124d7224a91338550420f0
CRs-Fixed: 3029276
2021-09-07 15:00:11 -07:00
Aditya Kodukula
4b05def09d qcacmn: Update QCA mDNS Offload vendor command
Update kernel documentation of mDNS offload vendor command.

Change-Id: I939e0e6c48731f42691ab9952184695be40ba3a0
CRs-Fixed: 3026714
2021-09-01 00:33:37 -07:00