Commit Graph

365 Commits

Author SHA1 Message Date
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
hqu
fc4c9c5a86 qcacmn: Remove old rso path code [PART 1]
Since new rso ROAM_OFFLOAD_V1 path is enabled, remove
the old rso path code for wmi related files.

Change-Id: Ie519ca7fac2d721f87a4c9bd11507cd83ddfb504
CRs-Fixed: 2810241
2020-11-03 06:23:32 -08:00
Christopher Chopp
36627ac5e9 qcacmn: Add WMI Handler for TSF Event
Add handling for WMI TSF Event, including registration,
sending event and extracting response.

Change-Id: Icccf9b5eb7e46bd87caf7a644be903747eac025c
2020-10-26 18:56:43 -07:00
Naga
457c3d62e8 qcacmn: Add support for peer create response event
Add host data structure and api declarations
corresponding to peer response event and register
WMI_PEER_CREATE_CONF_EVENTID in global wmi event_ids.

Change-Id: I143a4a85d079cc113397348512b0d86f500cae5b
CRs-Fixed: 2797197
2020-10-23 12:13:02 -07:00
Liangwei Dong
bf189853b7 qcacmn: Add host definition for target thermal throttle level
Convert target thermal throttle level to host definition -
enum thermal_throttle_level.

Change-Id: I9914aaf56b781533565cd6a3f8b279ee67215c23
CRs-Fixed: 2786660
2020-10-23 10:03:25 -07:00
Alan Chen
bc0d7713ed qcacmn: Remove code relating to ocl_cfg
As part of removing gOclCfg ini, remove code used for it that is
no longer needed.

Change-Id: I00c32988cb3b852381be9810377aeefdd22454db
CRs-Fixed: 2791469
2020-10-13 00:08:22 -07:00
Manikanta Pubbisetty
f2ce9cfc04 qcacmn: log additional info to WMI TX completion record
Add WMI command buffer address information(DMA/Physical addr) to
the WMI TX completion logging. This will help in debugging issues
when HW DMAs copies data from a different location than the one
configured.

Change-Id: I60586b865a97e7ff88e48606806ec151321ff0aa
CRs-Fixed: 2789492
2020-10-09 02:14:33 -07:00
Chaoli Zhou
4fad4e8636 qcacmn: Add wmi interfaces for GPIO configuration
Add wmi interfaces for GPIO configuration.

Change-Id: Ic7c23a67bab752012ded147908238faa8ecc4789
CRs-Fixed: 2753648
2020-10-08 15:34:07 -07:00
Bapiraju Alla
7af72345b6 qcacmn: Send unified ll_stats and get_station request over qmi
Send unified ll_stats and get_stats request over qmi based on INI
configuration.

Change-Id: Icc43352c1ba19696148619100ee27fda4d5ffb41
CRs-Fixed: 2791043
2020-10-08 12:23:58 -07:00
Karthik Kantamneni
268ab400cd qcacmn: Add support for WMI DIAG events over CE7
Add support for handling firmware WMI DIAG events over CE7.

Change-Id: I3d6c0b08313e816809a65eb77d9728fc4b4488f3
CRs-Fixed: 2787010
2020-09-30 11:10:33 -07:00
Bapiraju Alla
0ff4421b30 qcacmn: Send get_station and ll_stats req in a single command
Currently ll_stats and get_station requests are sent back to back
from user space. The firmware time difference between these two commands
results in extra sleep and wakeup for Q6.

To avoid this extra Q6 sleep and wake, send both requests in a single
command from the driver if the firmware supports that operation. Cache
the get_station results in the driver until user space request reach
to the driver.

Change-Id: I5e6f42f9e3836ef4bf61d3d9220f8cedb775cbd5
CRs-Fixed: 2778479
2020-09-28 17:08:12 -07:00
Abhishek Ambure
7c64a2c250 qcacmn: Add support to send wfa test config to FW
Host add support to send WFA test configs to FW using WMI command
i.e. WMI_WFA_CONFIG_CMDID.

Change-Id: Id9bdec16c69a8c16cb4ce1fac87688023c768ee6
CRs-Fixed: 2772004
2020-09-21 03:53:33 -07:00
Abhinav Kumar
a253ce3577 qcacmn: Remove unused roam ini gRoamBeaconRssiWeight
Currently, gRoamBeaconRssiWeight is not used in HOST or
FW.

