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; } /**