qcacmn: Add support for TWT wake duration and interval tolerance values

Add support to configure minimum and maximum wake duration
values, minimum and maximum wake interval values for TWT setup.

Change-Id: I69c328815be511833abce0fcd18649e136027f53
CRs-Fixed: 2827115
This commit is contained in:
Pragaspathi Thilagaraj
2020-11-26 13:45:43 +05:30
committed by snandini
parent 267abe7138
commit 7815fdacc7
2 changed files with 12 additions and 0 deletions

View File

@@ -243,9 +243,13 @@ enum WMI_HOST_TWT_COMMAND {
* - the quotient of wake_intvl_us/wake_intvl_mantis must be * - the quotient of wake_intvl_us/wake_intvl_mantis must be
* 2 to N-th(0<=N<=31) power, * 2 to N-th(0<=N<=31) power,
* i.e., wake_intvl_us/wake_intvl_mantis == 2^N, 0<=N<=31 * i.e., wake_intvl_us/wake_intvl_mantis == 2^N, 0<=N<=31
* @min_wake_intvl_us: Min tolerance limit of TWT wake interval
* @max_wake_intvl_us: Max tolerance limit of TWT wake interval
* @wake_dura_us: TWT Wake Duration in units of us, must be <= 0xFFFF * @wake_dura_us: TWT Wake Duration in units of us, must be <= 0xFFFF
* wake_dura_us must be divided evenly by 256, * wake_dura_us must be divided evenly by 256,
* i.e., wake_dura_us % 256 == 0 * i.e., wake_dura_us % 256 == 0
* @min_wake_dura_us: Min tolerance limit of TWT wake duration.
* @max_wake_dura_us: Max tolerance limit of TWT wake duration.
* @sp_offset_us: this long time after TWT setup the 1st SP will start. * @sp_offset_us: this long time after TWT setup the 1st SP will start.
* @twt_cmd: cmd from enum WMI_HOST_TWT_COMMAND * @twt_cmd: cmd from enum WMI_HOST_TWT_COMMAND
* @flag_bcast: 0 means Individual TWT, * @flag_bcast: 0 means Individual TWT,
@@ -268,7 +272,11 @@ struct wmi_twt_add_dialog_param {
uint32_t dialog_id; uint32_t dialog_id;
uint32_t wake_intvl_us; uint32_t wake_intvl_us;
uint32_t wake_intvl_mantis; uint32_t wake_intvl_mantis;
uint32_t min_wake_intvl_us;
uint32_t max_wake_intvl_us;
uint32_t wake_dura_us; uint32_t wake_dura_us;
uint32_t min_wake_dura_us;
uint32_t max_wake_dura_us;
uint32_t sp_offset_us; uint32_t sp_offset_us;
enum WMI_HOST_TWT_COMMAND twt_cmd; enum WMI_HOST_TWT_COMMAND twt_cmd;
uint32_t uint32_t

View File

@@ -171,6 +171,10 @@ send_twt_add_dialog_cmd_tlv(wmi_unified_t wmi_handle,
cmd->wake_intvl_mantis = params->wake_intvl_mantis; cmd->wake_intvl_mantis = params->wake_intvl_mantis;
cmd->wake_dura_us = params->wake_dura_us; cmd->wake_dura_us = params->wake_dura_us;
cmd->sp_offset_us = params->sp_offset_us; cmd->sp_offset_us = params->sp_offset_us;
cmd->min_wake_intvl_us = params->min_wake_intvl_us;
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;
TWT_FLAGS_SET_CMD(cmd->flags, params->twt_cmd); TWT_FLAGS_SET_CMD(cmd->flags, params->twt_cmd);
TWT_FLAGS_SET_BROADCAST(cmd->flags, params->flag_bcast); TWT_FLAGS_SET_BROADCAST(cmd->flags, params->flag_bcast);
TWT_FLAGS_SET_TRIGGER(cmd->flags, params->flag_trigger); TWT_FLAGS_SET_TRIGGER(cmd->flags, params->flag_trigger);