Commit Graph

442 Commits

Author SHA1 Message Date
Abhishek Ambure
d2b4830a59 qcacmn: Add vendor attributes to configure FT/OCV/SAE test params
Add new QCA vendor attributes to configure RSNXE Used (FTE), ignore CSA,
ignore SA Query timeout and OCI frequency override with QCA vendor command
QCA_NL80211_VENDOR_SUBCMD_WIFI_TEST_CONFIGURATION for STA testbed role.

Change-Id: I8f46361023444661bd522c8731b4edd864c8cff6
CRs-Fixed: 2759772
2020-09-11 13:55:49 -07:00
Abhishek Ambure
fab923f17e qcacmn: Add get_sta_info vendor attrs to get BIP failure counters
Add support to get number of MIC errors, missing MME incidents, and
packet replay incidents observed while using IGTK/BIGTK keys when PMF
and/or beacon protection features are enabled.

These counters applicable only for STA mode and user gets those
through the QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO vendor command.

Change-Id: Ifae1fd43f41f280a5b677b89aa90bbb51bb96930
CRs-Fixed: 2757861
2020-09-11 11:50:25 -07:00
gaurank kathpalia
d69cadae0c qcacmn: Add changes to add and delete connection mgr req
Add changes in connection manager to add and delete connection mgr
request from the cm ctx list. Also make changes to add support
to get cm id for these requests.

Change-Id: I33706e01ea684e8c3524407ca9b4c67d438db8a5
CRs-Fixed: 2770693
2020-09-11 07:36:47 -07:00
Ashish Kumar Dhanotiya
532ecd2521 qcacmn: Update connection manager command id and source in osif
Currently connection manager command id and source of the
connect/disconnect request is not getting updated in osif.
Add a change to update the connection manager command id and
source of the request in osif.

Change-Id: Icbf33680bd898ac026ac50f08b57641dfe481f55
CRs-Fixed: 2765976
2020-09-11 05:24:50 -07:00
Srinivas Pitla
0e92e82f74 qcacmn: Add QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS
This change adds QCA_NL80211_VENDOR_SUBCMD_MBSSID_TX_VDEV_STATUS,
and enum for qca_wlan_vendor_attr_mbssid_tx_vdev_status

Change-Id: I4c3f070b29c25f095afdfd587e3f35cb160aefc7
CRs-Fixed: 2759232
2020-09-09 20:47:32 -07:00
Chaoli Zhou
f855cb66d1 qcacmn: QCA vendor interface for GPIO Configuration
Add gpio configuration vendor interface to set target
gpio configuration and output info, meanwhile add
GPIO component id

Change-Id: I0b551cd63b61675406fe37549f2efeca1a2999bf
2020-09-08 02:50:52 -07:00
Debasis Das
10aab5f245 qcacmn: Make API that informs about scan status non-static
The API wlan_cfg80211_scan_done() abstracts the kernel
API cfg80211_scan_done().This should be made accessible
throughout the driver by making it non-static.

Change-Id: Ic1a882a115d11339909e62e53f040774d5370981
2020-09-08 00:47:40 -07:00
Min Liu
0e80359c3e qcacmn: Additional stats through QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO
This commit introduces additional stats to query through
QCA_NL80211_VENDOR_SUBCMD_UPDATE_STA_INFO.

Change-Id: Ibc713d1da81a5bf8fa267a205680aec5539630ce
CRs-Fixed: 2758484
2020-09-03 01:58: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
Bapiraju Alla
cc025bf48c qcacmn: Access scan_req_q under lock
Currently, list empty checks for scan_req_q is done outside the lock.
This is causing synchronization issue during scan and SSR/vdev delete
in parallel.

To avoid this, check for scan_req_q empty inside the lock.

This change also updates the return type of
wlan_schedule_scan_start_request to QDF_STATUS, which is expected by
caller API.

Change-Id: I8b6febdd98af7856fb047b1c9d852e4944a137b5
CRs-Fixed: 2763173
2020-08-31 17:21:33 -07:00
Pragaspathi Thilagaraj
4545f87402 qcacmn: Add support for num of chains configuration nl command
Add support to configure the number of chains over the nl
vendor command
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_TX_CHAINS
QCA_WLAN_VENDOR_ATTR_CONFIG_NUM_RX_CHAINS.

