diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 9dae2e846071..689f0e61c41d 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -5311,6 +5311,7 @@ typedef enum { wmi_service_wpa3_ft_suite_b_support, wmi_service_ft_fils, wmi_service_adaptive_11r_support, + wmi_service_tx_compl_tsf64, wmi_services_max, } wmi_conv_service_ids; #define WMI_SERVICE_UNAVAILABLE 0xFFFF @@ -5513,6 +5514,7 @@ typedef struct { uint32_t max_bssid_indicator; uint32_t eapol_minrate_set:1, eapol_minrate_ac_set:2; + bool tstamp64_en; } target_resource_config; /** diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index 392ef4bd2e92..f1d1f4e94599 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -6510,6 +6510,10 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg, WMI_RSRC_CFG_FLAG_PEER_UNMAP_RESPONSE_SUPPORT_SET( resource_cfg->flag1, 1); + if (tgt_res_cfg->tstamp64_en) + WMI_RSRC_CFG_FLAG_TX_COMPLETION_TX_TSF64_ENABLE_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; @@ -12466,6 +12470,8 @@ static void populate_tlv_service(uint32_t *wmi_service) WMI_SERVICE_WPA3_FT_FILS; wmi_service[wmi_service_adaptive_11r_support] = WMI_SERVICE_ADAPTIVE_11R_ROAM; + wmi_service[wmi_service_tx_compl_tsf64] = + WMI_SERVICE_TX_COMPL_TSF64; } /**