Commit Graph

1871 Commits

Author SHA1 Message Date
Tiger Yu
d187eb44e0 qcacmn: Fix the memory leak for the wmi_rx_diag_work_queue
Add workqueue destroy in the wmi detach for the wmi_rx_diag_work_queue
to avoid the system memory leak.

Change-Id: Ic183ddaa2e53292a50e0b379877a92ddcaf45b02
CRs-Fixed: 3597405
2023-08-31 18:36:49 -07:00
Sai Rupesh Chevuru
94eb798731 qcacmn: new WMI peer param to update DMS capability
new WMI peer param to update DMS capability.

Change-Id: I497a8beb2d0afae27b18eac056e7f3a5fcf47f82
CRs-Fixed: 3598740
2023-08-31 18:36:19 -07:00
Amruta Kulkarni
1684c8ceac qcacmn: T2LM timer changes
Currently the T2LM timer is maintained by host.
Code change made to add support to run the T2LM timer in FW.

CRs-Fixed: 3594141
Change-Id: I7eee4800f68b07d5492a0336e3fe8e0db17d2020
2023-08-31 11:02:17 -07:00
Basamma Yakkanahalli
e3dd0df678 qcacmn: DBR Support extract standalone sounding CQI metadata
Added change to handle TxBF standalone sounding CQI data.
1. Define and handle structure to support new TLV for CQI data.
2. API to extract new meta data TLV added for CQI data
3. API to handle processing CQI data.

Change-Id: If6e654fc03cc5c150b85bc9af487c58b77d78e1d
CRs-Fixed: 3594811
2023-08-29 15:05:08 -07:00
Subrat Mishra
8074e983d6 qcacmn: WMI pdev param for ATF VO and VI setting
Add WMI pdev param for ATF VO and VI setting in TLV path.

Change-Id: Iad5cb98e1146e151e9888fb33c148299a339006a
CRs-Fixed: 3596889
2023-08-28 21:13:15 -07:00
Jianmin Zhu
f6fa6b6729 qcacmn: Pass hopping radar test when DFS puncture enabled
Hopping radar happens on whole band, hope all DFS sub channels are put to
NOL, but F/W only reports single radar event on special freq to host.
When DFS puncture enabled, sub channel marking is enabled, host only put
single affected 20M sub channel to NOL instead of all current bonded sub
channel, AP still stays on current freq for valid puncture bitmap
instead of leave DFS freq.

If the radar is a frequency hopping radar that truly hops over entire DFS
band, then the AP and clients are best served by moving out of the DFS
band. But it could well be that only part of the band is used. It is
difficult to find product specifications with info on the total bandwidth.
Mostly military systems use frequency hopping to avoid jamming. So a middle
ground would be to put full bandwidth of current AP to NOL for FCC type 6
frequency hopping radar.

When frequency hopping radar happens, F/W set flag that full bandwidth need
put to NOL in new added tlv radar_flags of event
WMI_PDEV_DFS_RADAR_DETECTION_EVENT, When find the flag is set, host will
put full bandwidth of current AP to NOL even sub channel marking is
enabled.

To avoid compatibility issue between old/new F/W and new/old host, add a
F/W service bit wmi_service_radar_flags_support and host service flag
is_full_bw_nol_supported.
If the wmi_service WMI_SERVICE_RADAR_FLAGS_SUPPORT is enabled by FW, host
shall set/unset a bit in the host service flag is_full_bw_nol_supported
based on host capabilities. This host service flag is then sent to FW via
WMI_INIT_CMDID.

Change-Id: I6e280ca4ab00dce97c5aec90c7a4b4fc7c4a440a
CRs-Fixed: 3595476
2023-08-28 05:44:04 -07:00
Kiran Venkatappa
42e618a774 qcacmn: Add support to send TWT IE in assoc/probe rsp
Add support to send TWT IE in assoc/probe rsp to fulfill WFA requirement
FW sends TWT IE in mgmt rx event for probe req and assoc req. Send this
IE in probe rsp and assoc rsp. This change takes care of extracting TWT
IE in mgmt rx event.

Change-Id: I1a97eb58c03f76c7ced31349dc0e3b4a908ceda0
CRs-Fixed: 3585625
2023-08-22 19:23:56 -07:00
Rakesh Boyina
64dc3a4199 qcacmn: Add Max ML Peer ID support from target capability exchange
Add support to parse the Max ML Peer ID's parameter received from target
capabilities and update the parameter in global MLO context.

Change-Id: I4118d288a312dc4a18182caf765b0ded014b985a
CRs-Fixed: 3556542
2023-08-18 18:11:11 -07:00
Pragaspathi Thilagaraj
088f88a3a3 qcacmn: Update version for some supported feature set
Update version for vendor request 1 and vendor request 2 as
below:
vendor_req_1_version: WMI_HOST_VENDOR1_REQ1_VERSION_4_00
vendor_req_2_version: WMI_HOST_VENDOR1_REQ2_VERSION_3_50

Change-Id: Ib8ff2596c415453c26de3d7d26dce5dceed30556
CRs-Fixed: 3589711
2023-08-18 18:10:28 -07:00
Rahul Gusain
94ce1bb20d qcacmn: Exchange CSID cap and GTK param
To support group NDP security, WiFi-HAL and firmware introduces
two new parameters (csid_cap and gtk_required) in NDP initiator
request, responder requestor and NDP indication event.

Host driver will retrieve the CSID capabilities and GTK parameter
and parse it to firmware in NDP Initiator and Responder request
TLV. Also, driver extract these parameters from NDP indication TLV
and will pass to Wifi-HAL in vendor event.

Change-Id: I23483141219e4224bb76ed209aee46e131eaa747
CRs-Fixed: 3583154
2023-08-14 15:22:21 -07:00
Jianmin Zhu
a36af132e6 qcacmn: Fix assert when send ll_stats during suspending
When WoW enable cmd has been sent to F/W, but no ack from F/W yet,
UNIFIED_LINK_STATS_GET_STA is sent over WMI, assert will happens.

To fix it, once WoW enable cmd has been sent to F/W, don't allow
UNIFIED_LINK_STATS_GET_STA sent over WMI.

Change-Id: I13271e88310bc510a9c7668d193f6e776554a442
CRs-Fixed: 3585971
2023-08-14 03:17:35 -07:00
Sheenam Monga
cdcfc4efcc qcacmn: Add support to send CP stats req
Add support to send CP stats request for
type TYPE_REQ_CTRL_PATH_RRM_STA_STAT.

Change-Id: Ibf83c71e9a81cfb127ddc187e6f8960f6d04fddb
CRs-Fixed: 3583928
2023-08-13 23:58:27 -07:00
Sheenam Monga
2ba3bfc4f7 qcacmn: Add support to extract RRM sta stats
Add support to extarct sta stats from WMI_CTRL_PATH_STATS_EVENTID
by extracting wmi_ctrl_path_sta_rrm_stats_struct data

Change-Id: I7235b8cb0237d828b0fe5e5eab0feadc016d9269
CRs-Fixed: 3583920
2023-08-13 23:58:15 -07:00
Shwetha G K
03f89b0b85 qcacmn: Return error when aoa_caps tlv is NULL
Return error status when FW does not share aoa_caps

CRs-Fixed: 3586316
Change-Id: Iea7c49e9332a969286ff612ed8c2b527b9a29c85
2023-08-11 14:59:56 -07:00
Priyadarshnee Srinivasan
bdf7db0a32 qcacmn: Modify wmi_nofl_info_high definition
Modify wmi_nofl_info_high definition to print only if
QDF_TRACE_INFO_HIGH_NO_FL debug level is set.

