From 2339b27eef498fc7dcb44d05174e38493e1562e3 Mon Sep 17 00:00:00 2001 From: Surabhi Vishnoi Date: Tue, 21 Jan 2020 22:45:49 +0530 Subject: [PATCH] qcacmn: Add wmi service for wlan time sync ftm feature Add firmware service capability for wlan time sync feature. CRs-Fixed: 2610094 Change-Id: I7ae0e004ef5dae37d10af3b844199008ab41141a --- wmi/inc/wmi_unified_param.h | 3 +++ wmi/src/wmi_unified_tlv.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 98308b1099..4b2c51577e 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -5058,6 +5058,7 @@ typedef enum { wmi_service_nan_vdev, wmi_service_multiple_vdev_restart_ext, wmi_service_peer_delete_no_peer_flush_tids_cmd, + wmi_service_time_sync_ftm, wmi_services_max, } wmi_conv_service_ids; #define WMI_SERVICE_UNAVAILABLE 0xFFFF @@ -5193,6 +5194,7 @@ struct wmi_host_fw_abi_ver { * @ast_tid_high_mask_enable: enable tid valid mask for high priority flow * @ast_tid_low_mask_enable: enable tid valid mask for low priority flow * @nan_separate_iface_support: Separate iface creation for NAN + * @time_sync_ftm: enable ftm based time sync */ typedef struct { uint32_t num_vdevs; @@ -5290,6 +5292,7 @@ typedef struct { ast_tid_high_mask_enable:8, ast_tid_low_mask_enable:8; bool nan_separate_iface_support; + bool time_sync_ftm; } target_resource_config; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index ae6b7f1544..6fde812def 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -6804,6 +6804,10 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg, WMI_RSRC_CFG_FLAG_IPA_DISABLE_SET(resource_cfg->flag1, tgt_res_cfg->ipa_disable); + if (tgt_res_cfg->time_sync_ftm) + WMI_RSRC_CFG_FLAG_AUDIO_SYNC_SUPPORT_SET(resource_cfg->flag1, + 1); + wmi_copy_twt_resource_config(resource_cfg, tgt_res_cfg); resource_cfg->peer_map_unmap_v2_support = tgt_res_cfg->peer_map_unmap_v2; @@ -14042,6 +14046,8 @@ static void populate_tlv_service(uint32_t *wmi_service) WMI_SERVICE_PEER_DELETE_NO_PEER_FLUSH_TIDS_CMD; wmi_service[wmi_service_multiple_vdev_restart_ext] = WMI_SERVICE_UNAVAILABLE; + wmi_service[wmi_service_time_sync_ftm] = + WMI_SERVICE_AUDIO_SYNC_SUPPORT; } /**