Commit 7d8f2d50 authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlagn: use iwl_eeprom_calib_hdr structure

For retrieve calibration hdr related information, instead of using structure in
one place and #define in other place, unify the method to use data structure.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent c6f30347
...@@ -96,11 +96,7 @@ void iwlagn_temperature(struct iwl_priv *priv) ...@@ -96,11 +96,7 @@ void iwlagn_temperature(struct iwl_priv *priv)
u16 iwlagn_eeprom_calib_version(struct iwl_priv *priv) u16 iwlagn_eeprom_calib_version(struct iwl_priv *priv)
{ {
struct iwl_eeprom_calib_hdr { struct iwl_eeprom_calib_hdr *hdr;
u8 version;
u8 pa_type;
u16 voltage;
} *hdr;
hdr = (struct iwl_eeprom_calib_hdr *)iwl_eeprom_query_addr(priv, hdr = (struct iwl_eeprom_calib_hdr *)iwl_eeprom_query_addr(priv,
EEPROM_CALIB_ALL); EEPROM_CALIB_ALL);
......
...@@ -185,11 +185,12 @@ static int iwlagn_set_temperature_offset_calib_v2(struct iwl_priv *priv) ...@@ -185,11 +185,12 @@ static int iwlagn_set_temperature_offset_calib_v2(struct iwl_priv *priv)
EEPROM_KELVIN_TEMPERATURE); EEPROM_KELVIN_TEMPERATURE);
__le16 *offset_calib_low = __le16 *offset_calib_low =
(__le16 *)iwl_eeprom_query_addr(priv, EEPROM_RAW_TEMPERATURE); (__le16 *)iwl_eeprom_query_addr(priv, EEPROM_RAW_TEMPERATURE);
__le16 *voltage_reading = struct iwl_eeprom_calib_hdr *hdr;
(__le16 *)iwl_eeprom_query_addr(priv, EEPROM_VOLTAGE_READING);
memset(&cmd, 0, sizeof(cmd)); memset(&cmd, 0, sizeof(cmd));
iwl_set_calib_hdr(&cmd.hdr, IWL_PHY_CALIBRATE_TEMP_OFFSET_CMD); iwl_set_calib_hdr(&cmd.hdr, IWL_PHY_CALIBRATE_TEMP_OFFSET_CMD);
hdr = (struct iwl_eeprom_calib_hdr *)iwl_eeprom_query_addr(priv,
EEPROM_CALIB_ALL);
memcpy(&cmd.radio_sensor_offset_high, offset_calib_high, memcpy(&cmd.radio_sensor_offset_high, offset_calib_high,
sizeof(offset_calib_high)); sizeof(offset_calib_high));
memcpy(&cmd.radio_sensor_offset_low, offset_calib_low, memcpy(&cmd.radio_sensor_offset_low, offset_calib_low,
...@@ -199,8 +200,8 @@ static int iwlagn_set_temperature_offset_calib_v2(struct iwl_priv *priv) ...@@ -199,8 +200,8 @@ static int iwlagn_set_temperature_offset_calib_v2(struct iwl_priv *priv)
cmd.radio_sensor_offset_low = DEFAULT_RADIO_SENSOR_OFFSET; cmd.radio_sensor_offset_low = DEFAULT_RADIO_SENSOR_OFFSET;
cmd.radio_sensor_offset_high = DEFAULT_RADIO_SENSOR_OFFSET; cmd.radio_sensor_offset_high = DEFAULT_RADIO_SENSOR_OFFSET;
} }
memcpy(&cmd.burntVoltageRef, voltage_reading, memcpy(&cmd.burntVoltageRef, &hdr->voltage,
sizeof(voltage_reading)); sizeof(hdr->voltage));
IWL_DEBUG_CALIB(priv, "Radio sensor offset high: %d\n", IWL_DEBUG_CALIB(priv, "Radio sensor offset high: %d\n",
le16_to_cpu(cmd.radio_sensor_offset_high)); le16_to_cpu(cmd.radio_sensor_offset_high));
......
...@@ -163,11 +163,16 @@ struct iwl_eeprom_enhanced_txpwr { ...@@ -163,11 +163,16 @@ struct iwl_eeprom_enhanced_txpwr {
} __packed; } __packed;
/* calibration */ /* calibration */
struct iwl_eeprom_calib_hdr {
u8 version;
u8 pa_type;
__le16 voltage;
} __packed;
#define EEPROM_CALIB_ALL (INDIRECT_ADDRESS | INDIRECT_CALIBRATION) #define EEPROM_CALIB_ALL (INDIRECT_ADDRESS | INDIRECT_CALIBRATION)
#define EEPROM_XTAL ((2*0x128) | EEPROM_CALIB_ALL) #define EEPROM_XTAL ((2*0x128) | EEPROM_CALIB_ALL)
/* temperature */ /* temperature */
#define EEPROM_VOLTAGE_READING ((2*0x1) | EEPROM_CALIB_ALL)
#define EEPROM_KELVIN_TEMPERATURE ((2*0x12A) | EEPROM_CALIB_ALL) #define EEPROM_KELVIN_TEMPERATURE ((2*0x12A) | EEPROM_CALIB_ALL)
#define EEPROM_RAW_TEMPERATURE ((2*0x12B) | EEPROM_CALIB_ALL) #define EEPROM_RAW_TEMPERATURE ((2*0x12B) | EEPROM_CALIB_ALL)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment