Commit Graph

398 Commits

Author SHA1 Message Date
Kiran Venkatappa
718f574750 qcacmn: MLO setup, teardown, ready WMI API
Add WMI APIs for MLO setup, ready and teardown command send and extract
routines

Change-Id: If986124032c4fb9bb3ed2ffbf2ac6db8fe9e0f1f
CRs-Fixed: 2981067
2021-08-31 07:54:54 -07:00
Subrat Dash
8525330652 qcacmn: Add WMI support to send the wds AST commands to fw
Add host WMI APIs to send WMI_PEER_ADD_WDS_ENTRY_CMDID,
WMI_PEER_REMOVE_WDS_ENTRY_CMDID, and WMI_PEER_UPDATE_WDS_ENTRY_CMDID
to the Fw.

Change-Id: I32afdac7c366b647ee3196bcb76531295e640b8b
CRs-Fixed: 2997227
2021-08-31 05:39:37 -07:00
Srinivas Dasari
92ba4703ca qcacmn: Add roam_pmkid_request to wmi_ops
Add extract_roam_pmkid_request to wmi_ops to allow cld driver
to register the corresponding callback.

Change-Id: Ifa9cd73d6d62e7411b78b15086d7e166559f6d1c
CRs-Fixed: 3014249
2021-08-28 00:29:38 -07:00
Vijay Patil
e5748271d3 qcacmn: Add extract_auth_offload_event to wmi_ops
Add extract_auth_offload_event to wmi_ops to allow cld driver to
register the corresponding callback.

Change-Id: Ie3417f44360021570ce678ce1c3f949a92424494
CRs-Fixed: 3010510
2021-08-28 00:29:33 -07:00
Utkarsh Bhatnagar
b7ab2f5cd7 qcacmn: Add support for Thermal Stats Events
Add support for extracting Thermal Stats Events
from thermal event TLV for FW event
WMI_THERM_THROT_STATS_EVENTID.

Also, added support for FW Cmd to request for
Thermal Stats: WMI_REQUEST_THERMAL_STATS_CMDID

Change-Id: I2bc80d082bda45e2255371bcb0c31d35d9806525
CRs-Fixed: 3016845
2021-08-27 10:23:50 -07:00
Hariharan Basuthkar
21ee351e31 qcacmn: Extract AFC event in WMI layer
Extract the parameters of the WMI_AFC_EVENTID in WMI.

Change-Id: I086f095beb0961dfd7d3813c68e2caedf65a596d
CRs-Fixed: 3023089
2021-08-26 15:48:12 -07:00
Sai Pavan Akhil Remella
5adde265e2 qcacmn: Add extract_roam_stats_event to wmi_ops
Add extract_roam_stats_event to wmi_ops to allow cld driver to register
the corresponding callback.

Change-Id: I77ebb05a1a2ce9fa0b2f2f2ffb50c523ab9070e6
CRs-Fixed: 3007690
2021-08-24 13:12:53 -07:00
Shiva Krishna Pittala
57543be336 qcacmn: Add WMI layer functionality for MGMT Rx REO filter config command
WMI_MGMT_RX_REO_FILTER_CONFIGURATION_CMD is used to the configure re-order
criterion for incoming management frames. Add WMI layer support for the
same command.

Change-Id: If1498fd4fbccd86e7d54d9eac268868b36523d06
CRs-Fixed: 2960472
2021-08-21 13:06:51 -07:00
Shiva Krishna Pittala
361f45dd82 qcacmn: Add APIs to extract MGMT Rx REO params tlv
When MGMT Rx REO feature is enabled, FW will be sending MGMT Rx REO
parameters TLV as part of WMI_MGMT_RX_EVENTID for the frames that require
reordering. Add APIs to extract the same.

Change-Id: I57b132927cf413384d680b5778bfe6a2e2737adf
CRs-Fixed: 2960471
2021-08-21 13:06:43 -07:00
Aditya Kodukula
e668136ffc qcacmn: Support Multicast Domain Name Server Offload
The purpose of the multicast Domain Name System (mDNS) is to resolve
host names to IP addresses within small networks that do not include
a local name server.

