Commit Graph

592 Commits

Author SHA1 Message Date
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
abhinav kumar
2e92c9f7a5 qcacmn: Add QCA vendor attribute to configure ROAM_BAND
Add a QCA vendor attribute to configure the driver to use
roam band set by userpace. This attribute is also used to
get the configured roam band from the driver.

Change-Id: I5ea7f9d12b2a01e1b4baa43e46342af34bebba49
CRs-Fixed: 3009747
2021-08-31 07:54:59 -07:00
Shiva Krishna Pittala
e0ff191da1 qcacmn: Add QCA vendor attribute indicating the spectral scan bandwidth
Add the following vendor attribute to indicate the bandwidth to be used for
Spectral scan operation.
 - QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_BANDWIDTH

CRs-Fixed: 3024152
Change-Id: I8ffc5f4d0106cb293ac81408e3b691fc29808080
2021-08-30 15:47:16 -07:00
Yue Ma
674474c55a qcacmn: Add CONFIG_CNSS_OUT_OF_TREE flag
Use CONFIG_CNSS_OUT_OF_TREE to control if CNSS family drivers are
built from in-kernel-tree source or out-of-kernel-tree source since
the exposed header files will be in different paths. This is also
for backward compatibility.

Change-Id: I698492f175ea140e6854c372f366a63f36de24c9
CRs-fixed: 3022556
2021-08-30 13:38:44 -07:00
Kiran Kumar Lokere
e2ada05cee qcacmn: Config support to use BSSID in probe request RA
User configuration support to use scan request BSSID value
in Probe Request frame RA during the scan.

Change-Id: I40d07e4c3e4814a9c816b3e426dcbb63df7ddf27
CRs-Fixed: 2945679
2021-08-27 01:06:23 -07:00
Utkarsh Bhatnagar
8041677626 qcacmn: Add QCA vendor interface to fetch thermal stats from driver
Enhance QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD to fetch thermal stats
for different temperature levels from the driver to userspace. The
stats will be stored in the driver/firmware for predefined temperature
levels and will be reported to userspace when
QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD is sent with command type
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_GET_THERMAL_STATS.
The thermal stats can be cleared from userspace by sending
QCA_NL80211_VENDOR_SUBCMD_THERMAL_CMD command with type
QCA_WLAN_VENDOR_ATTR_THERMAL_CMD_TYPE_CLEAR_THERMAL_STATS.

Change-Id: I937bc89865df484a068c887d906df5a9502f1925
CRs-Fixed: 3016851
2021-08-23 19:09:21 -07:00
Pooventhiran G
60533b64ea qcacmn: Add policy for QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
Vendor commands using nested attributes should use properly defined
policies instead of RAW_DATA and the same has been enforced since 5.4
kernel. Hence, defined a policy for the vendor command
QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS.

Change-Id: Ibdf7a19ddd533653c0706b4f0cf3ac97d31b9e40
2021-08-20 01:18:39 -07:00
Deeksha Gupta
bff0c0a961 qcacmn: Add QCA vendor attribute for TWT termination due to power save exit
Add QCA new status vendor attribute
QCA_WLAN_VENDOR_TWT_STATUS_POWER_SAVE_EXIT_TERMINATE
to indicate the TWT session termination due to power save
exit request from userspace.

Change-Id: I515e4e8384b92b2556d72c4015252f075577f13c
CRs-Fixed: 3013360
2021-08-18 05:17:17 -07:00
Kiran Kumar Lokere
60c442a689 qcacmn: QCA vendor attributes for BTWT and Rx ctrl frame to MBSS
Add QCA vendor attributes to configure the driver to enable/disable
the Broadcast TWT support and Rx Control Frame To MultiBSS support in
HE capabilities information field. This attribute is used for testing
purposes.

Change-Id: I22a2646b642d1e764e89b209e0c872ac113ca2ee
CRs-Fixed: 3012996
2021-08-16 12:53:09 -07:00
Aditya Kodukula
6ad64c3532 qcacmn: QCA vendor command for mDNS offload
Define a new vendor command for enabling/disabling mDNS offload.

Change-Id: Id0245a8fe76e0d7c6e15ec5f91db67ee30a6325c
CRs-Fixed: 3008553
2021-08-10 01:47:38 -07:00
Vivek
f8167f4dbc 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 supplicant indicating the allocation flags which is
used by the supplicant 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 supplicant.

Change-Id: I85f1c29fc66ba51a9f9c645692712c3a25b7fed1
CRs-Fixed: 2987552
2021-07-26 13:54:14 -07:00
Kiran Kumar Lokere
900bd16b58 qcacmn: QCA vendor attribute to configure BSS max idle support
Add new QCA vendor attribute to configure the driver to enable/disable
the BSS max idle period support. This attribute is used for testing
purposes.

Change-Id: Ib63c81e34344e637b638638b1da323102c66d906
CRs-Fixed: 2994951
2021-07-26 09:14:27 -07:00
Kiran Kumar Lokere
8917a00d40 qcacmn: QCA vendor attribute to use BSSID in Probe Request frame RA
Add a QCA vendor attribute to configure the driver to use scan
request BSSID value in Probe Request frame RA(A1) for scan.
This attribute is used for testing purpose.

The driver saves this configuration and applies this setting to all
user space scan requests until the setting is cleared. If this
configuration is set, the driver uses the BSSID value from the scan
request to set the RA(A1) in the Probe Request frames during the scan,
else the broadcast address is set in the Probe Request frames RA(A1).

Change-Id: I0b26fde5f631e99f3e6d0ecf52918cd49d0153c7
CRs-Fixed: 2994935
2021-07-26 09:14:22 -07:00
wadesong
abdd65099c qcacmn: Limit log verboseness of some chan change code
The log output will be too verbose when the following scenario
is hit:

 1) hostapd is started on chan 149 with cc=US
 2) ref-sta connects to sap
 3) ping -i 0.01 to ref-sta from dut
 4) set cc=JP on dut

and the verbose log output will result in a wlan scheduler
watchdog bite on some platforms.

Use rate limited versions of log outputting api to avoid the
instabilities brought by this.

Change-Id: Id87d81070334aab145bae6909857fd5d2851008a
CRs-Fixed: 2868738
2021-07-23 22:36:29 -07:00
Nandha Kishore Easwaran
b82dd5554f qcacmn: Add 4.9 ghz frequency for scan command
Add 4.9 ghz frequency check also in scan command. This change
is needed so that scan entry is formed and association happens in 4.9ghz.

Change-Id: I2fbf719ea6a5e747e07a5973a2da3d2ca2d11b7b
2021-07-23 20:17:29 -07:00