iwlwifi: 5150 compute ct kill threshold
This patch adds computation of ct kill threshold for 5150. Threshold is computed from calibration data in the EEPROM. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
819500c589
commit
339afc893d
2 changed files with 13 additions and 1 deletions
|
@ -426,6 +426,17 @@ static const u8 *iwl5000_eeprom_query_addr(const struct iwl_priv *priv,
|
||||||
return &priv->eeprom[address];
|
return &priv->eeprom[address];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static s32 iwl5150_get_ct_threshold(struct iwl_priv *priv)
|
||||||
|
{
|
||||||
|
const s32 volt2temp_coef = -5;
|
||||||
|
u16 *temp_calib = (u16 *)iwl_eeprom_query_addr(priv,
|
||||||
|
EEPROM_5000_TEMPERATURE);
|
||||||
|
/* offset = temperate - voltage / coef */
|
||||||
|
s32 offset = temp_calib[0] - temp_calib[1] / volt2temp_coef;
|
||||||
|
s32 threshold = (s32)CELSIUS_TO_KELVIN(CT_KILL_THRESHOLD) - offset;
|
||||||
|
return threshold * volt2temp_coef;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Calibration
|
* Calibration
|
||||||
*/
|
*/
|
||||||
|
@ -859,7 +870,7 @@ static int iwl5000_hw_set_hw_params(struct iwl_priv *priv)
|
||||||
case CSR_HW_REV_TYPE_5150:
|
case CSR_HW_REV_TYPE_5150:
|
||||||
/* 5150 wants in Kelvin */
|
/* 5150 wants in Kelvin */
|
||||||
priv->hw_params.ct_kill_threshold =
|
priv->hw_params.ct_kill_threshold =
|
||||||
CELSIUS_TO_KELVIN(CT_KILL_THRESHOLD);
|
iwl5150_get_ct_threshold(priv);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -147,6 +147,7 @@ struct iwl_eeprom_channel {
|
||||||
/*5000 calibrations */
|
/*5000 calibrations */
|
||||||
#define EEPROM_5000_CALIB_ALL (INDIRECT_ADDRESS | INDIRECT_CALIBRATION)
|
#define EEPROM_5000_CALIB_ALL (INDIRECT_ADDRESS | INDIRECT_CALIBRATION)
|
||||||
#define EEPROM_5000_XTAL ((2*0x128) | EEPROM_5000_CALIB_ALL)
|
#define EEPROM_5000_XTAL ((2*0x128) | EEPROM_5000_CALIB_ALL)
|
||||||
|
#define EEPROM_5000_TEMPERATURE ((2*0x12A) | EEPROM_5000_CALIB_ALL)
|
||||||
|
|
||||||
/* 5000 links */
|
/* 5000 links */
|
||||||
#define EEPROM_5000_LINK_HOST (2*0x64)
|
#define EEPROM_5000_LINK_HOST (2*0x64)
|
||||||
|
|
Loading…
Add table
Reference in a new issue