CRs-Fixed: 3570322
Change-Id: I879a9d917ff698aeb6b3e53a85c765a74a902b36
2023-08-11 14:59:45 -07:00
Manoj Ekbote
b9322f12bd qcacmn: Support for RF path selection
Includes changes:
1. Save frequency values from EXT and EXT2 events to psoc object
- wireless_modes, low/high 2 GHz chan and low/high 5 GHz chan from EXT event
- wireless_modes_ext, similar frequency range fields with _ext from EXT2
event. Frequency range fields with _ext are non-zero when a radio supports
overlapping frequency. Eg.Radio that supports 5 GHz full and 5 GHz high band will
have low/high 5 GHz fields populated with primary band values in EXT event and
low/high 5 GHz fields are populated in EXT2 event with secondary band
values. These values are stored in tgt info for later use.
2. Modify regulatory APIs to get and set the wireless modes in reg
component
3. Retrieve frequency fields from EXT2 event

Change-Id: I49ebcc7ee7b26bd115f37abc8cb5b6fa5a415eda
CRs-Fixed: 3576551
2023-08-11 01:24:54 -07:00
Pragaspathi Thilagaraj
cbefdcb9f0 qcacmn: Add support for WMI_ROAM_SYNCH_KEY_EVENTID
Add support to handle WMI_ROAM_SYNCH_KEY_EVENTID.
WMI_ROAM_SYNCH_KEY_EVENTID is received after roaming to 3 Link
MLO AP when standby link is supported.

Add changes to register handler function pointers and parse
the event.

Change-Id: Iee17560f9f1f3242ef512a550764a9c64319b67f
CRs-Fixed: 3571673
2023-08-10 14:42:56 -07:00
Shwetha G K
923e2c3f6d qcacmn: Add enhanced AoA support
WMI changes to support enhanced AoA for CFR

CRs-Fixed: 3553719
Change-Id: Ic09940d3ce7d4eaed81e666b0c891294a82bc4bb
2023-08-09 07:26:06 -07:00
Shwetha G K
7d60fb8543 qcacmn: WMI changes to extract AoA capabilities
Add changes to extract AoA capabilities from EXT2
SERVICE READY EVENT

CRs-Fixed: 3553405
Change-Id: I240d8420a75419f3dde0abd03ef1d6b61abbc3e9
2023-08-08 15:27:19 -07:00
Sai Pratyusha Magam
ffa5a06030 qcacmn: Populate 11AZ SECURITY CONFIG in vdev_param_tlv
Populate 11AZ SECURITY CONFIG in vdev_param_tlv

Change-Id: Ifde9fea68534c00a74230bd886c694e7eb90988c
CRs-Fixed: 3575149
2023-08-07 08:09:41 -07:00
Krunalsinh Padhar
d3e95e7607 qcacmn: Send rf path WMI command
Prepare and Send WMI command to fw to set the rf path. Also, add module
ID for rf path switch for qdf log prints.

CRs-Fixed: 3568221
Change-Id: I7ef0ffe66eaed837424699641d3e5b8537cd0304
2023-08-04 02:49:21 -07:00
Ripan Deuri
9e376fe3d8 qcacmn: Disable FW AST indication for WDS peer
Disable FW AST indication for WDS peer.

Change-Id: Ib2a34fe458841ae00c06be599d9620f4210e9148
CRs-Fixed: 3577688
2023-08-03 13:18:18 -07:00
Vinod Kumar Pirla
35ea97c560 qcacmn: Enhancements for link switch connect
Introduce following for link switch disconnect:
    1) Connect request source.
    2) Connect request reason.

If the set MAC address response for new link is successful, post
connection on new link and transition the link switch state to
connecting. If the status of connection is successful, update
the state to link switch complete or else directly go for
deserializing link switch command and posting response to FW.

Based on the final state of link switch at the time of sending
FW response, send the appropirate status of link switch and reset
the state of link switch to idle post FW notify.

Don't unlink BSS incase of failure in connection.

Don't indicate connect results to userspace.

As we are already in serialization due to link switch,
don't serialize/deserialize connection command if it
is due to link switch.

Incase of race condition between link switch connect and
userspace connect/disconnect always abort link switch connect.

