Commit Graph

1503 Commits

Author SHA1 Message Date
Ripan Deuri
d66625fbca qcacmn: Add wmi ops to set rate control parameters
- Add wmi pdev param ids.
- Add wmi ops to send set retry thresold, mcs drop value
  and probe intervals.

Change-Id: Ic316337244e8fab07e7ed214c5fe62bf43a827d4
CRS-Fixed: 3126266
2022-02-09 02:06:23 -08:00
Ripan Deuri
88a5486b0e qcacmn: Add support to rate control API - rate upper bound
- Add wmi pdev param id.
- Add wmi ops to send set rate upper cap cmd.

Change-Id: I9da42a53f19fec5b98a271165ec5c6bd7c72c4e5
CRS-Fixed: 3123033
2022-02-07 21:26:06 -08:00
Vivek
3e7c64225c qcacmn: Add SAWF to init resource config
Add SAWf to init resource config to communicate
to the FW to either enable or disable Service Aware Wifi

Change-Id: I8285e383cb464c506e98e3a88dd267dae4b96558
CRs-Fixed: 3101373
2022-02-07 17:57:02 -08:00
Ripan Deuri
839558bc01 qcacmn: Add support to rate control API - rate upper cap
Add wmi pdev rate config support service id

Change-Id: Ibcb26a63da5ff4999b8837454e7796c7645999fe
CRs-Fixed: 3114432
2022-02-07 16:41:30 -08:00
Jyoti Kumari
c84369425f qcacmn: Add MLO STA + NAN + NDI service cap support
Add MLO STA + NAN + NDI service cap support

Change-Id: Ia1b839c70b987025f727466a73d2dfa8efe9a8f3
CRs-Fixed: 3120615
2022-02-02 17:11:28 -08:00
Vivek
aa6ee918d6 qcacmn: Rename the MLO multicast macro
There is a difference in the macro used in the
MLO multicast macro used in control path and DP

Changing the macro to be the same as DP code.
Also fixed minor issue in the MLO mcast WMI
identified while testing with the macro enabled.

Change-Id: I0c24a69628336f74d627863dd4bd4c4bef685b6c
CRs-Fixed: 3102733
2022-02-02 12:06:40 -08:00
Pooventhiran G
886ce189d0 qcacmn: Track PN failures with relevant stats
When validating MMIE, if PN error is found, track it using relevant
statistics. Defined WMI_HOST_RXERR_PN to flag such PN errors.

Change-Id: Icb1fe9a653f67611539b5cb463adfceadedae38e
2022-02-02 03:16:24 -08:00
Basamma Yakkanahalli
cca09acbf3 qcacmn: wmi service support to enable undecoded frame capture
Initialize the below wmi service id to enable undecoded frame
capture filter support. This is added to support monitor status
ring configurations for filtering in PHY error packets.

WMI_SERVICE_FP_PHY_ERR_FILTER_SUPPORT

Change-Id: I2e35609e89ac1ba000118bc2699a8ce61612a267
2022-02-01 19:44:41 -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
Amith Ajith
ac8933ef2e qcacmn: Move partial offload regulatory under macro
Create macro WLAN_REG_PARTIAL_OFFLOAD and move partial offload
regulatory code under it.

Change-Id: If37798abb86deee0bef6e339577da797342c31a4
2022-01-27 03:13:01 -08:00
Adwait Nayak
df88a8bdc9 qcacmn: Place pktlog specific code under BE_PKTLOG_SUPPORT
Introduce a new flag "BE_PKTLOG_SUPPORT" for beryllium specific
pktlog support.

Change-Id: If91156541b322905ad5d97cf2d9d7ae687290ecb
CRs-Fixed: 3115832
2022-01-26 10:59:42 -08:00
Rajeev Kumar
3b085fd248 qcacmn: Clear num stats over QMI once WoW enter/exit
Num stats over QMI indicates how many stats requests are fetched
without triggering RTPM resume. If RTPM resume/suspend happens in
the middle then num stats over QMI counter should reset. Add logic
to reset num stats over QMI counter during WoW enter/exit.

Change-Id: I34fe93759bf8a7a2a6c0d4b389ad96b8e1ba4d6c
CRs-Fixed: 3110590
2022-01-21 20:03:54 -08:00
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
aloksing
6143dc1b09 qcacmn: Add wmi command to enable probing all bw
initialize wmi command id and service id

Change-Id: I657860545af945794260689da7154aec14b91899
2022-01-14 10:54:22 -08:00
chunquan
be297ae0ae qcacmn: Replace blacklist/whitelist with denylist/allowlist
Replace blacklist/whitelist with denylist/allowlist

Change-Id: Ic10f0bb187f44c00f07752cd859a08342a945628
CRs-Fixed: 3087605
2022-01-14 03:50:13 -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
Ashish
0d31a3986e qcacmn: Add support to query BMISS stats from fw
Currently there is no support to read bmiss stats from fw.
With this change, add support to read bmiss stats from fw.

Change-Id: I75dee16fffac88303f22742eda1985dc15c6ec15
CRs-Fixed: 3097302
2022-01-03 02:19:51 -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
Shwetha G K
3ac9cf9e6b qcacmn: WMI support to enable/disable TQM reset
Add WMI command support to enable and disable the
TQM reset on SOC.

Change-Id: Ic9476c56d5a6758ea3006c819372b5f89140a4da
2021-12-27 08:31:11 -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
Shiva Krishna Pittala
6219f3d454 qcacmn: Populate the number of Spectral detector info TLVs
Populate the number of Spectral detector info TLVs and
add the debug prints for Beryllium Spectral TLV extraction APIs.

