Commit Graph

1900 Commits

Author SHA1 Message Date
Linux Build Service Account
f92a6676c0 Merge "qcacmn: Support 5 GHz high RSSI roam" 2023-10-17 17:40:04 -07:00
Srikanth Marepalli
2ed0f23533 qcacmn: Support 5 GHz high RSSI roam
Support 5 GHz high RSSI roam to higher band

Change-Id: Id757e33161177007a27d150e7fe595e8210849bc
CRs-Fixed: 3630716
2023-10-17 15:53:36 -07:00
Linux Build Service Account
2faf139b73 Merge "qcacmn: Extract band info from wmi_roam_neighbor_report_info" 2023-10-17 14:40:27 -07:00
Srikanth Marepalli
8e03aad368 qcacmn: Do not fill roam fail reason in roam success case
Firmware doesn't fill any roam fail reason in roam success case,
which would result in having fail reason value as '0'.
But driver ends up converting the reason '0' to 'unknown'.
So, convert the roam fail reason only in roam fail case.

Change-Id: I0fea2788673e049fd078bcc6200b9612e538ee37
CRs-Fixed: 3632850
2023-10-11 20:52:25 -07:00
Vinod Kumar Myadam
9bb0d120db qcacmn: Add support for INI twt_disable_info
Add support for INI twt_disable_info

Change-Id: Ib82f238b60e9b56636b9209edfc1e9773708553f
CRs-Fixed: 3629015
2023-10-04 08:13:45 -07:00
Vijay Raj
da8873f2bd qcacmn: Extract band info from wmi_roam_neighbor_report_info
In API extract_roam_11kv_stats_tlv(), band info value is
fetched from wmi_roam_scan_info. This results in failure
during active mode when single tlv is sent for each event
as wmi_roam_scan_info tlv is not populated for event
expect for roam specific events.

Extract band info from wmi_roam_neighbor_report_info
tlv for neighbor report and BTM events in order
to overcome the above mentioned issue.

Change-Id: Ie53ec36ea1b788219b33f0956b489d5bbe0bb9b0
CRs-Fixed: 3631719
2023-10-04 02:32:20 -07:00
Gururaj Pandurangi
852d0cee43 qcacmn: Add support to configure MLD ID in scan request
In the MLO-MBSSID test, STA can request information of
non-Tx BSS through Tx BSS by configuring non-Tx BSS MLD
ID within the ML probe request that is invoked as part
of scan request. Add support to configure MLD ID in
scan start params to FW.

Change-Id: I4a6debf6c3ec830fbe3aee1d3aa60ad7218cbcd6
CRs-Fixed: 3591596
2023-10-02 20:30:12 -07:00
Aasir Rasheed
8c6365939b qcacmn: Send max num of active links to fw
This change is to send max num of active links recommended
by AP to the fw.

CRs-Fixed: 3599429
Change-Id: Id84b7d1aa8d6eb29d3acef2f3e8c552bc6c636f0
2023-10-01 18:12:23 -07:00
Huashan Qu
ad7c045aca qcacmn: Add NULL check for scan_info pointer
Add NULL check for scan_info pointer to avoid NULL pointer deference
in function extract_roam_trigger_stats_tlv().

Change-Id: I42f957d00b1ad27845782f099865210eb4ba24a0
CRs-Fixed: 3624591
2023-09-27 22:14:06 -07:00
Amruta Kulkarni
02a38d9b75 qcacmn: Add wmi service bit support for t2lm
Add support for wmi service tid to link support.
Fw will indicate t2lm support using this bit.

CRs-Fixed: 3605468
Change-Id: I4d5f4e587da1cf362dcfaf2d89e7af176a115dcf
2023-09-26 14:41:11 -07:00
Aasir Rasheed
7b3fb7fb8b qcacmn: Add wmi interface to send CSA status indication
This change is to add wmi interface for sending channel
switch Announcement event status indication from host driver.