Change-Id: Ie350b52021c36802b82d6cb5f6f441fe1bd10458
CRs-Fixed: 3556529
2023-08-02 04:55:17 -07:00
Liangwei Dong
5a23527cfd qcacmn: Extract current active/inactive link bitmap
FW will report current active/inactive link bitmap for
each set link command. Extract them and save to respone
data struct.

Change-Id: I8513391fbf3b181c6182d6568d0ce8e83c627bc6
CRs-Fixed: 3564785
2023-07-31 23:55:45 -07:00
Vinod Kumar Pirla
af6cf93a07 qcacmn: FW Link switch request event handler and cnf resp
Once the FW sends the link switch request to host handle
the request from scheduler thread and send confirmation
back on completion of link switch process with status of
link switch (success/failure).

Add new serialization command type for link switch.

Introduce flags to get the current state of link switch
request, set the state to idle when no link switch in
progress or once the current link switch is completed.
Access to state is protected with MLO dev context lock.
Implement various helper API to:
    a) Transition link switch to next state.
    b) Get current state of link switch.
    c) To check whether any link switch is in progress.
    c) To check whether link switch is happening
       on assoc VDEV or not.

Introduce a new VDEV flag to suggest the VDEV is in
link switch process and also implement helper APIs to
set/get/clear this VDEV flag.
   a) The flag is set at start of link switch, once
      the FW request params are validated and before
      proceeding for link switch disconnect on VDEV.
   b) Clear the flag once the Link switch confirmation
      is sent to FW.

Validate the link switch request params:
     a) IEEE link ID's received.
     b) Check if new connection is part of MLO connection.
     c) Check if VDEV is MLO STA VDEV or not.
     d) Is VDEV in connected state or not, that means
        VDEV is not in transitioning state due to disconnect.
     e) Check if any link switch in progress on this MLD
     f) Current link ID of VDEV equals the FW params.

If validation is successful, serialize the link switch
command and in the serialization activation start the
actual link switch process.

Change-Id: Ie582650541054c8cf39aaa8316e86a7a40256a15
CRs-Fixed: 3556422
2023-07-31 19:38:48 -07:00
Priyadarshnee Srinivasan
ede405d4f8 qcacmn: Modify the debug levels of WMI prints
Modify the WMI debug level prints to reduce the
prints during bootup time.

Change-Id: Ia6d5b45d982280e572d28d1766a796b1e7ce1c60
CRs-Fixed: 3570322
2023-07-31 19:38:09 -07:00
Vijay Raj
38f6a7af8d qcacmn: Add conversion for new twt notification and twt status codes
Introduce new twt statusconversion
HOST_ADD_TWT_STATUS_LINK_SWITCH_IN_PROGRESS and
HOST_ADD_TWT_STATUS_UNSUPPORTED_MODE_MLMR for
individual twt in 11be.

Change-Id: I76194ec0172d06c1b176e3afd3a5e66efdd12f4a
CRs-Fixed: 3568732
2023-07-31 05:43:23 -07:00
jingxiang ge
f8d1f8ac6f qcacmn: Extract aux device capability
Extract aux device capability from service ready ext2
event, and report such info to wma/mlme/hdd.

Change-Id: I888624fd3443118ba66fadd7a40fcce4f4b5d521
CRs-Fixed: 3549753
2023-07-30 22:45:25 -07:00
Chunquan Luo
41a1814948 qcacmn: Fix cur_Rssi threshold not logged for PERIODIC roam
When roam reason is periodic, host driver ignore the rssi
threshold in wmi event parsing.

Change-Id: I66c72576c7a2994d88e4c83bee726d8ec92c4189
CRs-Fixed: 3566441
2023-07-30 15:08:40 -07:00
Aasir Rasheed
8f15871d98 qcacmn: Use WLAN_MAX_ML_BSS_LINKS to check max number of links
Currently, We are using WLAN_MLO_MAX_VDEVS to check
max number of links, However with n link mlo we need
WLAN_MAX_ML_BSS_LINKS to check max number link.