It utilizes essentially the same programming interfaces, packet formats
and operating semantics as the unicast DNS, and the advantage is zero
configuration service while no need for central or global server.
Based on mDNS, the DNS-SD (Service Discovery) allows clients to discover
a named list of services by type in a specified domain using standard
DNS queries.

Here, we provide the ability to advertise the available services by
responding to mDNS queries.

Change-Id: Ie6a3cd319d219c2f338d83f4bdbd704a090711c4
CRs-Fixed: 3008552
2021-08-20 22:02:19 -07:00
Shiva Krishna Pittala
a52614b732 qcacmn: Add WMI layer functionality for MGMT Rx FW consumed event handler
When MGMT frames are consumed by the FW, FW sends MGMT Rx FW consumed event
to the Host. Add WMI layer functionality for this event handling.

Change-Id: Id95f41a717b88589e861781e1111b17dc90475be
CRs-Fixed: 2959118
2021-08-20 12:57:21 -07:00
Naveen S
d73851c8e5 qcacmn: update for new wmi cmd and evt
Support WMI command/events to dynamically enable/disable calibration in FW
command: set_halphy_cal
command usage: cfg80211tool set_halphy_cal <<value>> <<channel>>
value: bitmap value to be passed ( 0 - 1023)
channel: 0 (home), 1 (scan), 2 (both)

Change-Id: I1d3ab39cf24d0880bf5feac5749b5a93e6d03761
2021-08-18 05:17:12 -07:00
Amruta Kulkarni
693dbbdf2f qcacmn: Wma to target_if migration for roam sync
Roam sync event wma to target_if migration.

Change-Id: I6992675f4260120134563292e0b189132a955d48
CRs-Fixed: 3001497
2021-08-07 02:59:06 -07:00
Shashikala Prabhu
503a5adb9c qcacmn: Add a function pointer to convert host vdev param to FW
Add a function pointer to a function that converts host vdev param to FW
vdev param.

Change-Id: I01557d8bd87cb82548114626ff726aabba01dd19
CRs-Fixed: 3005160
2021-08-03 04:36:26 -07:00
Srinivas Dasari
938fd64017 qcacmn: Add extract_roam_scan_chan_list to wmi_ops
Add extract_roam_scan_chan_list to wmi_ops to allow cld driver
to register the corresponding callback.

Change-Id: I71b17b807d183aff31b73a4732d368d1525c118e
CRs-Fixed: 2990390
2021-07-30 21:51:40 -07:00
Srinivas Dasari
ad437e38ec qcacmn: Add extract_vdev_disconnect_event to wmi_ops
Add extract_vdev_disconnect_event to wmi_ops to allow cld driver
to register the corresponding callback.

Change-Id: I3fb891f9a0b4afc92c8a456b2a8fe17bcfecaefa
CRs-Fixed: 2990389
2021-07-30 21:51:35 -07:00
Srinivas Dasari
34285d8716 qcacmn: Add extract_btm_bl_event to wmi_ops
Add extract_btm_bl_event to wmi_ops to allow cld driver to register
the corresponding callback.

Change-Id: I1734f577b07f8c54924a83d3d367e8cdba07f41c
CRs-Fixed: 2990385
2021-07-30 21:51:30 -07:00
Srinivas Dasari
07e4d152fe qcacmn: Add extract_roam_event to wmi_ops
Add extract_roam_event to wmi_ops to allow cld driver to register
the corresponding callback.

Change-Id: I812105a1a81060de0de3f6b9857257e79aa23fc1
CRs-Fixed: 2990384
2021-07-30 14:29:49 -07:00
Shashikala Prabhu
b2f8ff4e7f qcacmn: Add support for multiple vdev set param WMI API
Add support for multi vdev set param WMI API to send vdev param for
multiple vaps.

Change-Id: If7381f0b242cacff0817e6bdc16606d3d776b48d
CRs-Fixed: 2994278
2021-07-30 11:46:48 -07:00
Jyoti Kumari
fc3c62d771 qcacmn: Add support for TWT ack event
In case if TWT command (i.e setup, terminate, pause, resume,
nudge) comes from userspace and if the firmware is in below mode
1. scan in progress
2. roam in progress
3. CSA is in progress or
4. Any other error
then the command needs to be rejected in userspace context.