Change-Id: I1f449389ba630e30e160b3070bee14d93a45c3be
CRs-Fixed: 3097662
2021-12-22 16:50:12 -08:00
Shashikala Prabhu
bb3953b75b qcacmn: Populate MLO Queit IE parameters in beacon template
- Add MLO Quiet IE related parameters in ml_bcn_partner_info structure.

- Populate MLO Quiet IE related parameters in the beacon  template.

Change-Id: I5a4a069d067bdbc5e7c44c407f51a504e9aba151
CRs-Fixed: 3088019
2021-12-21 10:23:25 -08:00
Sai Pratyusha Magam
60ada52a22 qcacmn: FIPS waikiki support for zero aad and payload length
Support for zero aad and Payload length

Change-Id: I6961c75a1e69261622ebe566b9ec11e44ac98b7f
2021-12-17 02:03:15 -08:00
Abhishek Singh
a83c541117 qcacmn: Remove Union in mlo_link_set_active_param
Remove Union between link_num and vdev_bitmap as
it is possible send vdev_bitmap along with link_num
for forcemode MLO_LINK_FORCE_MODE_ACTIVE_NUM and
MLO_LINK_FORCE_MODE_INACTIVE_NUM.

Change-Id: Ie15c5f20d7990baebee50bdc7a37734331eb891c
CRs-Fixed: 3090334
2021-12-13 19:13:31 -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
Sai Rupesh Chevuru
f204c33ff4 qcacmn: removal of PEER_DMS_CAPABLE
As the fw interface are changes are merged for ME6,
Enabling ME6 feature by removing PEER_DMS_CAPABLE flag.

Change-Id: I0535abadd8dd270f124ba620fe7faed05eb77a26
2021-12-08 12:41:36 -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
Venkateswara Swamy Bandaru
d2d8b77ec4 qcacmn: Add support for 11be D1.2 eht mcs map
Add support for 11be D1.2 eht mac map.

Change-Id: Ie5e0934f01c5614c0d2788d9b56b2e755ea23b1d
CRs-Fixed: 3081122
2021-12-05 22:53:43 -08:00
Yu Wang
2cec5acc85 qcacmn: move MLO related common definitions to umac
WMI includes are not part of include path in some WIN projects,
move MLO related common definitions to wlan_mlo_mgr_public_structs.h.

Change-Id: If63c82bc15a2a0e0a045be896b74ea9addb3a64d
CRs-Fixed: 3083776
2021-12-03 03:05:22 -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
Karthik Kantamneni
b2d135c7fd qcacmn: Fix WMI DIAG event drop over CE7
When WMI diag events are received over CE7,
wmi handle is mapped to null and all the diag
events are freed without processing.

Fix this by properly mapping wmi handle when
diag events received over CE7.

Change-Id: I3dc4f7ce37981a31cb6f01fc66edf6248682bea3
CRs-Fixed: 3082960
2021-12-02 03:41:41 -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
Yu Tian
57efb6a13b qcacmn: Refine WMI TLV variable name to comply with FW API
FW API is got updated, change is used to comply with API
macro definitions.

Change-Id: I4feb27dbc00f3afb70f2de894adf7995401ee9c4
CRs-Fixed: 3081309
2021-12-01 20:10:13 -08:00
Disha Das
4b0a899533 qcacmn: FIPS waikiki WMI TLV
Align FIPS waikiki data TLV.

Change-Id: I6343cbd821809a88d07819933ba1f8019f50e08f
2021-11-30 02:27:52 -08:00
Harsh Kumar Bijlani
d7aada5bea qcacmn: Convey vdev_stats_id to FW in wmi_vdev_create_cmd
In BE architecture, HW provides basic vdev stats support for upto
48 vdevs. For each vdev, there is vdev_stats_id which represents the
id of this vdev on HW. This vdev_stats_id is assigned by host and
is conveyed to FW at the time of vdev creation in wmi_vdev_create_cmd.
FW uses this vdev_stats_id to fetch the stats from HW.

Add logic to convey vdev_stats_id to FW at the time of vdev create.

Change-Id: I91782c73a7f3f94175a0c28ab4adda2d894856db
CRs-Fixed: 3069992
2021-11-30 00:57:54 -08:00
Vivek
b33bf95ae5 qcacmn: Add mlo mcast vdev flag for vdev start
For MLO, we need to designate one of the link vdev
as mlo vdev, on which FW will accept the multicast
frames and for the other link will drop the mcast frames.

So as part of vdev start, we indicate the mlo mcast
vdev in the first vdev of the mlo.

Change-Id: Ic962a6e1fead4a3cab7c622583392ecf373f4783
CRs-Fixed: 3080525
2021-11-29 02:06:30 -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
Arun Kumar Khandavalli
9a8ec0435d qcacmn: print more debug information in tlv parsing failure
Currenly whenever there is a wrong tag in the event given tag
and expected tag is printed without pointing to the which tlv
in the event has caused the issue.

Add more information to point which tlv in the event is wrongly
populated which will help in debug.

Change-Id: I606781548290949d1954b45767fa47afc4e22481
CRs-Fixed: 3071031
2021-11-26 02:06:27 -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
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
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
Pragaspathi Thilagaraj
465d1dfb24 qcacmn: Fix invalid conditional check for BTM preference
While parsing the BTM request candidates TLV, there is a
wrong conditional check to avoid buffer over read.

Fix invalid conditional check for BTM preference

Change-Id: I76e55cebc9525ee4a690747c9372c6f2a8166325
CRs-Fixed: 3078160
2021-11-19 04:35:23 -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
11913de138 qcacmn: Copy BTM token from roam trigger event
BTM token value is always 0 in the BTM logs.
Copy btm token from the roam_trigger_data tlv in
the roam stats event.

Change-Id: Iebfb07c5a05bad202fbd5a2f52ddcee5243dedb8
CRs-Fixed: 3075276
2021-11-18 17:05:23 -08:00