Change-Id: I4b22280e4e4c85ebf54394c80d4fefa62eef4b2d
CRs-Fixed: 3616927
2023-09-26 05:26:18 -07:00
Surya Prakash Raajen
6bd218f3be qcacmn: Send standby pdev info to FW
Send standby pdev/radio which is expected to be up while
in powersave mode to FW, to switch master control for
timers.

Change-Id: I4b48d93859359d1b6aee0b9993fd1bd3bff863f2
CRs-Fixed: 3621705
2023-09-25 05:17:23 -07:00
Paul Zhang
a64af3b447 qcacmn: Get profile index and count for non-tx AP
In the scenario about MLO 5 GHz + 6 GHz and 6 GHz is non-tx AP in
MBSSID, if DUT tries to connect 5 GHz link as assoc link and uses
the scan entry generated from 5 GHz beacon. Then there is no info
about profile index and count in the scan entry and these info is
necessary for firmware when vdev up.

To resolve this issue, get the info from 6 GHz scan entry if it
exists.

CRs-Fixed: 3616899
Change-Id: Ic9bf9bc107c3486be1e87ea2c19c5d388ca41883
2023-09-25 01:30:04 -07:00
Linux Build Service Account
0ad872defa Merge "Revert "qcacmn: Trigger recovery when WMI command is sent in wow mode"" 2023-09-22 01:13:57 -07:00
Shashikala Prabhu
f58bde59f4 qcacmn: Print the timestamp of FW_HANG command and Tx completion
A customer has reported an issue regarding the FW not asserting when it
receives the WMI_FORCE_FW_HANG_CMDID from the host. We need to confirm
whether the FW actually receiving the command or it is stuck in the WMI
command queue because it’s full.
To do this, adding some prints along with the timestamps in the WMI command
path and WMI command Tx completion path.

Change-Id: Ib4d6423365a150f91597a9d83ab8a85a053de777
CRs-Fixed: 3598136
2023-09-21 17:57:34 -07:00
Aditya Kodukula
7c2ddd6c3e qcacmn: Hide 4th and 5th bytes of MAC address
Currently in the driver, we hide 2nd, 3rd and 4th bytes of the
MAC address in GKI builds. Since 2nd and 3rd bytes are needed for
debugging, hide only 4th and 5th bytes of the MAC address.

Change-Id: Ia432bb0d40e0a09b56e581f192a810e727127d3a
CRs-Fixed: 3616774
2023-09-20 20:10:21 -07:00
Jianmin Zhu
e5f945ccce Revert "qcacmn: Trigger recovery when WMI command is sent in wow mode"
This reverts Change-Id: I65efe5601e15055c5407f085e1fdcae5b28d6b81.
Its okay to fail send request instead of triggering crash recovery.
Triggering self recovery is only for fatal errors which can’t be
recovered without doing SSR.

Change-Id: I59532074c361bba4412ceb66f3f0e1e99d73bf06
CRs-Fixed: 3617795
2023-09-19 17:21:37 -07:00
Vijay Raj
75a684099b qcacmn: Add support to handle WMI_MLO_LINK_STATE_SWITCH_EVENTID
Register event handler for WMI_MLO_LINK_STATE_SWITCH_EVENTID.
Add target if event handler for the
WMI_MLO_LINK_STATE_SWITCH_EVENTID event, and register
corresponding mlo manager callbacks.

Add extract API for link state switch event parameters received
Call the diag event API from MLO manager post extracting the
event

Change-Id: Ib588ee87a5c37c6a34c86ce8cbf134a273c6461b
CRs-Fixed: 3610041
2023-09-15 21:09:43 -07:00
Surya Prakash Raajen
ff56ef27f4 qcacmn: Add mlo teardown support for standby active mode
Add mlo teardown support for standby active mode in
mlo setup sequences and wmi

