Commit Graph

519 Commits

Author SHA1 Message Date
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
Linux Build Service Account
eb9b6ee897 Merge "qcacmn: Add support for peer create response event" 2020-10-23 12:36:44 -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
Abhishek Ambure
06ac6b2604 qcacmn: Add support to send FILS DISC TX enable/disable to FW
Add support to send WFA test config FILS DISC frames TX
enable/disable to FW.

Change-Id: I5b0abed1b6fe517b12c29269da6456c48b21725c
CRs-Fixed: 2801138
2020-10-23 05:48:10 -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
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
Rhythm Patwa
224d4e2276 qcacmn: Add peer assoc param for Max BSS Idle option
Add peer assoc parameter 'peer_bss_max_idle_option' to
update the peer's Max BSS Idle option cap to FW.

Change-Id: If7fd4369bade8b289655c491849562c2357de877
CRs-fixed: 2781050
2020-09-23 17:13:52 -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
Manikanta Pubbisetty
9c25cded62 qcacmn: add WMI service flag to place FST in CMEM
Firmware advertizes the capability to allocate CMEM memory for
FST via a WMI service flag; adding the support for the same.

Change-Id: Ic33bf0584f5ce4880fdfe5abe8fd4cf2a653a06e
CRs-Fixed: 2771256
2020-09-17 10:18:30 -07:00
Liangwei Dong
2b2ff01a06 qcacmn: Set thermal action to FW in thermal mgmt command
Set "action" field when send WMI_THERMAL_MGMT_CMDID
to firmware. Then driver can configure the target management action
based on different customer requirement.

Change-Id: I3da5eea0d756444ede816be5cb74407863d63781
CRs-Fixed: 2767144
2020-09-15 11:38:52 -07:00
Rhythm Patwa
60b5f9357a qcacmn: Add support for fc_duration in injector frame WMI struct
Add support for fc_duration field in the injector frame WMI struct

Change-Id: I8662c3037c32bd9c39914e0b7c77818fac4a6e36
CRs-fixed: 2770504
2020-09-10 21:00:51 -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
Vinay Adella
87858900ba qcacmn: Add num freq, num nfdbr/dbm fields to WMI struct
wmi_host_pdev_nfcal_power_all_channels_event is updated to have
number of freq, nfdbr/nfdbm.
It is assumed that number of nfdbr & nfdbm are the same.

Change-Id: I23279bde55ee42744c50b23e199b04fbc070a87f
2020-09-01 05:37:37 -07:00
Srinivas Dasari
6812dd9d09 qcacmn: Inform fw if NAN is disabled on an SRD channel
Firmware expects the channel property WMI_CHAN_FLAG_NAN_DISABLED
to be set if NAN is not allowed on any channel. Firmware shall
check the flag and decides whether to enable NAN/NDP on that
channel.

Change-Id: I8e283d2cd0f83a43e04dad142b09d519ef7f0db3
CRs-Fixed: 2760348
2020-08-27 18:37:18 -07:00
Madhvapathi Sriram
904b8cb53b qcacmn: Add support to configure rate mask to cap phy rate
This will help to configure desired rate mask. It can be
used to optimize link performance.

Change-Id: I15b6fbc512d9b0869a6ad6a6f24f1593abf14dae
CRs-Fixed: 2758871
2020-08-27 02:05:47 -07:00
Srinivas Pitla
bf0f1c90b3 qcacmn: Dynamic Tx VDEV config
This change allow Tx VDEV of MBSS mode to configured
dynamically by reset the VDEVs.

This change includes FW service bit parsing, checking
VDEV state of all VDEVs, sending MBSS information in
VDEV start command

Change-Id: I46b13629bd1c07be86b408d72c2967642ce8542e
CRs-Fixed: 2759229
2020-08-26 23:57:44 -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
Gyanranjan Hazarika
7c67032493 qcacmn: Add Support for 802.11ax Draft 3 Compatible BSS Color macros
Currently, the WMI definitions for BSS Color are not draft specific.
Update the BSS Color macros to be compatible with changes in
802.11ax Draft 3 and newer. 