Synchronize the TWT command so that whenever command goes from
driver to firmware, then driver will receive ack event first
followed by respective event (i.e add dialog, delete dialog,
pause, resume, nudge) with below condition
1. If driver receives the ack event as successful then driver
   waits for this ack event, respective event with status of the
   TWT action frame over the air is expected.
2. If driver receives the ack event as failure then it will
   rejects the TWT command in userspace context.

Change-Id: Ie885d98ecf2dad98d34676d889fd70e4c84f0a05
CRs-Fixed: 2987904
2021-07-20 11:09:21 -07:00
Jyoti Kumari
43c413bc3b qcacmn: Add TWT service bit capability support for ack event
Add TWT service bit capability support to check whether firmware
supports ack event or not. If firmware doesn't support ack event
then service bit capability will become 0 and whenever TWT
command comes, host will not wait for ack event and sends command
in a legacy way.

This support is mainly added to handle new host and old firmware
combination.

Change-Id: I55d373c2e017130b58a4b332da16f0eda8f34eba
CRs-Fixed: 2987749
2021-07-17 08:23:20 -07:00
Shwetha G K
90e7ec13c7 qcacmn: Extract AoA phase delta from WMI event
Changes to extract AoA phase delta values from WMI event.
The AoA phase delta values along with ibf calibration value
is shared to derive the phase values which is to be used in
CFR.

Change-Id: I70f50656db4194025a0b6b37c8b4a27048968e0f
2021-07-16 06:19:59 -07:00
Amruta Kulkarni
e962074dd7 qcacmn: Roam sync frame event wma cleanup
Wma to target if migration for ROAM SYNC FRAME EVENT

Change-Id: I6f61ff94f4b9e600e025284a82c060e1598edd13
CRs-Fixed: 2987272
2021-07-12 19:12:12 -07:00
Hariharan Basuthkar
9f2a6a4040 qcacmn: Add wmi_support to send AFC cmd to the FW
Add Host WMI APIs to send the WMI_AFC_CMDID to the FW.

Change-Id: I6849826ab4596f3c76b2dea3cb76116be46b4dd6
CRs-Fixed: 2985645
2021-07-08 04:50:04 -07:00
Aakanksha Doda
e175d5124c qcacmn: Add cmn_dev changes to get ANI status from FW
Add changes to send a command and in return, get an event
giving ANI status from FW.

Change-Id: I327e6134fef17bc4dc98b99d1ca4bc4d0a039625
2021-07-06 06:53:43 -07:00
Yu Wang
15c52e32f7 qcacmn: Add WMI support for AWGN interference detection
Add APIs to extract AWGN information from the DCS WMI
interference event received from FW.

Change-Id: I4b2f9f4ef012553dac2a405dc7ac12aef9452354
CRs-Fixed: 2958675
2021-06-29 23:49:31 -07:00
Surabhi Vishnoi
6663105f9b qcacmn: Add support to handle wmi smart monitor event
Add functions to parse and extract wmi smart monitor
event received from target.

Change-Id: Ic18e3134b684c5f8e12839e997d628909a7e27c9
CRs-Fixed: 2969247
2021-06-25 09:40:32 -07:00
Yu Wang
dcd269c55a qcacmn: enhance crypto api to install key synchronously
Add parameter 'bool sync' for wlan_cfg80211_crypto_add_key()
to indicate whether or not to add key synchronously.
If it's set to true, wait until install key complete event
is received.

Change-Id: I9a69d486665fb3f65a5720ccfbfb638c09329418
CRs-Fixed: 2865832
2021-06-21 23:14:27 -07:00
Aditya Kodukula
f0b0951d8a qcacmn: Move Rx diag event processing to dedicated work queue
Firmware generates wmi Rx diag events every few milliseconds,
and processing the same in system shared work queue may lead to
work queue lock-up detection. Hence, move Rx diag event processing
to dedicated work queue.

Change-Id: I10cdde317794e35bc6d10677ab76ea24a66e1880
CRs-Fixed: 2941409
2021-05-11 19:22:07 -07:00
Guisen Yang
3516552a3c qcacmn: Disable obss scan before suspend
When obss scan is enabled, FW will trigger scan periodically by
a timer. If a scan was triggered, FW need to access host memory
for data transfer. Occasionally, suspend may happen during one
scan, then FW is unable to access host memory and fw will crash.
So disable the obss scan before suspend.

