Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −5
Original line number Original line Diff line number Diff line
@@ -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);
+5 −4
Original line number Original line Diff line number Diff line
@@ -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)
		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));
+6 −1
Original line number Original line Diff line number Diff line
@@ -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)