qcacmn: Handle TSF value in TWT setup command

Handle QCA_WLAN_VENDOR_ATTR_TWT_SETUP_WAKE_TIME_TSF attribute
in TWT setup command to provide absolute TSF value to firmware.
This helps application to start TWT session on specific TSF value.

Change-Id: Ic25b45e88599a024e6c4e6bb265ea90122405d05
CRs-Fixed: 3029020
This commit is contained in:
Nirav Shah
2021-07-05 08:49:47 +05:30
committed by Madan Koyyalamudi
parent 2f37575532
commit 47c8c541c2
2 changed files with 4 additions and 0 deletions

View File

@@ -285,6 +285,7 @@ enum WMI_HOST_TWT_COMMAND {
* @flag_reserved: unused bits
* @b_twt_recommendation: defines types of frames tx during bTWT SP
* @b_twt_persistence: Countdown VAL frames to param update/teardown
* @wake_time_tsf: Absolute TSF value to start first TWT service period
*/
struct wmi_twt_add_dialog_param {
uint32_t vdev_id;
@@ -308,6 +309,7 @@ struct wmi_twt_add_dialog_param {
flag_reserved:11,
b_twt_persistence:8,
b_twt_recommendation:3;
uint64_t wake_time_tsf;
};
/* enum - status code of Get stats TWT dialog

View File

@@ -175,6 +175,8 @@ send_twt_add_dialog_cmd_tlv(wmi_unified_t wmi_handle,
cmd->max_wake_intvl_us = params->max_wake_intvl_us;
cmd->min_wake_dura_us = params->min_wake_dura_us;
cmd->max_wake_dura_us = params->max_wake_dura_us;
cmd->sp_start_tsf_lo = (uint32_t)(params->wake_time_tsf & 0xFFFFFFFF);
cmd->sp_start_tsf_hi = (uint32_t)(params->wake_time_tsf >> 32);
TWT_FLAGS_SET_CMD(cmd->flags, params->twt_cmd);
TWT_FLAGS_SET_BROADCAST(cmd->flags, params->flag_bcast);
TWT_FLAGS_SET_TRIGGER(cmd->flags, params->flag_trigger);