Change-Id: I20c842ff11ab449024c4fc1a0ef822c525ff40ec
CRs-Fixed: 2753170
2020-08-24 17:52:47 -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
Arun Kumar Khandavalli
49ea182ae3 qcacmn: Add thermal mitigation support for moselle
For older targets thermal mitigation is supported for the apps.
In moselle there is a new processor wpps on which firmware runs,
this commit adds the support for the thermal client wpps.

Change-Id: Ia212cd08c000ab11d4079cc701634dd919447ae9
CRs-Fixed: 2757932
2020-08-22 20:31:45 -07:00
Bapiraju Alla
284dab3965 qcacmn: Add service bit support for tx and rx time in channel stats
Add service bit support for channel tx and rx time in channel stats.
This service bit helps in not interpreting the default values for
tx_time and rx_time when new driver version is used with old firmware
where this tx_time and rx_time support is not present.

Change-Id: Icc7668f5842677ac6ef48176568301753e217ea7
CRs-Fixed: 2751500
2020-08-21 06:47:48 -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
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
Pragaspathi Thilagaraj
896d2a4a9d qcacmn: Add support for peer create confirm handler
Firmware sends peer create confirmation event with
success or failure status.

Add changes to handle the peer create confirmation event.

Change-Id: I8d80cfe3945410e4f49d27df7c1903eabb7d6827
CRs-Fixed: 2747877
2020-08-11 09:48:03 -07:00
Rhythm Patwa
bedc5c7164 qcacmn: Add WMI support for MBSSID control frame configuration
Add WMI support for MBSSID control frame configuration

Change-Id: I294c20dae078533b154d333db7a2295de5c94c17
2020-08-10 16:45:58 -07:00
Rhythm Patwa
aa78367f33 qcacmn: Add support to handle preamble puncturing Tx WMI parameters
Add service ready parameter to update the capability for Preamble Puncturing
Tx support from target. Add WMI support for configuration of Punctured
band setting from Host.

Change-Id: If5714c162356c35c7c385c4596043c0bc671be9a
2020-08-10 16:45:55 -07:00
Abhinav Kumar
39c5306a5b qcacmn: Save roam_trigger_reason and roam_ap_info params
Save BTM BSS termination timeout value and BTM MBO assoc
retry timeout value coming from FW through
wmi_roam_trigger_reason_tlv_param tlv.

Save Blacklist reason, Source of adding AP to BL, timestamp
which indicates the time when AP added to blacklist and
Original timeout value in milli seconds when AP added to BL
coming from FW through wmi_roam_ap_info_tlv_param.

Change-Id: I0a328814e77c7d2452672f43c855d2c1b8646b66
CRs-Fixed: 2744255
2020-08-05 11:19:04 -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
Rajasekaran Kalidoss
2415379851 qcacmn: Add event id's for TWT complete events
Add TWT event ID's for add, delete, pause and
resume twt events.

CRs-Fixed: 2743159
Change-Id: If4a0972ab41b88bdcffeb93f60afda9ffb9f9108
2020-08-01 09:01:00 -07:00
Abhinav Kumar
e936132a21 qcacmn: Save info related to WTC BTM roaming
Save info related to WTC BTM roaming coming via
wmi_roam_trigger_reason_tlv_param.

Change-Id: Iec089ba48b2ff30c09838119144b2b0f0abf9e65
CRs-Fixed: 2740598
2020-07-31 12:02:38 -07:00
Shwetha G K
e18a6dab27 qcacmn: Add service_bitmap to support CFR capture_count & MO marking
Add wmi service_bitmap to support CFR capture_count & MO
marking.

Change-Id: I4e72dd089971dbbfc8391bb8d4eca1400bb94f77
2020-07-28 17:39:09 -07:00
Rhythm Patwa
4f9a9d0938 qcacmn: Add tx_flag to Host WMI mgmt frame structure for incorrect key support
Add 'tx_flag' param to wmi_mgmt_params structure for configuration
to use incorrect key for encryption of mgmt frame.

The 'tx_flag' param is primarily added to provide additional
test configuration options for mgmt frames.
Currently it only has support to encode the mgmt frame with
incorrect key for PMF protected connection.

