diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-power.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-power.h | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.h b/drivers/net/wireless/iwlwifi/iwl-power.h index 18963392121e..37ba3bb7a25a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-power.h +++ b/drivers/net/wireless/iwlwifi/iwl-power.h | |||
@@ -40,56 +40,29 @@ enum { | |||
40 | IWL_POWER_INDEX_3, | 40 | IWL_POWER_INDEX_3, |
41 | IWL_POWER_INDEX_4, | 41 | IWL_POWER_INDEX_4, |
42 | IWL_POWER_INDEX_5, | 42 | IWL_POWER_INDEX_5, |
43 | IWL_POWER_AUTO, | 43 | IWL_POWER_NUM |
44 | IWL_POWER_MAX = IWL_POWER_AUTO, | ||
45 | }; | 44 | }; |
46 | 45 | ||
47 | enum { | ||
48 | IWL_POWER_SYS_AUTO, | ||
49 | IWL_POWER_SYS_AC, | ||
50 | IWL_POWER_SYS_BATTERY, | ||
51 | IWL_POWER_SYS_MAX, | ||
52 | }; | ||
53 | |||
54 | |||
55 | /* Power management (not Tx power) structures */ | 46 | /* Power management (not Tx power) structures */ |
56 | 47 | ||
57 | #define NOSLP cpu_to_le16(0), 0, 0 | ||
58 | #define SLP IWL_POWER_DRIVER_ALLOW_SLEEP_MSK, 0, 0 | ||
59 | #define SLP_TOUT(T) cpu_to_le32((T) * MSEC_TO_USEC) | ||
60 | #define SLP_VEC(X0, X1, X2, X3, X4) {cpu_to_le32(X0), \ | ||
61 | cpu_to_le32(X1), \ | ||
62 | cpu_to_le32(X2), \ | ||
63 | cpu_to_le32(X3), \ | ||
64 | cpu_to_le32(X4)} | ||
65 | struct iwl_power_vec_entry { | 48 | struct iwl_power_vec_entry { |
66 | struct iwl_powertable_cmd cmd; | 49 | struct iwl_powertable_cmd cmd; |
67 | u8 no_dtim; | 50 | u8 no_dtim; |
68 | }; | 51 | }; |
69 | 52 | ||
70 | struct iwl_power_mgr { | 53 | struct iwl_power_mgr { |
71 | spinlock_t lock; | 54 | struct iwl_power_vec_entry pwr_range_0[IWL_POWER_NUM]; |
72 | struct iwl_power_vec_entry pwr_range_0[IWL_POWER_MAX]; | 55 | struct iwl_power_vec_entry pwr_range_1[IWL_POWER_NUM]; |
73 | struct iwl_power_vec_entry pwr_range_1[IWL_POWER_MAX]; | 56 | struct iwl_power_vec_entry pwr_range_2[IWL_POWER_NUM]; |
74 | struct iwl_power_vec_entry pwr_range_2[IWL_POWER_MAX]; | ||
75 | u32 dtim_period; | 57 | u32 dtim_period; |
76 | /* final power level that used to calculate final power command */ | 58 | /* final power level that used to calculate final power command */ |
77 | u8 power_mode; | 59 | u8 power_mode; |
78 | u8 user_power_setting; /* set by user through mac80211 or sysfs */ | 60 | u8 user_power_setting; /* set by user through sysfs */ |
79 | u8 system_power_setting; /* set by kernel system tools */ | 61 | u8 power_disabled; /* set by mac80211's CONF_PS */ |
80 | u8 critical_power_setting; /* set if driver over heated */ | ||
81 | u8 is_battery_active; /* DC/AC power */ | ||
82 | u8 power_disabled; /* flag to disable using power saving level */ | ||
83 | }; | 62 | }; |
84 | 63 | ||
85 | void iwl_setup_power_deferred_work(struct iwl_priv *priv); | ||
86 | void iwl_power_cancel_timeout(struct iwl_priv *priv); | ||
87 | int iwl_power_update_mode(struct iwl_priv *priv, bool force); | 64 | int iwl_power_update_mode(struct iwl_priv *priv, bool force); |
88 | int iwl_power_disable_management(struct iwl_priv *priv, u32 ms); | ||
89 | int iwl_power_enable_management(struct iwl_priv *priv); | ||
90 | int iwl_power_set_user_mode(struct iwl_priv *priv, u16 mode); | 65 | int iwl_power_set_user_mode(struct iwl_priv *priv, u16 mode); |
91 | int iwl_power_set_system_mode(struct iwl_priv *priv, u16 mode); | ||
92 | void iwl_power_initialize(struct iwl_priv *priv); | 66 | void iwl_power_initialize(struct iwl_priv *priv); |
93 | int iwl_power_temperature_change(struct iwl_priv *priv); | ||
94 | 67 | ||
95 | #endif /* __iwl_power_setting_h__ */ | 68 | #endif /* __iwl_power_setting_h__ */ |