Commit Graph

1806 Commits

Author SHA1 Message Date
Chaoli Zhou
41ee181b59 qcacmn: Change log level for ready event handler
The qdf_print default log level is error, which is not
properly set for non-critial/fatal case. So change
it to wmi_info by default.

Change-Id: I4507416e241a47e56de48f537cb1ad5ad913c264
CRs-Fixed: 3519208
2023-06-06 11:48:14 -07:00
Aniruddha Mishra
6324e57636 qcacmn: Read MSD values from FW
Get MSD values using FW provided getter functions
and store it

Change-Id: I894ffabd5d46c038c8c552dd670199b94ad6a16a
CRs-Fixed: 3500478
2023-06-02 16:49:52 -07:00
Shashikala Prabhu
6bb6eb3b88 cmndev: Initialize the WMI pending command after target recovery
In the case of SSR, the WMI layer callbacks will not be called as part of
tx completion. Hence, the nbuf and HTC packets are freed in
send_packet_completion(). In this case, the WMI pending command count is
not decremented. During target recovery, this wmi pending command will be
increasing eventually, and assert will be seen when pending commands reach
MAX defined value.

To fix this, initialize the WMI pending commands to zero after the target
recovery.

Change-Id: I56d38d7064bc089725d5453883c22f572e51e078
CRs-Fixed: 3513491
2023-06-02 16:49:02 -07:00
Rahul Gusain
f5f76bb000 qcacmn: Remove NDP_HOST_UPDATE processing
Firmware sends NDP_HOST_UPDATE event as an immediate response to this
request and starts cleaning peers one by one. Once an NDP session is
ended (indicating NDP_END to peer + internal cleanup), firmware sends
NDP_END_IND to host.
Currently, host driver stops the wait timer and change state from NDP
end to disconnected upon receiving the NDP_HOST_UPDATE. But firmware
might still be in the process of NDP cleanup. As the NDP_END_ALL
context is unblocked, driver may send NAN disable request to firmware.
This may cause inconsistency in firmware state machine and firmware may
drop the ongoing NDP_END request. So, peer doesn't get the NDP_END frame
in such cases.
Unblock the NDP_END_ALL-wait call only upon last NDP_END indication to
avoid such issues. This change moves the major functionality of
NDP_HOST_UPDATE processing to last NDP_END indication. Cleanup/remove
the processing of NDP_HOST_UPDATE as it's not needed anymore.

Change-Id: I00e73d211de4626484ffb2483c00adce1a7302c1
CRs-Fixed: 3512923
2023-06-02 16:48:41 -07:00
KARTHIK KUMAR T
cbf0adf63f qcacmn: add recommended err/debug function
add recommended err/debug function

Change-Id: I8a943582bc88c617d257f313c0cd80bb4a3ca8bc
CRs-Fixed: 3499081
2023-06-01 02:58:51 -07:00
Vijay Raj
794da8760c qcacmn: Add WMI_PEER_CONFIG_VLAN_CMDID support for vlan config
Add WMI_PEER_CONFIG_VLAN_CMDID support for to vlan
configuration to FW.

Change-Id: I2f6d15448bb9b2568bdafa21a2c9bca94a915622
CRs-Fixed: 3478611
2023-05-31 21:21:01 -07:00
Aniruddha Mishra
4f5c422aa4 qcacmn: Add max simult links in peer_assoc_params
Add 'max_simultaneous_links' in peer_assoc_params
and send it to FW via peer_assoc_add_mld_params.

Change-Id: Ie4c3492cf03ef43e1bb02122019cda3679fb5f3a
CRs-Fixed: 3476565
2023-05-27 01:40:40 -07:00
Shashikala Prabhu
a4a05a97f8 qcacmn: Avoid crash when wmi max pending commands are reached
If WMI max pending commands are reached and UMAC reset is in progress then
add the WMI pending command to host SW queue instead of crashing. The
reason is FW will not reap the WMI commands from the CE ring when umac
reset is in progress. Hence, add the pending WMI command to host SW ring.