Change-Id: I81eeda348efe36e03620687e81c082d3869fcd35
CRs-Fixed: 2756676
2020-08-31 17:21:18 -07:00
Srinivas Girigowda
a4dbe43acf qcacmn: os_if: Replace QDF_MAC_ADR_STR/ARRAY with QDF_FULL_MAC_FMT/REF
Replace QDF_MAC_ADR_STR/ARRAY with QDF_FULL_MAC_FMT/REF.

CRs-Fixed: 2763028
Change-Id: Ife19dea018bd50d60ef9450fd65bdc39a32ab729
2020-08-28 02:01:07 -07:00
Chaithanya Garrepalli
58b018079f qcacmn: add vendor command for wifistats
Add new vendor command QCA_NL80211_VENDOR_SUBCMD_WIFI_FW_STATS
which is used for wifistats. Also remove
QCA_NL80211_VENDOR_SUBCMD_HTT_STATS which is wrongly used
in place of QCA_NL80211_VENDOR_SUBCMD_PEER_FLUSH_PENDING

Change-Id: Ia73a09419c22c1206f8f933b9cf4b7f22b0399fd
2020-08-27 18:37:07 -07:00
Rakesh Pillai
66b1bf9608 qcacmn: Fix NULL pointer access for mac address logging
The mac address is tried to be logged from a NULL
bss data pointer, which leads to unwanted behavior.

Remove the logging of mac address from the NULL
bss data pointer.

Change-Id: I83a9e8b1dac0bd4983bf074863987d39187f9db9
CRs-Fixed: 2761731
2020-08-26 03:56:09 -07:00
Srinivas Girigowda
5fc5aec1d9 qcacmn: os_if: Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF
Change %pM/QDF_MAC_ADDR_STR/ARRAY to QDF_MAC_ADDR_FMT/REF.

CRs-Fixed: 2760938
Change-Id: I15e51b89e25915feca98da6e7ed89237b415707b
2020-08-23 23:09:40 -07:00
Alan Chen
321ed86cde qcacmn: Add console logging for bss found during scan
Add logic to log number of bss found in dmesg during scan.

Change-Id: Idfa5c548c509f2f0669fd635eb4cae16b23f3990
CRs-Fixed: 2759312
2020-08-22 20:31:42 -07:00
Bapiraju Alla
14e5697391 qcacmn: Update channel tx_time and rx_time to user space
Add support for vendor attributes to update channel tx_time
and rx_time to the user space.

Change-Id: Ifdb50d8f7bcdcf8a560d174cd34efcb1991768a9
CRs-Fixed: 2757211
2020-08-21 06:47:55 -07:00
Rajasekaran Kalidoss
8841346dcb qcacmn: Enhancements to the TWT attributes/parameters (vendor command)
This commit does the following enhancements to the TWT interface:

Corrects the documentation for QCA_WLAN_TWT_SUSPEND and
QCA_WLAN_TWT_TERMINATE. Specifies that these operations carry the
parameters obtained through QCA_WLAN_VENDOR_ATTR_CONFIG_TWT_PARAMS. This
interface is very recently introduced and missed to document the same.
There are no user space or driver components using this interface yet.
Hence, enhancing/modifying the interface.

Corrects the documentation for
QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_DURATION. Mentions that the units it
represent is a multiple of 256 microseconds rather than a TU. The host
driver always interpreted this as an unit in 256 microseconds and there
are no user space implementations that are impacted with this change in
the unit. Hence, modifying the documentation.

Introduces QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT2_TWT_SIZE, which is
similar to that of QCA_WLAN_VENDOR_ATTR_TWT_RESUME_NEXT_TWT, but carries
an offset/data of u32 size.

Introduces MAC_ADDR attribute to represent the peer for the TWT setup
and resume operations.

CRs-Fixed: 2755972
Change-Id: I1c43b9942489177af9b48639d1cb4fd20dfdd80b
2020-08-20 08:00:47 -07:00
Min Liu
44150359c9 qcacmn: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: Ie57f64e4ee195de30271260887c48ecf76f4a2ff
CRs-Fixed: 2680626
2020-08-14 04:12:25 -07:00
Rajasekaran Kalidoss
9faef79402 qcacmn: Additional TWT attributes for response path and resume
Introduce additional attributes for the TWT response parameters from the
host driver. Also, add ATTR_TWT_RESUME_FLOW_ID for TWT Resume request.

Change-Id: I9fb2d2382acd5d82f8a3322c369d5e580a0a1442
CRs-Fixed: 2751902
2020-08-13 12:43:03 -07:00
gaurank kathpalia
63854a8235 qcacmn: Fix compile and other issues in connect request
Fix minor compile and other issues in connect req in connection
manager