Change-Id: Idd8a96ae80030c813bbdcebcdc4c76d2f93bea5d
CRs-Fixed: 3567342
2023-07-28 05:33:05 -07:00
Jianmin Zhu
830e468aa1 qcacmn: Add OUI config to send SMPS frame along with OMN for specified APs
Add gActionOUISendSMPSFrameWithOMN to send SMPS frame along with OMN for
specified IoT APs

Change-Id: Ida35779d11f9c6d6340afdbebeb788520fa7afdc
CRs-Fixed: 3568462
2023-07-27 04:50:43 -07:00
Vijay Raj
277510a529 qcacmn: Introduce vdev parameter WMI_VDEV_PARAM_DISABLE_2G_TWT
Introduce new vdev parameter WMI_VDEV_PARAM_DISABLE_2G_TWT
in order facilitate  FW to change twt operation state for
2.4 GHz link

Change-Id: I35436245c5e0ee113a8fdc2edba42a7978b2683d
CRs-Fixed: 3560314
2023-07-25 22:29:44 -07:00
Paul Zhang
1ce24c7251 qcacmn: Add wmi param and export structure
Add wmi param and export api for setting wifi standard.
- add param vdev_param_wifi_standard_version;
- export structure WMI_HOST_WIFI_STANDARD.

Change-Id: I8f4151d8d6139c99a4dd6d1a75502f4cf93d5f3a
CRs-Fixed: 3554259
2023-07-19 12:11:36 -07:00
Aravind Kishore Sukla
23374c26c5 qcacmn: Send sta dump feature info to fw
Driver sends feature set information to fw as
part of wmi init command.

Fill sta dump feature info in feature set bitmap
and send it to fw.

Change-Id: If28cd8f10af2333f0f231f0c4ae659ab20c1358a
CRs-Fixed: 3552909
2023-07-18 12:49:59 -07:00
Shreedhar Parande
86ee88bd0d qcacmn: Send bridge peer flag to target
Add and send bridge peer flag to fw.

Change-Id: I15ab04a8646975ad4cc85a66b632f85e359a9158
CRs-Fixed: 3554509
2023-07-18 09:51:47 -07:00
Manikanta Pubbisetty
cbe8170798 qcacmn: Add HIF CE RX support to WBUFF
Currently, WBUFF is being used only for WMI TX buffers.
Add HIF CE RX buffers support to WBUFF in an effort to re-use
the copy engine RX buffers instead of freeing/allocating buffers
for every CE RX transaction. This fixes the problem of CE RX
memory fragmentation.

Change-Id: Id9c043a5c5d0882a7994fa03cd8c335555d46b8d
CRs-Fixed: 3534539
2023-07-18 09:51:03 -07:00
Manikanta Pubbisetty
9b27c6e104 qcacmn: Cleanup WBUFF code to support additional modules
Currently, WBUFF logic is being used only for WMI TX buffers and the
logic is closely tied to the WMI TX buffers alone. It is cumbersome
to extend the support of WBUFF for additional modules in the current
state.

Cleanup the WBUFF code and make it generic to add future module
additions.

Change-Id: Ib20ddd487b4e88c3225da1883ad9ade722c2a606
CRs-Fixed: 3520811
2023-07-18 09:50:53 -07:00
Deeksha Gupta
c22f6c569a qcacmn: convert host to fw phymode enum
During ML peer assoc info send, convert host to fw
phymode enum.

Change-Id: I3744b09f629d3c6b55394d56cd58042f86eec332
CRs-Fixed: 3557285
2023-07-17 13:24:59 -07:00
Karthik Kantamneni
9fad850066 qcacmn: Add FISA dynamic MSDU aggregation size support
Add support in driver to check whether F.W supports
dynamic MSDU aggregation size programming to H.W.

Change-Id: Ifb2d41efb23934414cce38753df82e1d15f01e11
CRs-Fixed: 3540531
2023-07-15 13:34:17 -07:00
Shailendra Singh
584096fde4 qcacmn: Add change to extract per vdev tx power
Add change to extract vdev tx power from vdev extended stats.