Change-Id: Id894c735c4c612a75506a33938372c3fa2e7f24a
CRs-fixed: 2690147
2020-07-24 15:18:15 -07:00
Gururaj Pandurangi
b1f6686944 qcacmn: Enable three new 5.9 ghz channels for US
Add new channel bonding pairs as well as frequency
pairs for 40, 80 and 160 MHz with the support of
three new 5.9 GHz channels 169, 173 and 177.
Add new API reg_modify_chan_list_for_5dot9_ghz_channels
to enable/disable these new channels based on
INI value and service bit.

Change-Id: I8598e705ba4047e96e7167661ba70d4236cde251
CRs-Fixed: 2696211
2020-07-23 17:24:06 -07:00
Rathees kumar Chinannan
199049f281 qcacmn: Add new param on peer assoc command
Add new param on peer assoc command to pass sta
type for bsscolor.

Change-Id: I83f78c07f9079b23629c2f7f42d67ae9630c2d6c
CRs-fixed: 2727001
2020-07-22 03:21:40 -07:00
Abhinav Kumar
93ea2cf59b qcacmn: Process Disconnect request from FW
FW sends a disconnect request to HOST while roaming failure
through event WMI_VDEV_DISCONNECT_EVENTID per vdev id.
Process WMI_VDEV_DISCONNECT_EVENTID and issue disconnection.

Change-Id: I0d3d2ddf0cab65eecbfc7676e9b21f2cc19971e2
CRs-Fixed: 2731954
2020-07-17 21:25:51 -07:00
Shiva Krishna Pittala
b6a6d5e2c4 qcacmn: Add Host abstraction for WMI pdev param SR_TRIGGER_MARGIN
Pdev parameter WMI_PDEV_PARAM_SR_TRIGGER_MARGIN is added to configure
the safety margin which will be used in calculating the acceptable
interference level for PSR based Spatial Reuse operation.
Add the host abstraction for the same parameter.

CRs-Fixed: 2729664
Change-Id: Iae542d4f7de23520ee00719e721d81e32737a191
2020-07-17 17:23:27 -07:00
Abhinav Kumar
55d706efcd qcacmn: Add service bit for CONFIGURE_ROAM_TRIGGER_PARAM_SUPPORT
Add new service bit for
WMI_SERVICE_CONFIGURE_ROAM_TRIGGER_PARAM_SUPPORT.

Change-Id: I3f2683c5284cdc615270fd653e6173649c543c04
CRs-Fixed: 2733024
2020-07-16 20:05:37 -07:00
Srinivas Dasari
4e5cfb2ac9 qcacmn: Add vdev param to configure NAN feature bitmap to firmware
Define a new vdev param to set corresponding bit to enable/disable
a particular NAN feature.
Currently, Framework configures NAN DW as 4 seconds when the
device is in sync role and the screen is off. But customers might
want this to be 512ms always irrespective of screen off/on.
Send the vdev param on NAN vdev by setting the "bit 0" to 0 to
indicate firmware to ignore framework configured DW value and
consider the firmware default value.

Change-Id: Idcbdae94bd6a96fbbe15ec103a0aa558cdfcd572
CRs-Fixed: 2721980
2020-07-08 18:55:57 -07:00
Surabhi Vishnoi
20e9e49e70 qcacmn: Add support for WMI_VDEV_BCN_LATENCY event
Add interface changes for WMI_VDEV_BCN_LATENCY_EVENTID which
is sent by firmware to indicate the latency IE received from
connected AP in beacon.

Change-Id: Ia6cec01be89f13885b011414f0d77f64c6eb05ee
CRs-Fixed: 2723226
2020-07-06 11:23:14 -07:00
Abhishek Singh
e2097ddb09 qcacmn: Replace different struct of SISD with struct wlan_ssid
There are different version of SSID structure used in driver, replace
them with struct wlan_ssid.

Also move struct element_info from scan module to generic structures.

Change-Id: Ia32f82d943980c23b4ff478f5a06c5c053036de5
CRs-Fixed: 2721872
2020-07-01 00:26:20 -07:00
Pragaspathi Thilagaraj
acc60e6ede qcacmn: Add support to send WMI_VDEV_SET_PCL_CMDID command
For STA + STA roaming, instead of WMI_PDEV_SET_PCL_CMDID, the
WMI_VDEV_SET_PCL_CMDID needs to be sent.
Declare the corresponding send_vdev_set_pcl_cmd wmi tlv ops for
sending the WMI_VDEV_SET_PCL_CMDID command.
Also add changes to read the peer create confirmation and dual
sta roam feature support firmware capability.