Change-Id: Ie507da929a3701473cb57888e96e702e34d4c95a
CRs-Fixed: 2927239
2021-05-10 04:06:03 -07:00
Shwetha G K
23d574115e qcacmn: Support to get dpd status from FW
WMI changes to rerieve current dpd status from target.

CRs-Fixed: 2885488
Change-Id: Iddfcbf63fccac87b52d3ac242ba078f8210cb6d0
2021-04-19 05:06:55 -07:00
sheenam monga
9b74a6bc2a qcacmn: Add support to offload igmp feature to fw
Send command with required params to offload igmp
feature to fw.

Change-Id: I8b34b3f465c85db6b6cccd5fba439bee1c5640f4
CRs-Fixed: 2908041
2021-04-07 21:52:10 -07:00
Aditya Sathish
b14ef93b0c qcacmn: Add WMI support for DCS AWGN interference detection
Add support for storing AWGN interference information for
dynamic channel selection

CRs-Fixed: 2903860
Change-Id: I5d0b6cc0a55303cfb27a02b99aba066557ad9c7d
2021-03-26 00:26:55 -07:00
sheenam monga
7359f9236d qcacmn: Add support to extract big data params
Add wmi support to extract params from
WMI_VDEV_SEND_BIG_DATA_P2_EVENTID.

Change-Id: Ifee6f5e94dc533af54c9333c434cdf9778eae3ca
CRs-Fixed: 2875576
2021-03-05 12:33:45 -08:00
sheenam monga
89ca16cb2f qcacmn: Add support to send WMI_VDEV_GET_BIG_DATA_P2_CMDID to fw
Send WMI_VDEV_GET_BIG_DATA_P2_CMDID to fw to get big data stats.

Change-Id: I40870a0d9106860f58272a200025870b41d4aef9
CRs-Fixed: 2861082
2021-03-05 12:33:36 -08:00
Bapiraju Alla
7f0008db3f qcacmn: Add service bit support for LL_GET_STA command over QMI
For some targets, FW expects WMI_REQUEST_UNIFIED_LL_GET_STA command
always over QMI irrespective of WOW state. FW will crash if this request
is sent over WMI on those targets. Currently there is no direct way for
the host to identify this requirement by FW. So FW may crash when this
WMI_REQUEST_UNIFIED_LL_GET_STA stats request is sent over WMI.

To resolve this, add service bit support for LL_GET_STA request over QMI.
With this change the INI parameter send_ll_and_get_station_stats_over_qmi
becomes obsolete and corresponding code will be removed.

Change-Id: I43f2827a0b1cae6e75f1224f452f8277d53736b2
CRs-Fixed: 2847483
2021-02-23 05:31:18 -08:00
Amruta Kulkarni
d5cc294f49 qcacmn: Support roam invoke request in connection manager
Add support for roam invoke request in connection manager.

CRs-Fixed: 2869259
Change-Id: I618add058d39e9452530b1950cff57bfe6100448
2021-02-18 03:12:24 -08:00
Mainak Sen
16c8160755 qcacmn: Mesh TID latency configuration for Pdev/Vdev/Peer
WMI changes for Mesh low latency support for pdev/vdev/peer

Change-Id: Id2bf0a9b5f121ca6e91f47c209a4b5271952147f
2021-01-25 02:18:03 -08:00
Rajasekaran Kalidoss
0d4a8a6781 qcacmn: Add wmi support for REQUEST_CTRL_PATH_STATS
Firmware has added support for control path stats
infrastructure. Add wmi support to prepare wmi tlv buffer
and send WMI_REQUEST_CTRL_PATH_STATS_CMDID. In the response
path, add support to handle WMI_CTRL_PATH_STATS_EVENTID and
extract the tlv.

Change-Id: I930a44187af29adfda8acd90d0e41cff5fc94603
CRs-Fixed: 2856370
2021-01-22 07:36:38 -08:00
Lincoln Tran
e9c3eda862 qcacmn: Add API to send set TPC power command
Add new API to handle the logic of sending the WMI command,
WMI_SET_TPC_POWER_CMDID. Create the struct to hold this new
transmit power information.

