Commit Graph

638 Commits

Author SHA1 Message Date
abhinav kumar
6c158c59d4 qcacmn: Get per channel pno scan config service capability
Firmware advertises the service capability bit
WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL when it supports per
channel scan config flags. Get this and cache in psoc.

If firmware supports WMI_SERVICE_PNO_SCAN_CONFIG_PER_CHANNEL,
it uses the upper-12 bits(bit-20 to bit 32) of channel_list
for flags and lower 20-bits(bit-0 to bit-19) for frequency.
If firmware doesn't support it, then channel_list holds the
frequency value only. Fill the flags and frequency accordingly.

Change-Id: I30d36a3c164e23cf0395129e5b93d186b81aa8a6
Crs-Fixed: 3103921
2022-01-20 14:13:40 -08:00
Shiva Krishna Pittala
6f5abf5990 qcacmn: Add Host enums for spatial reuse WMI pdev params
Add Host enums for the following WMI pdev parameters related to
Beryllium Spatial Reuse.
    - WMI_PDEV_PARAM_OBSS_MIN_DURATION_CHECK_FOR_SR
    - WMI_PDEV_PARAM_TRUNCATE_SR
    - WMI_PDEV_PARAM_CTRL_FRAME_OBSS_PD_THRESHOLD

CRs-Fixed: 3112080
Change-Id: I19accc6dc2a744599ccce6ebf683499d92881993
2022-01-19 15:30:39 -08:00
Shiva Krishna Pittala
a739a0cabb qcacmn: Add support to extract FFT size capabilities
WMI_SPECTRAL_CAPABILITIES_EVENTID event will be sent by the FW to
indicate different capabilities of the Spectral HW.
Add support to extract the FFT size capabilities from this event.

Change-Id: I9640fa51e4249b9d1c2d9d3ac5da7f1d56c9d006
CRs-Fixed: 3098880
2022-01-09 23:10:04 -08:00
Shiva Krishna Pittala
861c4e29aa qcacmn: Add support to extract sscan bandwidth capabilities
WMI_SPECTRAL_CAPABILITIES_EVENTID event will be sent by the FW to
indicate different capabilities of the Spectral HW.
Add support to extract the sscan bandwidth capabilities from this event.

Change-Id: I6ff6e5a8d80271fa62a430c986f53a321d46c66b
CRs-Fixed: 3098832
2022-01-06 10:40:06 -08:00
aloksing
00dfbabe8c qcacmn: Add wmi command to enable probing all bw
Add wmi command id and service id

Change-Id: I992bcbe41422b58219a2b4c5c91046a8c29ddf6f
2021-12-29 06:43:26 -08:00
Shiva Krishna Pittala
a9547b0f25 qcacmn: Add support to extract fixed params from Spectral Caps event
WMI_SPECTRAL_CAPABILITIES_EVENTID event will be sent by the FW to
indicated the different capabilities of the Spectral HW block.
Add support to extract the fixed parameters from this event.

Change-Id: Ib13108f078de008b6a76a25a010e85a7fdb6f5fe
CRs-Fixed: 3098203
2021-12-28 06:43:12 -08:00
Venkateswara Swamy Bandaru
73cdfcc102 qcacmn: Add EHT vdev multi user configuration defines
Add EHT vdev param multi user configuration defines for each
bit field of the param.

Change-Id: I5f064cff01d30a86086bec0a65561c10e72c613d
CRs-Fixed: 3052451
2021-12-09 14:57:06 -08:00
Liangwei Dong
b6e8d7a2ce qcacmn: Set retry_limit_ext for MGMT frame send WMI command
Some p2p action frame needs big retry count than the default
max 15 retry count to get high tx successful ratio.
FW allocates 3 extra bits for retry count setup.
To use this field needs FW change in CR 3082533.
Set the extra 3 bits "retry_limit_ext" to "tx_param_dword0"
field for WMI MGMT send command. Existing 4 bits
"retry_limit" combines with this new 3 bits
"retry_limit_ext" to create a 7 bits retry count:
bit 0 - 3: retry_limit
bit 4 - 6: retry_limit_ext.
So Maximum 127 retries can be specified to a certain mgmt
frame.
To use this field needs FW change in CR 3082533.

Change-Id: I889933ea1750c03701ba8a60340f27e6c2594c1b
CRs-Fixed: 3082534
2021-12-08 12:41:42 -08:00
Bapiraju Alla
707fb8a2f8 qcacmn: Add support to set MAC address command in WMI
As part of new enhancements, driver is supporting MAC address update
after VDE creation in the FW. To support this feature add WMI support
to send MAC address command to the FW.

Change-Id: Ie4b7291520793c8aa501fefccaf7b91ab22e9054
CRs-Fixed: 3084119
2021-12-06 06:26:43 -08:00
Surya Prakash Sivaraj
c4e6b83afe qcacmn: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response
frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the
scan db.

When the bss info of the preauth candidate is unavailable in
the host/kernel scan entry, supplicant fails to determine the
proper SAE PWE config of the peer and the commit request fails.

Change-Id: I8537147104f30b74ffb2e87946f2e5f4b129f0df
CRs-Fixed: 3075460
2021-12-02 12:15:07 -08:00
Kai Chen
ddc9f472ac qcacmn: Enable MU sniffer mode
Enable MU sniffer mode. MU sniffer mode support match and wildcard
mode.

Change-Id: I919b99ccabfba8f2e3b877831f473f8cf674b59d
2021-12-02 00:06:46 -08:00
Sai Rupesh Chevuru
0860396f1e qcacmn: ME6 changes with DMS enable
In ME6 we are currently using a workaround to send the native wifi packet
through the exception path, as the older HKv1 hardware didn’t support
single packet AMSDU. Since, the hardware is supporting this starting
from HKv2, we are sending ME packets as normal packets to FW with
DMS indication in Peer based meta for Beryllium.

Change-Id: Ic154b438df2c811c845e7c2eaadf252985d419ad
2021-11-29 02:06:19 -08:00
Adwait Nayak
3664b4c5c2 qcacmn: FR65980: Add HYBRID TX support for pktlog
- A new pktlog mode called "hybrid", is added for QCN9224 only.
- Create WDI event for hybrid mode
- Add dummy APIs for monitor filter setting
- Send WMI_PKTLOG_EVENT_HYBRID_TX to FW for umac TLV subscription

Change-Id: I47f4e14bfc766f29a0ab4a8c07ab19e0d919e66b
CRs-Fixed: 3074184
2021-11-26 10:13:12 -08:00
Disha Das
d3873b0cc6 qcacmn: FIPS waikiki WMI changes
Add FIPS Waikiki WMI changes.

Change-Id: Ie84c2db885b7357dd3466df3494d345ce2e5a132
2021-11-23 23:57:13 -08:00
Jingxiang Ge
b966b27c3f qcacmn: classify qmi/wmi for WMI_REQUEST_STATS_CMDID
Classify qmi/wmi by request type, only TYPE_STATION_STATS
is designed to be sent by qmi so far.  other type will
continue go with wmi.

Change-Id: Ibaee99c0a9d59b0db634e84f3c0b6e40b65a185d
CRs-Fixed: 3077792
2021-11-22 13:36:38 -08:00
Debasis Das
299178316e qcacmn: Add support to configure carrier_profile
Add WMI support to send carrier_profile_config to target.

Change-Id: Ic244a8089b91b7dec19563da2f1605cd8111fb22
2021-11-22 02:49:07 -08:00
Li Feng
9cba107914 qcacmn: Add new wmi ops extract_inst_rssi_stats_resp
Add new wmi ops extract_inst_rssi_stats_resp to extract instantaneous
rssi stats resp.

Change-Id: Idce8a5fb0036145aa14682997ca5101666772c70
CRs-Fixed: 3058799
2021-11-18 22:07:59 -08:00
Pragaspathi Thilagaraj
b9b1b7f8ef qcacmn: Fill WTC duration in roam stats event
Currently the WTC duration is not filled from the roam stats
event. This causes the WTC duration to be always 0.

Fill WTC duration from Roam stats event.

Change-Id: Ie616ea1e9a61168f918dc2ac1b5a217901795405
CRs-Fixed: 3073673
2021-11-13 03:46:48 -08: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
Jia Ding
af1339925a qcacmn: Add 160p160 and 320 in enum wmi_host_channel_width
enum wmi_channel_width has defined WMI_CHAN_WIDTH_160P160
and WMI_CHAN_WIDTH_320. Therefore add corresponding
definitions in enum wmi_host_channel_width, which is then
1-to-1 mapped to enum wmi_channel_width.

Change-Id: Iff5dc1f678874e1d15581a1ebbacc06c25d09699
CRs-Fixed: 3062062
2021-10-26 01:15:22 -07:00
Yu Wang
f09d8efa11 qcacmn: add wmi support for MLO link set active command
Add wmi support for MLO link set active command.

Change-Id: If0dbadc3d0687bfeee9e2ddb14e9c843f5ba9250
CRs-Fixed: 3036840
2021-10-22 14:25:57 -07:00
Shwetha G K
682ebee7e9 qcacmn: Fetch gain table idx from cfr event
Fetch agc gain table index from peer capture event
so that it can be populated to CFR metadata

Change-Id: Ic5e86d3947433be4218958badfdb8fc07acded89
2021-10-18 06:13:34 -07:00
Venkateswara Swamy Bandaru
ab2c08d63e qcacmn: Add wmi support for eht vdev params
Add wmi support for eht vdev params
mu mode, puncturing mode, ltf config, dcm
and range extension configs.

Change-Id: I6cfc0297a4a323775614f28717c50109558dd401
CRs-Fixed: 3052104
2021-10-11 14:56:04 -07:00
Venkateswara Swamy Bandaru
d70df100f7 qcacmn: Add 11be D1.0 Capability defines
Add 11be D1.0 Mac and Phy capability defines.
Corrected lengths if the capability fields.

Change-Id: I40e2d048946857498c425ca01c3010f255081833
CRs-Fixed: 3025958
2021-10-05 13:07:50 -07:00
Rhythm Patwa
d3d6af4357 qcacmn: Update the config variable for LPI/SP mode
For enabling LPI/SP mode host service flag bit is expected
to be enabled. Updated the variable name appropriately to
correctly reflect interpretation of the Host service flag.

CRs-fixed: 3024535
Change-Id: Ie5fa2b4036074bf5304c17984007401f821d6d04
2021-10-05 09:52:23 -07:00
Pavankumar Nandeshwar
ebc826e655 qcacmn: Add wmi for mec timer in Beryllium
Add wmi commands to configure mec timer in
Beryllium firmware

Change-Id: I8cb103e70ffa6f589b9befa9b6ce099fd185948c
2021-10-01 15:18:20 -07:00
Shiva Krishna Pittala
61f4418d7a qcacmn: Add support to process spectral scan detector info tlv
FW sends Spectral scan detector info TLV in WMI_PDEV_SSCAN_FW_PARAM
event to indicate the information of a detector participating in a sscan
session. FW sends one TLV of this type for each detector participating
in a spectral scan session. Add support to process the TLV and update
the spectral host data structures accordingly.

CRs-Fixed: 3044193
Change-Id: Ie17b6ea9336ada7a00e4594fa2f7f49ef3d443e5
2021-09-30 18:16:42 -07:00
Shiva Krishna Pittala
e991ce3cdd qcacmn: Add support to process spectral scan chan info TLV
FW sends Spectral scan chan info TLV in WMI_PDEV_SSCAN_FW_PARAM_EVENTID
event to indicate the channel information for a spectral scan session.
Add support to process the TLV and update the spectral host data structures
accordingly.

CRs-Fixed: 3044162
Change-Id: Ibbf7f6bbbb267123bbdf44bcfffa2cfb1c2926df
2021-09-30 18:16:37 -07:00
Pavankumar Nandeshwar
591f8bb3a1 qcacmn: Add wmi to enable wds in Beryllium
Add new wmi to enable/disable wds in Beryllium
firmware

Change-Id: I4439973017d5fda734f5ca351334dc9f03988717
2021-09-30 15:15:20 -07:00
Shiva Krishna Pittala
d36115b849 qcacmn: Big-endian mode changes for Beryllium Spectral
On Beryllium architecture, PHY DMA applies a 32-bit byte swap to assist
in efficient Host reads when connected to a big-endian Host.
This is done to avoid byte swapping at the Host.
So, if the Host reads this data 32-bit word at a time, the byte order
would be intact. Report headers are not a problem because as they are
composed of 32-bit words. For FFT bins, read each DWORD at a time and
extract FFT bins out of that DWORD. Make this change in a generic way to
keep the design uniform across different chipsets and endian modes.

CRs-Fixed: 3042188
Change-Id: Idff1ac7eb5e18c692c9ee8b19b9ae9e6b962d486
2021-09-30 06:27:26 -07:00
Shiva Krishna Pittala
29817dce94 qcacmn: Move REGDMN and wireless modes to reg_services_public_struct.h
There is a requirement to use REGDMN and wireless modes in UMAC layer of
the cmndev component. As the WMI_HOST_REGDMN modes currently are defined in
WMI layer, we can't use them directly in the UMAC layer. Hence move them
to the reg_services_public_struct.h and rename them as HOST_REGDMN modes.
Replace all WMI_HOST_REGDMN instances with HOST_REGDMN. Wireless modes are
currently defined in WIN component, use them to cmndev component.

CRs-Fixed: 3044590
Change-Id: Iee5fa1745a1a44b834334746b10bdbb6f6563a0a
2021-09-27 22:22:23 -07:00
Shiva Krishna Pittala
81f3009593 qcacmn: Add support for run-time enablement of MGMT Rx REO feature
Add INI and WMI service bit based enablement support for
MGMT Rx REO feature.

CRs-Fixed: 3014353
Change-Id: I95650718d69b70f119621a9481dbf1518bc5500b
2021-09-27 17:58:04 -07:00
Pragaspathi Thilagaraj
517a254443 qcacmn: Add support to parse roam frame info TLV
Add support to parse roam frame info TLV

Change-Id: I3addd7256c003ca25c4dd5545ee0aa6a6c18a20f
CRs-Fixed: 3013488
2021-09-22 03:16:07 -07:00
Basamma Yakkanahalli
9ea8540ecd qcacmn: Add service_ready handling for multiple MBSSID groups
Add change to handle service_ready for,
1.  Ema multi-MBSSID group support
2.  Large beacon support greater than 1.5K

CRs-fixed: 3036717
Change-Id: I1c985faf429aacd78ae74fe0ffe18958fd6aa821
2021-09-21 09:30:28 -07:00
Yu Wang
77620f4630 qcacmn: add HW_MODE_POLICY_OFFLOAD wmi service support
The flag WMI_SERVICE_HW_MODE_POLICY_OFFLOAD_SUPPORT indicates
whether HW mode selection offload is supported by firmware or
not.
If it's advertised in service capability, host should not set
HW mode explicitly, firmware takes control of managing HW mode.

Change-Id: I8939b44fd7ed3a674c4da91524c5d5622bf67ce7
CRs-Fixed: 3017054
2021-09-14 21:58:17 -07:00
Rhythm Patwa
7a9dc17c65 qcacmn: Add support for AFC Host service flags
Add support for AFC specific Host service flags to switch
between LPI only and SP+LPI, disable AFC timer and request ID checks
in target.

Change-Id: I34d6adcad6e4a2cd6383c941ed07b98059daeed0
2021-08-31 22:23:51 -07:00
Kiran Venkatappa
718f574750 qcacmn: MLO setup, teardown, ready WMI API
Add WMI APIs for MLO setup, ready and teardown command send and extract
routines

Change-Id: If986124032c4fb9bb3ed2ffbf2ac6db8fe9e0f1f
CRs-Fixed: 2981067
2021-08-31 07:54:54 -07:00
Utkarsh Bhatnagar
b7ab2f5cd7 qcacmn: Add support for Thermal Stats Events
Add support for extracting Thermal Stats Events
from thermal event TLV for FW event
WMI_THERM_THROT_STATS_EVENTID.

Also, added support for FW Cmd to request for
Thermal Stats: WMI_REQUEST_THERMAL_STATS_CMDID

Change-Id: I2bc80d082bda45e2255371bcb0c31d35d9806525
CRs-Fixed: 3016845
2021-08-27 10:23:50 -07:00
Hariharan Basuthkar
21ee351e31 qcacmn: Extract AFC event in WMI layer
Extract the parameters of the WMI_AFC_EVENTID in WMI.

Change-Id: I086f095beb0961dfd7d3813c68e2caedf65a596d
CRs-Fixed: 3023089
2021-08-26 15:48:12 -07:00
Basamma Yakkanahalli
4597a3b4ad qcacmn: Increase WMI_BEACON_TX_BUFFER_SIZE to support 2.3k 20TU prb res
Redefine WMI_BEACON_TX_BUFFER_SIZE for WIN AP as 2500 bytes to support
2.3k 20 TU probe response.

Change-Id: Ia3414b9e49dfbe3839c7b993da74de8d963c24a4
2021-08-26 12:58:36 -07:00
Aakanksha Doda
52595dc304 qcacmn: Add changes to extract halphy_cal_status from FW
Add changes to get halphy_cal_status properly from FW
defined variables to host.

Change-Id: I891420e0d021702553c69569d71db394e897067e
2021-08-23 15:44:10 -07:00
Shiva Krishna Pittala
a52614b732 qcacmn: Add WMI layer functionality for MGMT Rx FW consumed event handler
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add WMI layer functionality for this event handling.

Change-Id: Id95f41a717b88589e861781e1111b17dc90475be
CRs-Fixed: 2959118
2021-08-20 12:57:21 -07:00
Naveen S
d73851c8e5 qcacmn: update for new wmi cmd and evt
Support WMI command/events to dynamically enable/disable calibration in FW
command: set_halphy_cal
command usage: cfg80211tool set_halphy_cal <<value>> <<channel>>
value: bitmap value to be passed ( 0 - 1023)
channel: 0 (home), 1 (scan), 2 (both)

Change-Id: I1d3ab39cf24d0880bf5feac5749b5a93e6d03761
2021-08-18 05:17:12 -07:00
Arun Kumar Khandavalli
09cd3e0dd9 qcacmn: fill htt peer data version as part of init cmd
With latest architecture there are different HTT peer
data versions supported by the firmware, supported htt peer
version will be sent in the service ready and need to feedback
to the firmware in the init command.

Change-Id: Icd0470843198387cd7e0192cbe3821d45ef0534e
CRs-Fixed: 3008706
2021-08-12 03:14:29 -07:00
Edayilliam Jayadev
3b08d50258 qcacmn: Add pdev params to enable/disable tx in DFS channels
Add pdev params to enable/disable transmissions
in DFS channels for scan radio.

CRs-Fixed: 2993345
Change-Id: I0f09c2506ad1f5b7841fed16edf1d00a2aafed96
2021-08-05 08:28:39 -07:00
Surya Prakash Raajen
770f172138 qcacmn: Support vdev level command for mcast steering
Support vdev level command to enable/disable per packet beamforming

CRs-Fixed: 2994832
Change-Id: I3623002764cac49b3880a6345ec00cefaf0b467b
2021-08-05 04:12:06 -07:00
Gyanranjan Hazarika
6f86a02b32 qcacmn: Add ema_init_config to target_resource_config
Add new field ema_init_config to signal the configured value of
beacon size while using MBSSID feature in 6Ghz.

The current allowed range is 1500-3500 bytes.

CRs-fixed: 3004041
Change-Id: Id8cc1b7e4602b2e52b8eb215337070c6e3c26089
2021-08-03 19:54:48 -07:00
sheenam monga
b8483edd35 qcacmn: Add P2P_P2P_CONCURRENCY_SUPPORT wmi service support
Add P2P_P2P_CONCURRENCY_SUPPORT service capablity to
validate whether fw can support p2p concurrency
support or not. when firmware advertises this flag it
can support MCC,SCC, DBS for p2p-GO/GC + p2p-GO/GC.

Change-Id: Ifec4bf984595b06374be9024601733c8537a9c3e
CRs-Fixed: 2984165
2021-08-03 17:34:10 -07:00
Shashikala Prabhu
3925ddf85b qcacmn: Add WMI MLO params for CSA beacon template
A new TLV is added to send partner link CSA/ECSA count offset to FW as
part of beacon template. Add WMI changes to populate these TLVs in the
beacon template send function.

To fix the compilation issue, added forward declaration of 'struct
vdev_mlme_obj' and removed 'include/wlan_vdev_mlme.h' include file from
wlan_mlo_mgr_public_structs.h.

Change-Id: I6e421b29bb887bec711a23db1458aca4d112ade4
CRs-Fixed: 2983249
2021-07-21 21:08:55 -07:00
Jyoti Kumari
e831cf3415 qcacmn: Handle TWT ack event support in wmi init
In WMI INIT, check whether firmware supports the ack event or
not. If it supports then enable driver support and send it to
firmware during WMI INIT.

Change-Id: Icfdee6bc06e6a393de880b87fdab70665ea7c8b4
CRs-Fixed: 2987898
2021-07-20 16:35:51 -07:00