Преглед изворни кода

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
Pragaspathi Thilagaraj пре 4 година
родитељ
комит
7815fdacc7
2 измењених фајлова са 12 додато и 0 уклоњено
  1. 8 0
      wmi/inc/wmi_unified_twt_param.h
  2. 4 0
      wmi/src/wmi_unified_twt_tlv.c

+ 8 - 0
wmi/inc/wmi_unified_twt_param.h

@@ -243,9 +243,13 @@ enum WMI_HOST_TWT_COMMAND {
  *                 - the quotient of wake_intvl_us/wake_intvl_mantis must be
  *                   2 to N-th(0<=N<=31) power,
  *                   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 must be divided evenly by 256,
  *                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.
  * @twt_cmd: cmd from enum WMI_HOST_TWT_COMMAND
  * @flag_bcast: 0 means Individual TWT,
@@ -268,7 +272,11 @@ struct wmi_twt_add_dialog_param {
 	uint32_t dialog_id;
 	uint32_t wake_intvl_us;
 	uint32_t wake_intvl_mantis;
+	uint32_t min_wake_intvl_us;
+	uint32_t max_wake_intvl_us;
 	uint32_t wake_dura_us;
+	uint32_t min_wake_dura_us;
+	uint32_t max_wake_dura_us;
 	uint32_t sp_offset_us;
 	enum WMI_HOST_TWT_COMMAND twt_cmd;
 	uint32_t

+ 4 - 0
wmi/src/wmi_unified_twt_tlv.c

@@ -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_dura_us =      params->wake_dura_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_BROADCAST(cmd->flags, params->flag_bcast);
 	TWT_FLAGS_SET_TRIGGER(cmd->flags, params->flag_trigger);