Change-Id: Iaa727527c53ff0ad6c7682e039ef23fa537e1ae0
CRs-Fixed: 3613367
2023-09-15 17:34:13 -07:00
Aasir Rasheed
760a93969c qcacmn: Implement handling of mlo standby csa
Implement handling of mlo sta standby csa beacon
and initiate the transmission of a link bss request
command tlv to the firmware for standby link.

Change-Id: Ibdf903c69757b47f301ab9fa7c563407915532d6
CRs-Fixed: 3605764
2023-09-13 14:20:44 -07:00
Gururaj Pandurangi
0b84f05679 qcacmn: Fix compilation warnings on x86
Fix the compilation warnings on x86.

Change-Id: Ic9edafc5b33462f5c96faa391e6441141aa09837
CRs-Fixed: 3591586
2023-09-12 23:35:21 -07:00
Amruta Kulkarni
7dd25ffe56 qcacmn: Add debug prints for Vdev start and peer assoc
Change is made to add debug prints for VDEV start
and peer assoc commands sent to FW.
This change is made to help with debugging logs.

CRs-Fixed: 3611450
Change-Id: I40a0991330edd4ba71b7b71f2f7cf36364f4f365
2023-09-12 23:34:49 -07:00
Srinivas Pitla
734c9fcae7 qcacmn: Add WMI service support for WSI stats info
This change adds service bit support for WSI stats
to FW

Change-Id: I06119c2196b951393e8bbbb82bd4a10436207d63
CRs-Fixed: 3601765
2023-09-11 15:50:57 -07:00
Aditya Sathish
25c27f83e0 qcacmn: Add support for WSI link info libraries
Add support to capture ingress and egress stats
in the MLO manager

Change-Id: Ife0acab15ba802c953cfcf3a720c6e54933ded5e
CRs-Fixed: 3601749
2023-09-11 15:50:46 -07:00
Pragaspathi Thilagaraj
1c1ebf792c qcacmn: Fix two enum members using same name
Fix the conflict between the host and fw enum
for mlo teardown reason.

CRs-Fixed: 3610563
Change-Id: I20638ed0cbe6b88e20f48815c236e92b833a34a9
2023-09-11 03:38:57 -07:00
Vijay Raj
e762867930 qcacmn: Extract MLO specific data for BTM logging
Extract MLO band data from roam stats event for
BTM query, BTM request and BTM response logging.

MLO Band refers to the band of the link involved
in MLO conenection.

Change-Id: Ia60821f7973fe1d39eb824a3eac7791672503084
CRs-Fixed: 3583688
2023-09-09 03:36:54 -07:00
Vijay Raj
489ba59cfe qcacmn: Add MLO support for roam_scan_stats_tlv
Modify roam_scan_stats_tlv and roam_scan_ap_stats_tlv
to introduce mlo specific elements for Roam scan start
and Roam candidate ap logging.

Change-Id: I8e72abc3b888614faf533fd8086cf73a29c26f85
CRs-Fixed: 3582433
2023-09-08 04:12:34 -07:00
Deeksha Gupta
1a1cc914ec qcacmn: Added new parameter in p2p_set_noa command
Added support for new "start" parameter in
p2p_set_noa driver command.

CRs-Fixed: 3598704
Change-Id: I6c9c06ea58e1736dedb3a241b1f04f1b9ce71b44
2023-09-05 20:19:25 -07:00
Vijay Patil
0adf2938cc qcacmn: Add support to handle PEER_OPER_MODE_CHANGE event
Firmware sends PEER_OPER_MODE_CHANGE event to host in SAP
mode when a connected client indicates upgrade/downgrade
of its bandwidth.
Host needs this data as any further SAP bandwidth
upgrade/downgrade should honor the indicated bandwidth for
that specific peer.

Change-Id: If15f491fd970486d8e84d1845866688d837ea2b4
CRs-Fixed: 3604865
2023-09-05 15:15:11 -07:00
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