Change-Id: I871147a80669a88875b3f6891bd0b0a56b92733b
CRs-Fixed: 3502217
2023-05-22 07:06:23 -07:00
Arun Kumar Khandavalli
6380e02cbb qcacmn: Add support for nlink mlo support capability
Add support for nlink mlo support capability.

Change-Id: I7b033ce36f35aeb57147f4e7c69328f98e2a9cf7
CRs-Fixed: 3500525
2023-05-21 11:39:07 -07:00
Aravind Kishore Sukla
0229ffd422 qcacmn: Add pdev param map for WMI_PDEV_PARAM_PCIE_CONFIG
Add pdev param id for WMI_PDEV_PARAM_PCIE_CONFIG

Change-Id: I8aab9fcad23d63a9dead92498733637a7e183338
CRs-Fixed: 3488026
2023-05-20 01:46:16 -07:00
Rakesh Boyina
f74c73af6c qcacmn: Add BW argument to frame_injector WMI
Support to pass bandwidth parameter to frame_injector WMI.

Change-Id: Id3836ae98c269659b6ec0f78f1e9c04bf549c64d
CRs-Fixed: 3477889
2023-05-18 12:15:15 -07:00
Vijay Raj
b4c77ab924 qcacmn: Add structure support for vlan peer config
Add structure peer_vlan_config_param for
WMI_PEER_CONFIG_VLAN_CMDID to support vlan peer config

Change-Id: I2f93ce2bd10d1920d33ee0e26d1b7d344813852b
CRs-Fixed: 3492156
2023-05-17 06:23:48 -07:00
Jhalak Naik
d563641c08 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: I5dad3fef7ebfa2af330b95d45cac3bef862f46f0
CRs-Fixed: 3491364
2023-05-16 11:43:24 -07:00
Surya Prakash Raajen
cb01519700 qcacmn: Trigger UMAC reset with mode1 SSR teardown
Add support to trigger UMAC reset with mode1 teardown request
for mode1 target recovery SSR.

Change-Id: Ib2d1679162a2084488081c76f6753287a6e4d5c4
CRs-Fixed: 3458369
2023-05-14 13:37:48 -07:00
Aditya Kodukula
d0badcb989 qcacmn: Add support to extract vdev_extd_stats event
In case of MLO connection, firmware sends each vdev's
status information using extended vdev stats event.
Add support in driver to extract it.

Change-Id: I95f2a96cb7034b5b070cc6f37a97591e01e5893a
CRs-Fixed: 3483730
2023-05-12 16:39:15 -07:00
Shiva Sankar Gajula
0ff3009672 qcacmn: Add support for reset PN value using ft roam peer command
Adding support for reset PN value using
WMI_HOST_PEER_FT_ROAMING_PEER_UPDATE peer command.

Change-Id: Ib486d09c80878d41efa299756e655d66babd825d
CRs-Fixed: 3490034
2023-05-12 05:04:09 -07:00
Rahul Gusain
ce53e06591 qcacmn: extract max number of NAN pairing sessions
Currently, there is no provision to identify that the driver supports
NAN pairing protocol. So, new kernel and new firmware will start
exchanging PASN frames without realization that old driver is loaded
and thus, frames will be drops in driver.

So, to fix this issue, firmware introduces new parameter in nan
capabilities to indicate host about pairing capability. Host driver
extracts the TLV to get nan capabilities and cache the max num of
pairing session.

Change-Id: I4153c7ec4d425294b0799122bf61e735184f0960
CRs-Fixed: 3492518
2023-05-12 05:03:47 -07:00
Aman Mehta
c7a178e42f qcacmn: Add mesh and QCN flags in peer assoc
Set flags in WMI peer assoc to inform FW if node is
1. QCN Supported
2. Operating in Multi-AP mode

If node is 3rd party and operating in Multi-AP mode,
FW and uCode will change crypto register for each Rx/Tx from/to such nodes

