iwlagn: Add power_level module parameter
Add power_level module parameter to set the default power save level. Power save level has range from 1 - 5, default power save level is 1. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
0172b02926
commit
f753816891
@ -624,6 +624,7 @@ struct iwl_mod_params iwlagn_mod_params = {
|
|||||||
.plcp_check = true,
|
.plcp_check = true,
|
||||||
.bt_coex_active = true,
|
.bt_coex_active = true,
|
||||||
.no_sleep_autoadjust = true,
|
.no_sleep_autoadjust = true,
|
||||||
|
.power_level = IWL_POWER_INDEX_1,
|
||||||
/* the rest are 0 by default */
|
/* the rest are 0 by default */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -3831,6 +3831,11 @@ module_param_named(power_save, iwlagn_mod_params.power_save,
|
|||||||
MODULE_PARM_DESC(power_save,
|
MODULE_PARM_DESC(power_save,
|
||||||
"enable WiFi power management (default: disable)");
|
"enable WiFi power management (default: disable)");
|
||||||
|
|
||||||
|
module_param_named(power_level, iwlagn_mod_params.power_level,
|
||||||
|
int, S_IRUGO);
|
||||||
|
MODULE_PARM_DESC(power_level,
|
||||||
|
"default power save level (range from 1 - 5, default: 1)");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For now, keep using power level 1 instead of automatically
|
* For now, keep using power level 1 instead of automatically
|
||||||
* adjusting ...
|
* adjusting ...
|
||||||
|
@ -164,6 +164,7 @@ struct iwl_mod_params {
|
|||||||
int led_mode; /* def: 0 = system default */
|
int led_mode; /* def: 0 = system default */
|
||||||
bool no_sleep_autoadjust; /* def: true = disable autoadjust */
|
bool no_sleep_autoadjust; /* def: true = disable autoadjust */
|
||||||
bool power_save; /* def: false = disable power save */
|
bool power_save; /* def: false = disable power save */
|
||||||
|
int power_level; /* def: 1 = power level */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -358,9 +358,15 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
|
|||||||
iwl_static_sleep_cmd(priv, cmd,
|
iwl_static_sleep_cmd(priv, cmd,
|
||||||
priv->power_data.debug_sleep_level_override,
|
priv->power_data.debug_sleep_level_override,
|
||||||
dtimper);
|
dtimper);
|
||||||
else if (iwlagn_mod_params.no_sleep_autoadjust)
|
else if (iwlagn_mod_params.no_sleep_autoadjust) {
|
||||||
iwl_static_sleep_cmd(priv, cmd, IWL_POWER_INDEX_1, dtimper);
|
if (iwlagn_mod_params.power_level > IWL_POWER_INDEX_1 &&
|
||||||
else
|
iwlagn_mod_params.power_level <= IWL_POWER_INDEX_5)
|
||||||
|
iwl_static_sleep_cmd(priv, cmd,
|
||||||
|
iwlagn_mod_params.power_level, dtimper);
|
||||||
|
else
|
||||||
|
iwl_static_sleep_cmd(priv, cmd,
|
||||||
|
IWL_POWER_INDEX_1, dtimper);
|
||||||
|
} else
|
||||||
iwl_power_fill_sleep_cmd(priv, cmd,
|
iwl_power_fill_sleep_cmd(priv, cmd,
|
||||||
priv->hw->conf.dynamic_ps_timeout,
|
priv->hw->conf.dynamic_ps_timeout,
|
||||||
priv->hw->conf.max_sleep_period);
|
priv->hw->conf.max_sleep_period);
|
||||||
|
Loading…
Reference in New Issue
Block a user