Change-Id: I929d642a649653cbbbd3911a11dbba92377f70d1
CRs-Fixed: 3496091
2023-07-14 10:07:46 -07:00
Deeksha Gupta
2799299d9e qcacmn: send ml_partner info during assoc vdev peer assoc cmd
Send ml_partner info during assoc vdev peer assoc cmd

Change-Id: Icd69a513dbaeed7ca334a8627fb4b8a9b28d01c3
CRs-Fixed: 3530674
2023-07-13 11:24:47 -07:00
Deeksha Gupta
d5bf598373 qcacmn: Add new API to convert host to fw phymode
Add new util API to convert host phymode into fw
phymode.

Change-Id: I4edf91f3c4140cf004b2b900cb6ca4290a90b241
CRs-Fixed: 3557258
2023-07-13 11:24:25 -07:00
Himanshu Batra
fe2cdfb7a9 qcacmn: Modify failure handling of PTQM migration WMI command
In PTQM migration WMI command, multiple peer entries can be sent.
If the number of entries are more than WMI buffer size limit, then
multiple WMI commands are sent. If there are some WMI PTQM cmd sent
successfully followed by a failure, reset peer flags only the failed
entries instead of all the entries

Change-Id: I1031f1ac700e05e651a2488827cb6b6cda195bac
CRs-Fixed: 3556179
2023-07-12 07:49:07 -07:00
Ripan Deuri
8c9b52f61d qcacmn: Add INI to disable AST indication
Add INI to disable AST indication. AST disable flag will be
sent to the target in resource config.

Change-Id: If30cac010681faf06bbcaa2d492d6843e3e675d0
CRs-Fixed: 3544223
2023-07-11 15:38:37 -07:00
Balaji Pothunoori
02622819d0 qcacmn: Extract Rx data packet SGI from WMI_VDEV_SMART_MONITOR_EVENTID
Due to limitation uCode always filling SGI as long for VHT mode in
rx_msdu_start_tlv.

This change is to extract VHT Rx data packet SGI from
WMI_VDEV_SMART_MONITOR_EVENTID.

Change-Id: I5fcdc463ea2a6d83253e39cc377a2471aeb4e122
CRs-Fixed: 3477303
2023-07-11 12:49:32 -07:00
Shreedhar Parande
a322f77e8f qcacmn: Define WMI callbacks for v2 ATF WMIs
Define and initialize new WMIs for v2 ATF.

Rename send_set_atf_cmd to send_atf_peer_list_cmd which
is more appropriate.

Change-Id: Icab17703a4ccea8e2b859bf6a18387fbd2234226
CRs-Fixed: 3542065
2023-07-10 21:22:56 -07:00
Subrat Mishra
e6b159369e qcacmn: Extract WMI ATF 512 Max client support from FW
Extract WMI Service bit for ATF 512 Max client support advertised by
Firmware as part of wmi service ready.

Add rxops functions as for upper modules to get it.

Change-Id: I51e8dcaad96bdd29eb6fd4c37b0917127696ede6
CRs-Fixed: 3551661
2023-07-10 18:04:07 -07:00
Deeksha Gupta
5bda5de6ce qcacmn: populate num_max_mlo_link_per_ml_bss in WMI init
Set num_max_mlo_link_per_ml_bss to WMI init command.

Change-Id: I48a46f66cea86ee660656509a9cd688e3e1f7541
CRs-Fixed: 3512393
2023-07-10 12:13:51 -07:00
Deeksha Gupta
589214a617 qcacmn: Extend wmi_service for n-link MLO connection
Extend wmi_service for n-link MLO connection.

Change-Id: I269d1730eb59dcf492aca675b0fbfc3e56a0fbb7
CRs-Fixed: 3512375
2023-07-10 12:13:40 -07:00
Liangwei Dong
7280363bff qcacmn: Add force link state API by link id bitmap
Add send_mlo_link_set_active_id_cmd_tlv API to send
force link bitmap to target.

Change-Id: Ie3a41bd2c82b6d10c8d82e4afa83621969c01798
CRs-Fixed: 3515441
2023-06-28 05:05:18 -07:00