Change-Id: If4cf9ec39fa11a90733df45fffa473a672643f8e
CRs-Fixed: 3488865
2023-05-11 06:32:16 -07:00
Nidhi Jain
fc6a569241 qcacmn: Add pdev params for 11az TB Ranging RSID range
Add pdev param to send RSID range to FW for 11az TB Ranging.

Change-Id: I834bb7b56a3ffed1e7db6db70bd72500359178de
CRs-Fixed: 3479571
2023-05-10 00:28:44 -07:00
Chunquan Luo
f5b5040c04 qcacmn: Add roam fail reason which fw update
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Add roam background scan abort reason  for roam fail
reason.

Change-Id: I32bc7202f1f49f9d36e2f2e49bce6e30ea36fa7b
CRs-Fixed: 3477755
2023-05-09 19:27:41 -07:00
Amruta Kulkarni
c16aa9d544 qcacmn: Add handling for mlo link disable event
Add code changes to handle new wmi_mlo_link_disable_event
Extract the wmi event params and store in host defined
structure.

Change-Id: I6893bfa4da7b27f4a9b1ce2936057bb3576a317c
CRs-Fixed: 3458680
2023-05-09 01:48:41 -07:00
abhinav kumar
df618544a3 qcacmn: Process get_cu_for_each_subbw driver command
1. Read the new service capability:
WMI_SERVICE_CCA_BUSY_INFO_FOREACH_20 MHz: Via this host knows
whether FW supports reporting of CCA busy info for each 20 MHz
subband of wideband scan channel or not.

WMI_SERVICE_VDEV_PARAM_CHWIDTH_WITH_NOTIFY_SUPPORT: Via this
host knows whether FW supports VDEV param channel width switch
with OMN/OMI notification or not

2. Register osif callback to send scan done indication to upper
layer

3. Add 2 new scan flags pause_home_channel and
report_cca_busy_for_each_20 MHz

Change-Id: I63d561a3c5f8e49a3ca42d956e6b630c63edeaf4
CRs-Fixed: 3460901
2023-05-03 04:58:20 -07:00
Shivam Kumar
c56fd10862 qcacmn: Fix use-after-free access in wmi_unified_detach
wmi_handle is accessed after free to set wow_enable_ack_failed flag.
Move this to correct place to fix use-after-free access

Change-Id: I8cc956bd433776adda3ff6cca26e7c164877184d
CRs-Fixed: 3485102
2023-05-03 00:03:39 -07:00
Uraj Sasan
0216192471 qcacmn: Populate flags2 bit for rf_swtich
Get the bit value from ini config and populate the resource_cfg,
flags2 bit related to rf_switch which will be later passed via
WMI INIT command to FW.

Change-Id: Ic642dda55850a49944bcf43838c7c5c79bed3587
CRs-Fixed: 3475088
2023-04-27 23:04:06 -07:00
Jingxiang Ge
611a60de98 qcacmn: block wmi cmd once wow enable ack failed
If wow enable ack failed, block all the wmi cmd until
subsystem recovery.

Change-Id: I834623ffa0b2e3bb604bb7ca90fabf7a839642b7
CRs-Fixed: 3469680
2023-04-27 19:55:34 -07:00
Prabhu Dass Mahalingam
424a29be96 Revert "qcacmn: Add MSD support in multi link ie"
This reverts Change-Id:	If5c2955a7bf8638d8725c753bfbe1e50a4836e40

Change-Id: I0783ec1c5ec7633237b888a57b5165295bd01f07
CRs-Fixed: 3436404
2023-04-25 12:08:55 -07:00
D Harilakshmi
eea6497c2c Revert "qcacmn: Add support for handling MLO TSF sync capability"
This reverts Change-Id:	Ie8ca48f8f6065f02eefaea85ad967e32d09787fc

