Commit Graph

1834 Commits

Author SHA1 Message Date
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
David Oladunjoye
6182daebfe qcacmn: Add support for aux support capability
Add support for aux support capability.

Change-Id: Ifc955d6dde8f995133cf3c7fb389d5fc3b3a046b
CRs-Fixed: 3509127
2023-06-28 01:23:28 -07:00
Himanshu Batra
be34bbe6fc qcacmn: Add support for ptqm migration
Add support for ptqm migration

Change-Id: I3f3d6e410bee554477e8e058b1da51f2af5abb23
CRs-Fixed: 3529926
2023-06-27 04:03:41 -07:00
Jianmin Zhu
7bfd6efab8 qcacmn: Add OUI config to enable CTS2SELF with QoS null frame
Add gActionOUIEnableCTS2SelfWithQoSNull to enable CTS2SELF with QoS null
frame for specified IoT APs.

Change-Id: I706152ae2ebbecb617ccd1295aee3f723fcb3005
CRs-Fixed: 3533498
2023-06-25 03:04:45 -07:00
SHIVAM KUMAR
833309ab56 qcacmn: Add support to send link recommendation command
Add support to send link recommendation command. This will
allow the user to pick the link that they want to utilise.
It is now the WFA prerequisite for AP.

Change-Id: I7d4459a65ce599aa5f674a3cc4a54185595ede40
CRs-Fixed: 3534151
2023-06-23 15:46:57 -07:00
Aniruddha Mishra
df9658cc1d qcacmn: Add nstrinfo in ml_partner_info and parse
Add nstrinfo in ml_partner_info and parse sta info.
Add nstr_info in ml_peer_ctx and peer_assoc_params
and send to FW

CRs-Fixed: 3483776
Change-Id: I255fc671b84a2048c6057a61a6de8d81db36c681
2023-06-22 06:06:49 -07:00
Nidhi Jain
676e3bd122 qcacmn: Add vdev params for 11az NTB min time between meas
Add host mapping for 11az NTB min time between meas vdev param.

Change-Id: I0e9ecd091459afc509bc96467e4897eb80283624
CRs-Fixed: 3522565
2023-06-21 22:49:22 -07:00
Nidhi Jain
b50d2feef9 qcacmn: Add vdev params for 11az NTB max time between meas
Add host mapping for 11az NTB max time between meas vdev param.

Change-Id: I280a3bdd315bc5e05ca35d27dd16af832ded811d
CRs-Fixed: 3522565
2023-06-21 22:49:11 -07:00
Nidhi Jain
5bac088c52 qcacmn: Add vdev params for 11az TB max session expiry
Add host mapping for 11az TB max session expiry vdev param.

Change-Id: Ifffe373eaf775e1d8acd836ffc66edd77c34271e
CRs-Fixed: 3522565
2023-06-21 22:49:00 -07:00
Abhinav Kumar
c29e8614e0 qcacmn: Process MIXED_MODE_ACTIVE_NUM_LINKS vendor command
1. Host receives QCA_NL80211_VENDOR_SUBCMD_MLO_LINK_STATE
vendor command.
2. parse the new attribute
QCA_WLAN_VENDOR_ATTR_LINK_STATE_MIXED_MODE_ACTIVE_NUM_LINKS
and get the number of MLO links to operate in the active state.
3. If any of the links is in an inactive state due to concurrency,
we need to reject the request.
4. Host sends to FW via WMI command WMI_MLO_LINK_SET_ACTIVE_CMDID via
the below WMI attributes with mode WMI_MLO_LINK_FORCE_ACTIVE_LINK_NUM
and set the wmi flag control_flags to indicate if FW need to use
force link number instead of force link bitmap.

Change-Id: I91759e6a1273d393f4bef1264478950416752355
CRs-Fixed: 3529489
2023-06-21 16:54:09 -07:00
Narayan Subramhanyan
cb3491162c qcacmn: Add wmi pdev param support for phy param
Add wmi pdev param support for long range phy param like cts timeout
slot time etc as part of enabling user config.

Change-Id: If1f3d86e09e634cde43ef8211831511781e96672
CRs-Fixed: 3520970
2023-06-19 07:49:41 -07:00
Aditya Kodukula
db32db91ab qcacmn: Add support for per link stats FW event
Add support in driver to check if FW supports per link stats
in case of mlo connection, using the wmi service event
WMI_SERVICE_PER_LINK_STATS_SUPPORT

Change-Id: I85ea50877455efc3646d3b1892ce855dc07b1dbf
CRs-Fixed: 3520338
2023-06-17 10:31:46 -07:00
Aditya Kodukula
58e80d75bd qcacmn: Fix typographical errors
Fix typographical errors spanned over various files in cmn.

Change-Id: I9fcf3b7f9bb7d7dd406e6576a60aa4eb783c9ceb
CRs-Fixed: 3529628
2023-06-14 22:02:33 -07:00
Gururaj Pandurangi
61a91c820d qcacmn: Add WMI support to force power save active MLO links
Add WMI command support to force power save on all the
active MLO links for a defined number of beacon periods.
Force power save allows the firmware to suspend STA links
for X beacon periods and remain asleep even if the AP
advertises TIM as opposed to regular power save mode where
STA links wake up if the AP indicates that it has buffered
data to send.

Change-Id: I381a107f3f5f479b0eee4f526a49d6fc886aced0
CRs-Fixed: 3509543
2023-06-09 13:50:05 -07:00
Rahul Gusain
cd42d68e8d Revert "qcacmn: Remove NDP_HOST_UPDATE processing"
This reverts commit f5f76bb000.

Change-Id: Id93549d8d8d2607c97f0b800e3377bb632490882
CRs-Fixed: 3523829
2023-06-08 20:47:11 -07:00
Vijay Raj
843992732f qcacmn: Extract Multipass SAP support in target capabilities
In api extract_service_ready_ext2_tlv(), Multipass
SAP capabilities is extracted to enable multipass
sap suppot in host

Change-Id: I422a5dbaca405ceaea70559863af48d046f92cbe
CRs-Fixed: 3515331
2023-06-07 13:58:49 -07:00
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