Commit Graph

1913 Commits

Author SHA1 Message Date
Jianmin Zhu
476e23f5cb qcacmn: Add service bit for p2p device update mac addr
Add service bit for p2p device update mac addr dynamically.

Change-Id: Ib957aa606c640e6b94db580e33a4454e90da2f49
CRs-Fixed: 3687270
2023-12-28 13:01:22 -08:00
Asutosh Mohapatra
56e6df6383 qcacmn: Send additional interface combinations to fw
As part of set feature set command, update STA_P2P,
STA_SAP, STA_NAN, STA_TDLS, STA_SAP_P2P, STA_SAP_NAN,
STA_P2P_NAN, STA_P2P_TDLS, STA_SAP_TDLS, STA_NAN_TDLS,
STA_SAP_P2P_TDLS, STA_SAP_NAN_TDLS, STA_P2P_P2P_TDLS,
STA_P2P_NAN_TDLS iface combinations to fw.

Change-Id: I360ee80778ce4a7a89341374ab3e861890507ef2
CRs-Fixed: 3674698
2023-12-14 09:10:54 -08:00
Jianmin Zhu
7555136c16 qcacmn: Avoid assert for race condition issue
If wmi_update_stats_event_id handler is unregistered between
wmi_unified_get_event_handler_ix and wmi_handle->event_handler
called in __wmi_control_rx for race condition issue, assert will
happen for invalid event_handler.

To avoid it, validate wmi_handle->event_handler when call it.

Change-Id: Ibcb0c076c3d5f80f506f3338dd0c5ee313e5a9b7
CRs-Fixed: 3667177
2023-12-07 22:38:58 -08:00
jinbao liu
7f2e70fcec qcacmn: Add wmi APIs for multi rx reorder queue setup
Add wmi APIs for multi rx reorder queue setup to save setup time.

Change-Id: I5a4c89b88b4ba076d1883edc44b075fbceca27eb
CRs-Fixed: 3659035
2023-12-07 22:38:47 -08:00
Will Huang
b55e7ac81f qcacmn: Add support of sending multiple COEX config
Add an API to support sending multiple COEX config in one WMI command.
This is to optimize and save target host to firmware WMI command
communication time.

Change-Id: Ie510ee3ebfca67a2b748c403ec52a8d7b597f676
CRs-Fixed: 3651226
2023-12-05 02:18:28 -08:00
Srinivas Dasari
91f4b92931 qcacmn: Add debug logs at WMI layer to dump the mcast filters
Currently, mcast filter mac addresses are logged at PM layer
as part of filter preparation, but it's difficult to understand
which mac address are sent to firmware.
Add logs for the same at WMI layer to dump the final mcast
filters.

Change-Id: I43c8b0e1107129a0070f141eb3edda75349d5233
CRs-Fixed: 3669791
2023-11-28 04:08:34 -08:00
Asutosh Mohapatra
3ed7625c2a qcacmn: Check wmi service ext2 bit set with caution
Currently while checking for wmi service bit,  if
service bit is part of service ext2, host is not
validating if service bit index is valid or not,
and returns incorrect value.

For example, if host is checking for
WMI_SERVICE_PDEV_PARAM_IN_UTF_WMI and
num_wmi_service_ext_bitmap value is 4 then this service
bit can't be set, but seeing this value is set.

To address this issue if service ext2 bit
index is valid or not.

Change-Id: Ie4c766219e3793b46fa88dddb9544786142b92ef
CRs-Fixed: 3662190
2023-11-28 00:43:48 -08:00
Ashish Kumar Dhanotiya
6d2a8d0925 qcacmn: Add support for ll_lt_sap service capability
Add support for ll_lt_sap service capability

Change-Id: I8c180c824faa804d52c25b7a0f2649f5c2c02fcd
CRs-Fixed: 3647648
2023-11-12 15:23:07 -08:00
Rakesh Boyina
47cbcd3bd0 qcacmn: WMI mapping changes for recommended max active links
WMI mapping changes for recommended max active links parameter

Change-Id: Iea9b674f47d23bd9e392cdafb1f6b08b1a28fda3
CRs-Fixed: 3643059
2023-11-05 12:37:03 -08:00
Ashish Kumar Dhanotiya
fc3c65c255 qcacmn: Add bearer switch WMI interface changes
When there are more than one audio transport mediums
are available, there is a possibility to switch the
audio transport medium from one medium to another
medium.
To provide this support to switch the audio transport
medium, and to indicate the status of the bearer
switch to fw, add WMI interface changes.

Change-Id: Ic9a2406e3be339b644ff8918a2a0f95705b0620b
CRs-Fixed: 3653960
2023-11-03 10:09:36 -07:00
Madhavan Ganesan
86db3eda0e qcacmn: Update the fixed param for UTF command and event id
Update the fixed param for UTF WMI command and event id.
Update the pdev_id in UTF command id.

Change-Id: I67d1e5698a31acd630a4c4f60410dff454999c5d
CRs-Fixed: 3648165
2023-10-31 01:49:26 -07:00
Himanshu Batra
e0aa09dbbf qcacmn: Add WMI pdev param for 3-link MLO TX
Add WMI pdev param for 3-link MLO TX

Change-Id: I39b1ed7e8e7967f60d1815929980ff0cce80d085
CRs-Fixed: 3648527
2023-10-31 01:49:13 -07:00
Himmat Lal
9bad623d07 qcacmn: Add WMI support for ulofdma_rtd feature
Add WMI support for ulofdma_rtd feature

CRs-Fixed: 3630903
Change-Id: I1359ea807b072dc7e53a68e1e823944927547afc
2023-10-19 14:42:55 -07:00
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