Change-Id: I21456cb2e4c0b2bb66bf341539d2070677c49d16
CRs-Fixed: 2702849
2020-06-27 06:18:25 -07:00
Rachit Kankane
e85e67ce9b qcacmn: Add no interband mcc service bit
Add WMI service bit for targets which doesn't
support interband MCC.

Change-Id: Ia7c93ed0b53dfb539457167722bc3b04fb27032b
CRs-Fixed: 2715598
2020-06-26 05:37:40 -07:00
Abhishek Ambure
d5aa3cc44f qcacmn: Add support for roam capability report event
Firmware sends WMI_ROAM_CAPABILITY_REPORT_EVENTID event asynchronously
to host during FW init. It indicates FW roam related capabilities to host.
scoring_capability_bitmap in the event indicates firmware candidate scoring
capabilities. Host uses scoring_capability_bitmap to calculate roam score.

Change-Id: Idd2cad257e5d783166bd8cc0418dd4f394989295
CRs-Fixed: 2716781
2020-06-25 16:46:57 -07:00
Jayachandran Sreekumaran
cb709cad18 qcacmn: iot_sim code cleanup in wmi
Refactor code and put iot_sim code under feature flag.

Change-Id: Id4720d63ae174d9f4490285e6eb69ab2972ccd28
CRs-Fixed: 2707122
2020-06-24 03:34:54 -07:00
Subrat Dash
94bf91fc2b qcacmn: Add support to send pdev id in the oem data wmi cmd
The FW API is updated for pdev_id in the fixed param.
The pdev_vdev_flag is used to indicate whether the command
is meant for pdev or vdev.

The pdev_vdev_flag should be set to 1 for pdev command and 0 for
vdev command.

CRs-Fixed: 2693893
Change-Id: I99aabb9b73fd44d746342dfc1741fc6585c0863c
2020-06-16 06:15:54 -07:00
Abhishek Ambure
374d2eee38 qcacmn: Add support to send max ndi host supports to fw
Host configures max ndi interfaces support to firmware using
WMI_INIT_CMD. In resource config of WMI_INIT_CMD, host updates
max number of ndi interfaces support and sends it to firmware.

Change-Id: I44ccbe726663bc18d3c69b4aae0b0e3e9c1501ee
CRs-Fixed: 2701559
2020-06-10 07:26:09 -07:00
Abhishek Ambure
23dab4b3a5 qcacmn: Add support to send max ndp sessions to fw
Firmware advertises max number of ndp sessions support in
wmi_service_ready_ext2 event. If the firmware advertised value of
max ndp sessions is non-zero, then host uses a minimum of max ndp
sessions of target_resource_config and firmware advertised max ndp
sessions to configure max ndp sessions in firmware using WMI_INIT_CMD.

Change-Id: Ied6891157ce589e5d36a4f8b9694a95b5c819ad6
CRs-Fixed: 2688393
2020-06-08 16:01:08 -07:00
Aditya Sathish
a88235db0e qcacmn: Add support for FW cap for chan_width_switch_cmd
WMI_PEER_CHAN_WIDTH_SWITCH_CMDID sent from host fragments the
command based on the size of the WMI buffer.

Add support to instead use a FW regulated value taken from the
WMI service ready extended_2 event.

CRs-Fixed: 2684788
Change-Id: Iaeccf785c64b385bf2ad6bc372da239981143fa0
2020-05-21 23:52:25 -07:00
Srikanth Marepalli
8a8ee00543 qcacmn: Add support for WPA3 SuiteB roaming
This commit enables support for SuiteB roaming wmi service based
on the WPA3 SuiteB roam service capability advertisement
received from Firmware.
In SuiteB the PMK length is greater than the existing PMK length,
added the extended PMK parameters to fill in the remaining bytes
of PMK in the RSO command.

Change-Id: Ia630580bba050513800e3acac875baf937ec8d14
CRs-Fixed: 2685993
2020-05-19 08:41:11 -07:00