Change-Id: I3cdd1a5748189811222fb5ba18d8dcb9a740c253
CRs-Fixed: 3470139
2023-04-25 12:06:23 -07:00
Prabhu Dass Mahalingam
689ea28f4d Revert "qcacmn: Add pdev params for 11az TB Ranging RSID range"
This reverts Change-Id: I5bc35b8cd297e191ab2de3b1603a82f3c04545a5

Change-Id: Id3caa68e675bb62dbfccd3e10e9f37838a3e7eb8
CRs-Fixed: 3456665
2023-04-25 12:05:53 -07:00
Rajesh Chauhan
40f9c64d23 Revert "qcacmn: Change roam background scan abort log."
This reverts Change-Id: I5aff0a679a4e708345684f763cfadb7eb1c7aae1
which was forced merged without build sanity.

Change-Id: Id0eae813babb6f6918d157bbd67de791bf1b89a7
CRs-Fixed: 3475588
2023-04-23 23:19:14 -07:00
Linux Build Service Account
2a45aec8a8 Merge "qcacmn: Add pdev params for 11az TB Ranging RSID range" 2023-04-21 12:47:48 -07:00
Linux Build Service Account
70cae165fc Merge "qcacmn: Add support for handling MLO TSF sync capability" 2023-04-21 09:15:34 -07:00
Linux Build Service Account
1ef740327a Merge "qcacmn: Update rx_peer_metadata version to DP" 2023-04-21 09:15:23 -07:00
Linux Build Service Account
d6b694b955 Merge "qcacmn: Replace use of WLAN_OPEN_SOURCE" 2023-04-21 09:15:23 -07:00
Linux Build Service Account
e12217cab6 Merge "qcacmn: Add support to peer disable sched mode" 2023-04-21 09:15:22 -07:00
Linux Build Service Account
55db3a4db7 Merge "qcacmn: Change roam background scan abort log" 2023-04-21 03:18:22 -07:00
Linux Build Service Account
ee21c80c5f Merge "qcacmn: Add MSD support in multi link ie" 2023-04-21 03:18:17 -07:00
Jinwei Chen
bedb4f3049 qcacmn: Update rx_peer_metadata version to DP
Save rx_peer_metadata version to wlan_res_cfg, update this value
to DP.

Change-Id: If559d85ebb390b54d267f4bc4ba214631b547d32
CRs-Fixed: 3469154
2023-04-21 03:16:59 -07:00
Jeff Johnson
4612e27f35 qcacmn: Replace use of WLAN_OPEN_SOURCE
Currently the DebugFS logic in utils/fwlog/dbglog_host.c is protected
by the flag WLAN_OPEN_SOURCE. The WLAN_OPEN_SOURCE flag is a legacy
flag which had a specific use that is no longer valid. So replace the
use of WLAN_OPEN_SOURCE with a feature-specific flag.

Change-Id: I82c51efff8dfe6673c6b9d956f974cae2d21bb69
CRs-Fixed: 3464911
2023-04-20 21:28:06 -07:00
Amrit Sahai
47c6e8b612 qcacmn: Add support to peer disable sched mode
Add wmi ops to send peer level disable sched mode cmd

Change-Id: I54956abcd09934c413fc60640e731af910d9ec64
CRs-Fixed: 3471451
2023-04-20 15:59:09 -07:00
Jhalak Naik
7acca67784 qcacmn: Add support for handling MLO TSF sync capability
Add APIs to init the TSF sync capability based on
WMI_SERVICE_MLO_TSF_SYNC service bit sent from FW,
per ML group.

Change-Id: Ie8ca48f8f6065f02eefaea85ad967e32d09787fc
CRs-Fixed: 3470139
2023-04-19 15:10:17 +05:30
chunquan luo
3ef0de967c qcacmn: Change roam background scan abort log
Roam background scan abort, driver print roam result
failed, but current ap is still connected.
Add roam background scan abort support for roam fail
reason.

Change-Id: I5aff0a679a4e708345684f763cfadb7eb1c7aae1
CRs-Fixed: 3470618
2023-04-18 04:29:58 -07:00
chunquan luo
6d4417ce5f qcacmn: Update roam trigger sub-reason
Update roam trigger sub-reason for common roam
and wlan diag event need update to user space.