Remove logic to pass value of INI gRoamBeaconRssiWeight
to FW.

Change-Id: Ifa1472ef413d20d0e54649bc24dd6c8d6aac4bc7
CRs-Fixed: 2770278
2020-09-16 04:51:51 -07:00
Jhalak Naik
41e8d82db9 qcacmn: Hex dump generation for WMI events and commands
This records all the WMI events and commands, for all
PDEVs. Set WMI_EXT_DBG flag to enable this feature. Refer
Original Change-Id: I18e46f683e35912cad717ca3b9cc3d1885315362

Change-Id: I4c9bdfe6fdd195656ca0c01ca400eba595be24a3
CRs-Fixed: 2762266
2020-09-15 11:38:47 -07:00
Balaganapathy Palanisamy
55650d9c02 qcacmn: Add sequence number for WMI pipe
Add sequence number to each packet queued on wmi pipe and
match it against expected sequence number in wmi completion handler.
WMI packets are consumed internally, use the skb mark field to capture
the sequence number of the wmi packet.

Change-Id: I1421e3fcff0a2b326f6d899780c773950544ef26
CRs-Fixed: 2741465
2020-09-07 03:18:00 -07:00
Pragaspathi Thilagaraj
52173647db qcacmn: Add support for WMI_CHAN_LIST_CMD in connection mgr
Add support for WMI_CHAN_LIST_CMD in connection mgr

Change-Id: Ie28eba05da82bfdd928bbd7ef2bf3d21ec2ef782
CRs-Fixed: 2768969
2020-09-04 23:17:28 -07:00
Balaganapathy Palanisamy
e5b0acba4d qcacmn: Add config option for each WMI log buffer size
Make each WMI debug log buffer size configurable through
compile time config option. Now memory constraint platforms
can use these config options. Use default values if no
values are configured.

Change-Id: Ibc924e12a56ae7d529aea91e55bcc0bbce72ac7e
CRs-Fixed: 2741465
2020-09-03 01:58:47 -07:00
nobelj
908218f1fa qcacmn: populate vdev extension statistics
populated fils discovery, unsolicited probe response from
vdev extension stats and populated to APSTATS.

Change-Id: I762d7f36fa45f9048cf591bde3550a415e23bdcb
2020-09-02 10:46:52 -07:00
Uraj Sasan
0ba27943fb Revert "qcacmn: Hex dump generation for WMI events and cmds"
This reverts Change-Id: I18e46f683e35912cad717ca3b9cc3d1885315362

Change-Id: I2fffecdee294f08e694b12a744d35cf18d3fd66b
2020-09-01 01:49:45 -07:00
Jhalak Naik
8e4491a9ac qcacmn: Hex dump generation for WMI events and cmds
Support WHUNT FW simulation feature.
Records all the WMI events and commands, for all PDEVs.
Set WMI_EXT_DBG flag to enable this.

Change-Id: I18e46f683e35912cad717ca3b9cc3d1885315362
CRs-Fixed: 2762266
2020-08-28 13:03:54 -07:00
Abhishek Ambure
f17e8207ac qcacmn: Add support to get pmf bcn protect stats from fw
To get the pmf beacon stats from firmware, host sets
WMI_REQUEST_PMF_BCN_PROTECT_STAT bit in stats_id param of
WMI_REQUEST_STATS_CMDID command. Firmware supporting pmf beacon
protection stats responds host with stats in wmi_update_stats_id
event.
Hence add support to get PMF beacon protect stats from firmware.

Change-Id: I99efd94ce5367da1312f60251ce7106997dd8bc8
CRs-Fixed: 2705084
2020-08-26 12:13:37 -07:00
Pragaspathi Thilagaraj
63c499059f qcacmn: Add support to send rssi change command in connection manager
Add support in connection manager to send rssi change cmd

Change-Id: Ic24820b4bec6926f5c4f38bf9c19bec2b3fb85a3
CRs-Fixed: 2761045
2020-08-25 05:41:33 -07:00
Pragaspathi Thilagaraj
bc2f1d2a72 qcacmn: Add support for connection manager rso mode command
Add changes to support new definition of
send_roam_scan_offload_mode_cmd() in connection manager.