Change-Id: I6c5d3146f4022cc4d12ac847815bca311962400c
CRs-Fixed: 2753498
2020-08-12 19:53:16 -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
Bapiraju Alla
1081eb4b63 qcacmn: Enqueue scan request only after scan scheduling is success
Currently, vendor scan request is enqueued in the scan queue first and
then posted into the scheduler queue. Now if there is an SSR in between,
then scan request will be freed twice. Once in SSR context and again
in the caller context because scan scheduling fails due to user disabled
the scan.

To resolve this, post the scan request in scheduler queue first. Once
scan request scheduling is success, then enqueue the scan request in
scan queue. This approach can lead to a race condition like after
scheduling scan request, host may get scan response from firmware even
before the scan request is queued. To avoid this race, scan request
scheduling and enqueue should be protected by scan_req_q_lock.

Change-Id: Ic26da0181fb9a902a8a4abb8f68d9fc668f1b3f2
CRs-Fixed: 2714495
2020-07-27 02:42:36 -07:00
Edayilliam Jayadev
6c76bce586 qcacmn: Modify vendor command handler to accept vdev
The Spectral module uses the first vdev of a pdev for scanning.
For MCL platforms all the vdevs are associated with a single pdev
and this may cause a mismatch between the vdev intended by user and
the vdev used by driver. To avoid this MCL platforms pass a reference
to vdev on which Spectral scan is triggered. WIN platforms
can continue to use the old approach of using the first vdev of a
pdev by passing NULL for vdev to vendor command handlers.

CRS-Fixed: 2725777
Change-Id: I1a7278bdcbcc2b706aa292b33c17546190dac082
2020-07-24 02:01:11 -07:00
Wu Gao
b43c68dedf qcacmn: Gets vdev by id in spectral component
It starts spectral scan without vdev object, and uses the first vdev
as current vdev. which cause vdev mismatch in some platforms. So pass
vdev object or id when finding current vdev.

Change-Id: Iab55afbe2c98906021a008918f186d3d2dce5871
CRS-Fixed: 2716460
2020-07-24 02:01:08 -07:00
Shashikala Prabhu
6d11d6f27a qcacmn: Add support to get pdev_id and psoc from dev_name
LOWI application provides the interface name as part of lowi message to
host driver. Add support in the driver code to get the corresponding
pdev_id and pdev from interface name using  dev_get_by_name().

Change-Id: I267b95c843a9bb1dd0c58ff45767f31999500b1c
CRs-Fixed: 2711423
2020-07-17 01:51:26 -07:00
Abhinav Kumar
f037c70790 qcacmn: Add new attr for QCA_NL80211_VENDOR_SUBCMD_ROAM
Userspace can configure different roam control params as
defined in qca_vendor_attr_roam_control through the roam subcmd
QCA_NL80211_VENDOR_SUBCMD_ROAM and the below attributes:
QCA_ATTR_ROAM_CONTROL_SCAN_FREQ_SCHEME
QCA_ATTR_ROAM_CONTROL_CONNECTED_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_CANDIDATE_RSSI_THRESHOLD
QCA_ATTR_ROAM_CONTROL_USER_REASON

Introduce above new attributes for roam subcommand.

Change-Id: I680ac7973cbe282673cf8cc065a7b643d4503d5e
CRs-Fixed: 2729127
2020-07-16 20:05:34 -07:00
Lincoln Tran
caa1688c1b qcacmn: Vendor command to get the configured band
This commit introduces the vendor command to get the configured band
through QCA_NL80211_VENDOR_SUBCMD_GETBAND.

Change-Id: I3f3de10a3bd32eda2634b400d5191bf67a46eaaa
CRs-fixed: 2729768
2020-07-14 22:45:39 -07:00
Lincoln Tran
ab9b3ce1e0 qcacmn: Vendor command to configure TWT
This commit defines a new vendor interface
QCA_NL80211_VENDOR_SUBCMD_CONFIG_TWT to configure TWT.

Change-Id: I077c26e56dccbcead9d5e770700813b65bb8aff4
CRs-fixed: 2729753
2020-07-14 22:45:36 -07:00
Lincoln Tran
de9b5409c9 qcacmn: Enhance the qca_set_band enum value to BITMAP
Also introduce a new attribute QCA_WLAN_VENDOR_ATTR_SETBAND_MASK
to carry this new bitmask enum. This attribute shall consider the
bitmask combinations to define the respective Band combinations
and substitutes QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE.