Change-Id: I66733736d9148e3748c653d4b43a1aa6d2f438cf
CRs-Fixed: 3459385
2023-04-16 20:57:42 -07:00
Gururaj Pandurangi
a24e1ab231 qcacmn: Add a new MSD duration subfield
Add a new MSD duration subfield that holds duration value
in the units of 32us. Deprecate the old subfield msd_dur_us
that holds the duration value in microseconds.

Change-Id: Id4789c550778d901cb519e53e350cc9fc66611e7
CRs-Fixed: 3446377
2023-04-14 23:40:42 -07:00
Jinwei Chen
499696eab5 qcacmn: update TX ILP capability to DP and target
After receiving WMI service ready ext2 event and htt msdu index to
qtype map is derived, call CDP API to evaluate whether TX ILP can be
supported or not, update the TX ILP capability to DP, also send WMI
INIT CMD to FW to notify if host has enabled the TX ILP support or
not.

Change-Id: I472ebc5c7fa4b2996b790b58274fa3c048f6d7f9
CRs-Fixed: 3447519
2023-04-13 20:05:46 -07:00
Jinwei Chen
a3697f6b7c qcacmn: Extract htt_msdu_idx_to_qtype_map for TX ILP
Extract htt_msdu_idx_to_qtype_map array from wmi service ready
ext2 event, it is needed for DP TX ILP feature enablement.

Change-Id: I64766f5b6ebc6632ce4994a8d53224d98beb5879
CRs-Fixed: 3445507
2023-04-11 16:36:41 -07:00
Nidhi Jain
6ab1d63d4a qcacmn: Add pdev params for 11az TB Ranging RSID range
Add pdev param to send RSID range to FW for 11az TB Ranging.

Change-Id: I5bc35b8cd297e191ab2de3b1603a82f3c04545a5
CRs-Fixed: 3456665
2023-04-11 14:33:01 +05:30
Jingxiang Ge
eea7147593 qcacmn: Add OUI config for dynamic qos null tx rate feature
Add gActionOUIDisableDynamicQosNullTxRate to control FW's dynamic qos
null tx rate feature.

Some APs sometimes don't honor Qos null frames with some specific rate.
This ini will disable dynamic qos null tx rate feature for specified
APs.

Change-Id: I7f76d19be6f4714166bf5761b43c7c9c7d041308
CRs-Fixed: 3451330
2023-04-07 06:29:19 -07:00
Kiran Venkatappa
732edac4b9 qcacmn: Add rTWT params in btwt invite sta cmd
Add new params(ul_tid_bitmap & dl_tid_bitmap) for rTWT invite sta cmd.
This will be sent from test command to trigger invite sta.

Change-Id: I843badeb5e826ded5ab4f8083448b2b7fc4c3486
CRs-Fixed: 3456956
2023-04-06 21:49:06 -07:00
Rahul Gusain
ce7ef84e72 qcacmn: Add vdev id in NDP end req TLV
Currently, NDP_END_REQ TLV does not requires vdev id to send to
firmware as firmware maps the NDP session with instance id.
But in some cases, (such as testcase to valid NDP end request on
the vdev id), host needs to send vdev id also in NDP_END_Req.
So, to fix this, in NDP end req TLV, add vdev id with validity
flag to check vdev id is valid or not.  

Change-Id: I23e7b1d4ce01ae87c37567f6f01adda38bf18fb6
CRs-Fixed: 3454796
2023-04-05 20:41:34 -07:00
Vijay Raj
968b7862c8 qcacmn: Introduce roam failure reason code for beacom miss event
Add new roam failure reason code for no ap found and final
beacon miss sent and reason code for no candidate found
and final beacon miss sent

Change-Id: I4c4813efdedd30bd65c7baf0110c292c5ae3573c
CRs-Fixed: 3437119
2023-04-04 05:07:27 -07:00