aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-07-24 14:13:01 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-27 15:24:20 -0400
commit672639de13c4db92ed6a47e68043a4317e219902 (patch)
tree68159ff1d3e182780cb62aa4f69725287e417474 /drivers/net/wireless/iwlwifi/iwl-dev.h
parente3139fe741b25a0f8a27fd2cdf2ad11734c3d4d3 (diff)
iwlwifi: critical temperature enter/exit condition
If advance thermal throttling is used the driver need to pass both "enter" and "exit" temperature to uCode. Using different critical temperature threshold for legacy and advance thermal throttling management based on the type of thermal throttling method is used except 1000. For 1000, it use advance thermal throttling critical temperature threshold, but with legacy thermal management implementation until ucode has the necessary implementations in place. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h34
1 files changed, 33 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 0751891f4ab7..cddf17350c4b 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -63,6 +63,8 @@ extern struct iwl_cfg iwl6050_2agn_cfg;
63extern struct iwl_cfg iwl6050_3agn_cfg; 63extern struct iwl_cfg iwl6050_3agn_cfg;
64extern struct iwl_cfg iwl1000_bgn_cfg; 64extern struct iwl_cfg iwl1000_bgn_cfg;
65 65
66struct iwl_tx_queue;
67
66/* shared structures from iwl-5000.c */ 68/* shared structures from iwl-5000.c */
67extern struct iwl_mod_params iwl50_mod_params; 69extern struct iwl_mod_params iwl50_mod_params;
68extern struct iwl_ops iwl5000_ops; 70extern struct iwl_ops iwl5000_ops;
@@ -79,9 +81,37 @@ extern void iwl5000_rts_tx_cmd_flag(struct ieee80211_tx_info *info,
79 __le32 *tx_flags); 81 __le32 *tx_flags);
80extern int iwl5000_calc_rssi(struct iwl_priv *priv, 82extern int iwl5000_calc_rssi(struct iwl_priv *priv,
81 struct iwl_rx_phy_res *rx_resp); 83 struct iwl_rx_phy_res *rx_resp);
84extern int iwl5000_apm_init(struct iwl_priv *priv);
85extern void iwl5000_apm_stop(struct iwl_priv *priv);
86extern int iwl5000_apm_reset(struct iwl_priv *priv);
87extern void iwl5000_nic_config(struct iwl_priv *priv);
88extern u16 iwl5000_eeprom_calib_version(struct iwl_priv *priv);
89extern const u8 *iwl5000_eeprom_query_addr(const struct iwl_priv *priv,
90 size_t offset);
91extern void iwl5000_txq_update_byte_cnt_tbl(struct iwl_priv *priv,
92 struct iwl_tx_queue *txq,
93 u16 byte_cnt);
94extern void iwl5000_txq_inval_byte_cnt_tbl(struct iwl_priv *priv,
95 struct iwl_tx_queue *txq);
96extern int iwl5000_load_ucode(struct iwl_priv *priv);
97extern void iwl5000_init_alive_start(struct iwl_priv *priv);
98extern int iwl5000_alive_notify(struct iwl_priv *priv);
99extern int iwl5000_hw_set_hw_params(struct iwl_priv *priv);
100extern int iwl5000_txq_agg_enable(struct iwl_priv *priv, int txq_id,
101 int tx_fifo, int sta_id, int tid, u16 ssn_idx);
102extern int iwl5000_txq_agg_disable(struct iwl_priv *priv, u16 txq_id,
103 u16 ssn_idx, u8 tx_fifo);
104extern void iwl5000_txq_set_sched(struct iwl_priv *priv, u32 mask);
105extern void iwl5000_setup_deferred_work(struct iwl_priv *priv);
106extern void iwl5000_rx_handler_setup(struct iwl_priv *priv);
107extern int iwl5000_hw_valid_rtc_data_addr(u32 addr);
108extern int iwl5000_send_tx_power(struct iwl_priv *priv);
109extern void iwl5000_temperature(struct iwl_priv *priv);
82 110
83/* CT-KILL constants */ 111/* CT-KILL constants */
84#define CT_KILL_THRESHOLD 110 /* in Celsius */ 112#define CT_KILL_THRESHOLD_LEGACY 110 /* in Celsius */
113#define CT_KILL_THRESHOLD 114 /* in Celsius */
114#define CT_KILL_EXIT_THRESHOLD 95 /* in Celsius */
85 115
86/* Default noise level to report when noise measurement is not available. 116/* Default noise level to report when noise measurement is not available.
87 * This may be because we're: 117 * This may be because we're:
@@ -630,6 +660,8 @@ struct iwl_hw_params {
630 u32 max_data_size; 660 u32 max_data_size;
631 u32 max_bsm_size; 661 u32 max_bsm_size;
632 u32 ct_kill_threshold; /* value in hw-dependent units */ 662 u32 ct_kill_threshold; /* value in hw-dependent units */
663 u32 ct_kill_exit_threshold; /* value in hw-dependent units */
664 /* for 1000, 6000 series and up */
633 u32 calib_init_cfg; 665 u32 calib_init_cfg;
634 const struct iwl_sensitivity_ranges *sens; 666 const struct iwl_sensitivity_ranges *sens;
635}; 667};