Change-Id: Ib00d93147e19593f24bd317c3962e6454e4eafc2
CRs-fixed: 2726283
2020-07-14 22:45:32 -07:00
Ashish Kumar Dhanotiya
eba983ed1e qcacmn: Fix return type of auth type and akm
Currently api osif_nl_to_crypto_auth_type is trying to convert
the nl specific auth types to driver specific auth types but
it does not return the correct value, this api always returns
auth type as none as it never updates the return value after
the initialization.

While parsing WPA and WAPI, open authmode and cipher and akm are
set as none by default.

Thus return converted value of the auth type. Also fix the
return type of the akm conversion. Also avoid setting
open authmode and cipher and akm as none while parsing WPA
and WAPI ie.

Change-Id: I260e58a28ddbf6b20a290488e205586a624c9b46
CRs-Fixed: 2725323
2020-07-07 16:23:18 -07:00
Rakesh Pillai
2a46481ab9 qcacmn: Add vendor attribute to update QoS for UDP packets
Add a vendor command attribute to upgrade the QoS
for UDP packets

Change-Id: Ie29842bfe555aecce847b15f77493662ec491d55
CRs-Fixed: 2724039
2020-07-06 05:35:27 -07:00
Alan Chen
fd5e8cd07c qcacmn: Define a new attribute for Optimized Power Management
Define a new attribute for Optimized Power Management.

Change-Id: Id7480be9ff9c8aa2c9a20ea890b9ae0fd2b52f19
CRs-Fixed: 2705539
2020-06-26 20:18:39 -07:00
bings
88cd0dfcea qcacmn: Remove redundant CONFIG_CRYPTO_COMPONENT
There should be no reason to have macro CONFIG_CRYPTO_COMPONENT.
Replace CONFIG_CRYPTO_COMPONENT with WLAN_CONV_CRYPTO_SUPPORTED.

Change-Id: Ief2b015a8e48c85c383470c669254abfa7404585
CRs-Fixed: 2705994
2020-06-24 11:43:01 -07:00
Min Liu
d0b3820279 qcacmn: QCA vendor attribute to configure NSS
Defines the attribute in SET(GET)_WIFI_CONFIGURATION to dynamically
configure NSS.

Change-Id: Iae0db4ce3aef82c2c075095fea6c34731b86e40b
CRs-Fixed: 2708940
2020-06-16 08:16:17 -07:00
Min Liu
b3cce9518b qcacmn: QCA vendor command for getting STA information
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_GET_STA_INFO with
attributes defined in qca_wlan_vendor_attr_get_sta to get information
for BSS in STA mode or for peer STAs in AP mode. This vendor sub command
can be used to get STA information from driver to userspace.
The attributes defined in enum qca_wlan_vendor_attr_get_sta_info
are used to encapsulate required information.

Change-Id: I9747516de377a2be23cca6023f2e92f014e42ac2
CRs-Fixed: 2591613
2020-06-11 13:08:10 -07:00
Min Liu
10a544393b qcacmn: QCA vendor attribute for dynamic bandwidth adjustment
Define QCA vendor attribute in SET(GET)_WIFI_CONFIGURATION to
dynamically configure capabilities for dynamic bandwidth adjustment.

Change-Id: I97f70a4dc2b62ea2f59da9dbbd356f4c45d268d8
CRs-Fixed: 2704828
2020-06-11 02:04:49 -07:00
Min Liu
b725ee6291 qcacmn: QCA vendor attributes for setting channel width
Define QCA vendor attribute in SET(GET)_WIFI_CONFIGURATION to
dynamically configure capabilities for channel width.

Change-Id: Ice842327ca58e51632ed7acffb4c974629129bd4
CRs-Fixed: 2694595
2020-06-11 02:04:43 -07:00
Alan Chen
9fabb02b2a qcacmn: Match comments for policy OFFLOADED_PACKETS to upstream
The comments for the policy OFFLOADED_PACKETS table do not match
that in the upstream code. Change the comments so that they match
the upstream version.

Change-Id: Ie2a7a3304eb10cc0633070154c581d216fd6e0cb
CRs-Fixed: 2703061
2020-06-08 21:09:47 -07:00
Subrat Dash
40377c0b2d qcacmn: Add a new QCA vendor attribute for OEM data device info
Add an attribute QCA_WLAN_VENDOR_ATTR_OEM_DEVICE_INFO to send
additional information to specify whether the OEM vendor command
is for vdev or pdev.