Change-Id: Iea10907756ea785b0b0de72d01375f50ac3dbd6a
CRs-Fixed: 2758318
2020-08-23 17:37:51 -07:00
aloksing
f103f00807 qcacmn: Add raw buffer support in WMI layer
To send received raw event buffer to event handler
Send without processed buffer to registered event with buffer
type WMI_RX_RAW_BUFF

Change-Id: I2a401e2e7afbfd8f32d4bd521d184ed9ddcdb264
2020-08-21 02:28:57 -07:00
aloksing
b08f3994ef qcacmn: Add WMI event for cp stats
Extract more flag from WMI event TLV buffer.

Change-Id: I6623a81100b3191d796c156c93ae1ce4c3eaeb97
2020-08-21 02:28:54 -07:00
hqu
b9affa1488 qcacmn: Move rso related process to connection manager [PART 3]
Rename struct wmi_mawc_roam_params name to wlan_roam_mawc_params.
Rename struct wmi_bss_load_config name to wlan_roam_bss_load_config.
Rename file wlan_cm_roam_public_srtuct.h name to
wlan_cm_roam_public_struct.h.

Change-Id: I3e05d899810f8e899b5d6f48a3aa48c041cd17e3
CRs-Fixed: 2758137
2020-08-20 15:42:21 -07:00
Rajasekaran Kalidoss
afac78b33d qcacmn: Add length check for twt additional parameters
Add length check in additional parameters extracted from
WMI_TWT_ADD_DIALOG_COMPLETE_EVENTID.

CRs-Fixed: 2755498
Change-Id: I913547bad8a1f823a01ff36f22dbe3d305e533bc
2020-08-20 08:00:50 -07:00
Min Liu
44150359c9 qcacmn: Move get_peer_info into cp_stats component
Move WMI_REQUEST_PEER_STATS_INFO_CMDID related statistics into
cp_stats component.

Change-Id: Ie57f64e4ee195de30271260887c48ecf76f4a2ff
CRs-Fixed: 2680626
2020-08-14 04:12:25 -07:00
Alan Chen
07789085f8 qcacmn: Add an ini item for stats over QMI
Currently, stats over QMI features can only be disabled over build flags,
which is not flexible. Hence, add a CFG ini item to enable/disable stats
over QMI.

Change-Id: If5d57d2fc781fecc8817c2da8f61a2f7977d9c77
CRs-Fixed: 2752310
2020-08-12 19:53:19 -07:00
Edayilliam Jayadev
e0f284b015 qcacmn: Process scan radio capabilities TLV
FW advertises scan radio capabilities as part of service ready
ext2 event. This is an optional TLV, presence of which indicates scan
radio support for the that pdev.

CRS-Fixed: 2746769
Change-Id: I5a0231c54375e9f00c85f0ad92839e2fa6c79f39
2020-08-12 08:47:42 -07:00
hqu
1160a1519d qcacmn: Move rso related process to connection manager [PART 2]
Move rso related process to connection manager.

Change-Id: I25fe80270374b6b2f4ebb40f6ba410cc3498fc82
CRs-Fixed: 2747577
2020-08-05 04:24:15 -07:00
nwzhao
5ba7078b27 qcacmn: [WMI]FR47702 TWT stats, add WMI support for TWT Stats Event
Add WMI support for WMI_TWT_SESSION_STATS_EVENTID. This event
contains stats for a given TWT session.

Change-Id: Ieca2b6845fd2ec32ccdfb1021611bed07379d365
CRs-Fixed: 2609951
2020-08-05 02:17:10 -07:00
Visweswara Tanuku
19b1248241 qcacmn: Extract additional params from twt add dialog comp evt
Extract additional params obtained from fw as part of
WMI_TWT_ADD_DIALOG_COMPLETE_EVENTID during TWT setup

Change-Id: Ic58a1da463238a748cbf2678fe0156789ebb3559
CRs-Fixed: 2737036
2020-08-04 19:28:24 -07:00
Santosh Anbu
6315ce5dd1 qcacmn: Add dependency of blacklist manager macro at WMI layer
The blacklist manager macro is connection manager specific, whereas
the macros used at WMI is dependent on roam offload.
Hence mark of dependency of FEATURE_BLACKLIST_MGR on
WLAN_FEATURE_ROAM_OFFLOAD.

Change-Id: If48b701a450d34915d57780a274311aa2590c89a
CRs-Fixed: 2746160
2020-08-03 19:08:13 -07:00