Change-Id: Ibc7c6109176577f56d149baf87022de557e84445
CRs-fixed: 2841781
2021-01-15 14:38:39 -08:00
Lincoln Tran
28f0da1660 qcacmn: Register event handler for new chan_list evt
Register the event handler for new WMI event,
WMI_REG_CHAN_LIST_CC_EXT_EVENTID. Extract the parameters to be used when
building the channel lists in the regulatory component. Update the reg
rule parsing function to include the new PSD flag and PSD power levels.

Change-Id: I0f5a747f98e43ac3d43b4aa1fb5958f0eac69a9d
CRs-fixed: 2843793
2021-01-12 20:09:49 -08:00
Rajasekaran Kalidoss
d7ec7b4010 qcacmn: Add support to handle twt notify event
Add support to handle twt notify event from firmware.

Change-Id: Ia4a84b0f3cfb76401681707c08e8169d07dacdbd
CRs-Fixed: 2847179
2021-01-07 10:29:02 -08:00
Shashikala Prabhu
3a7cf8ca4a qcacmn: Move WIN only wmi structures to qca-wifi-oss repo
Move WIN only WMI structures from cmndev repo to oss repo.

Change-Id: I1d11f5573385e687a4ec25531cb87432e198f4af
CRs-Fixed: 2847337
2021-01-05 20:28:27 -08:00
Shashikala Prabhu
9cbe634741 qcacmn: Define callback functions for LCI/LCR command send
Define callback functions to send LCI/LCR commands to  FW.

Change-Id: I4a9d97f65a4d5b3fbeb017e165ef207941af85ee
CRs-Fixed: 2832129
2020-12-20 05:04:54 -08:00
Paul Zhang
59ef5a49a8 qcacmn: Add support for WMI_TWT_NUDGE_DIALOG_CMDID
Add support for WMI_TWT_NUDGE_DIALOG_CMDID and
WMI_TWT_NUDGE_DIALOG_COMPLETE_EVENTID.

Change-Id: I9d4bf1061f6f08479967619ce50d2756c062f55f
CRs-Fixed: 2825138
2020-12-18 01:50:16 -08:00
Bapiraju Alla
25509a1510 qcacmn: Request stats over qmi only when target suspend is success
Currently, Stats request commands are sent over qmi right from the
target suspend request is sent to FW. This is leading to a crash in
FW since it is trying to access PCI when it is in suspend state.

To address this, send stats request over QMI only after the ack is
received for the target suspend command.

Change-Id: Id7a79d52740916f66476bf911e571c0ff466c7d3
CRs-Fixed: 2838737
2020-12-17 11:44:33 -08:00
Abhinav Kumar
7c55b952fa qcacmn: Extract roam message information
Extract btm response and initial roaming stats coming
from FW through WMI_ROAM_STATS_EVENTID event as
wmi_roam_msg_info_tlv_param.

Change-Id: I9a9b768d09a45ba70066cacb4aa420a90a39a76d
Crs-Fixed: 2826323
2020-12-06 23:49:57 -08:00
Mainak Sen
e66ef5081e qcacmn: WMI support for Tx Mode Select
When MSCS feature is enabled, Host needs to send WMI command to
FW to enable tx mode selection

Change-Id: I84372f2e83f2faa6c90436d927410d1af636246e
2020-11-27 06:48:46 -08:00
Bapiraju Alla
b130521bd3 qcacmn: Process FW diag events in a separate worker thread
Currently, FW diag logs, management frames and stats responses are
processed in worker context. Because of this, there is a possible
out of memory scenario when there are huge number of diag events
waiting in work queue.

To address this, process diag events in a separate worker thread and
set the limit for the number of diag events that can be queued in
work queue.

Change-Id: Ie6e5b905a3b591cf724cd6b024bec0612f9e2e0c
CRs-Fixed: 2818013
2020-11-21 00:20:27 -08:00
Balaganapathy Palanisamy
0d9dc04d48 qcacmn: Stop wmi sequence check during SOC stop
Skip wmi sequence check during SOC stop and enable after
initializing wmi handle. It is required to skip sequence check
during soc stop as the endpoint flush is preceding CE flush.

CRs-Fixed: 2813341

Change-Id: Ieb821483e9786471d033773dc2365ab456345f83
2020-11-12 10:13:15 -08:00