This optional attribute is used to specify whether the device
type is vdev or pdev. This attribute can be omitted when the
command is for vdev.

Change-Id: Ie6f72d071d1d8393d2c9bf47d7b47a9dd2cbbeed
CRs-Fixed: 2693894
2020-06-08 16:01:16 -07:00
Kiran Kumar Lokere
c5c28eb65e qcacmn: Add QCA vendor attributes to configure PMF and disassoc Tx
Add QCA vendor attributes to configure PMF and disassoc Tx

Change-Id: I26296d3b5758c3caf3ef3034d155fe56d9904841
CRs-Fixed: 2675834
2020-06-08 16:01:12 -07:00
Min Liu
c7bf4efec6 qcacmn: Add QCA vendor interface support to configure PHY modes
Add an attribute that can be used with
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION vendor command to
configure different PHY modes to the driver/firmware.

Change-Id: I850fd6a1edaa9e74957b9f189c9b710212902781
CRs-Fixed: 2694060
2020-06-08 10:30:36 -07:00
Srinivas Dasari
3e3a071188 qcacmn: Define VENDOR_NLA_POLICY_MAC_ADDR for mac addresses
Strict NLA validation is introduced from kernel version 4.20 where
NLA_UNSPEC usage is restricted. A new attibute type
NLA_POLICY_ETH_ADDR is introduced for MAC address.
Define a macro to use this if the kernel version is greater
than 4.19.
Also define NLA_EXACT_LEN as NLA_UNSPEC for kernels less
than 4.20.

Change-Id: I9d9bee7a12d84ca81b5777ccb417a33f08949203
CRs-Fixed: 2701357
2020-06-04 23:23:01 -07:00
Jingxiang Ge
4ee2fa8596 qcacmn: Vendor attributes for configuring LDPC, TX STBC, RX STBC
Defines the attributes in SET(GET)_WIFI_CONFIGURATION to dynamically
configure capabilities: LDPC, TX STBC, RX STBC.

Change-Id: I9d38f436cb6a8ee5a0cf074c22bccb98ffd46df4
CRs-Fixed: 2689416
2020-06-04 20:36:32 -07:00
Rakesh Pillai
cbbb368ed7 qcacmn: Add the dot11 mode 11AX
Add the phy mode for 802.11 AX

Change-Id: I1cc0f94c193e1df6f60ee150598ea61bdac4ee04
CRs-Fixed: 2697055
2020-06-03 14:58:38 -07:00
Min Liu
b1e22e0cbf qcacmn: QCA vendor command for adding and deleting TSPEC
Add a QCA vendor subcommand QCA_NL80211_VENDOR_SUBCMD_CONFIG_TSPEC
to add and delete TSPEC in STA mode.
The attributes defined in enum qca_wlan_vendor_attr_config_tspec
are used to encapsulate required information.

Change-Id: Ifaba68b6619a3f6b775d2150740e7d6a2645493c
CRs-Fixed: 2686133
2020-06-03 09:27:55 -07:00
Min Liu
124f623a19 qcacmn: Vendor attributes for setting TX A-MSDU and RX A-MSDU parameters
Define QCA vendor attributes for SET(GET)_WIFI_CONFIGURATION to
dynamically configure capabilities for TX A-MSDU and RX A-MSDU.

Change-Id: Idcf7de2172cbf0b6710a7256b925939a2321e91c
CRs-Fixed: 2687224
2020-06-03 09:27:49 -07:00
sheenam monga
efbca64bbe qcacmn: Add a vendor attribute to get OEM data
Add an attribute QCA_WLAN_VENDOR_ATTR_OEM_DATA_RESPONSE_EXPECTED
to get the response for the queried data.

Change-Id: Icb3fc7072cf589cf60a7c68b7c1fa74e51dadab8
CRs-Fixed: 2699102
2020-06-01 11:03:41 -07:00
Neha Bisht
466c04dee9 qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h
Remove dependency of wlan_lmac_if_def headerfile from
wlan_objmgr_psoc_obj.h

Change-Id: Ida8472e6f05a90b3930b5a13a2bf89ea8b3e938f
2020-05-15 10:41:46 -07:00
Alan Chen
331f8a3a54 qcacmn: Map qpower vendor command to advanced_power_save_mode
Map qpower vendor command to advanced_power_save_mode in order to support
users of HST as well as HSP.

Change-Id: I38de5981dca384b666b5086727e3da741f0cd4e3
CRs-Fixed: 2676713
2020-05-04 21:28:05 -07:00