diff options
author | Zbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com> | 2021-02-25 01:53:53 +0300 |
---|---|---|
committer | Jae Hyun Yoo <jae.hyun.yoo@intel.com> | 2021-07-14 20:07:04 +0300 |
commit | fa8b80631dec7f752c9b79d2fecf32e3a44dd94e (patch) | |
tree | 478ee72b2ddebe8dbd73b3adc25995a31eddc0cf | |
parent | 5e3a7ae2838d6c0e80be693b644902f471c3fb8e (diff) | |
download | linux-fa8b80631dec7f752c9b79d2fecf32e3a44dd94e.tar.xz |
hwmon: peci: TDP used for max DRAM power
This commit replaces 'Maximal DRAM Power' (MSR@61Ch -
MSR_DRAM_POWER_INFO_HIGH) with the 'Spec DRAM Power'('TDP') (MSR@61Ch -
MSR_DRAM_POWER_INFO_LOW) while maximal DRAM power calculation. This is
to be compliant with SPS ME Node Manager. In case package power it
already works with the same way - TDP is taken as maximal power.
Signed-off-by: Zbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com>
-rw-r--r-- | drivers/hwmon/peci-dimmpower.c | 8 | ||||
-rw-r--r-- | drivers/hwmon/peci-hwmon.h | 26 |
2 files changed, 4 insertions, 30 deletions
diff --git a/drivers/hwmon/peci-dimmpower.c b/drivers/hwmon/peci-dimmpower.c index 69c9a142b0d5..7c4eb86a1600 100644 --- a/drivers/hwmon/peci-dimmpower.c +++ b/drivers/hwmon/peci-dimmpower.c @@ -245,7 +245,7 @@ peci_dimmpower_read_max_power(void *ctx, struct peci_sensor_conf *sensor_conf, struct peci_sensor_data *sensor_data) { struct peci_dimmpower *priv = (struct peci_dimmpower *)ctx; - union peci_dram_power_info_high power_info; + union peci_dram_power_info_low power_info; ulong jif; int ret; @@ -263,19 +263,19 @@ peci_dimmpower_read_max_power(void *ctx, struct peci_sensor_conf *sensor_conf, } jif = jiffies; - ret = peci_pcs_read(priv->mgr, PECI_MBX_INDEX_DDR_PWR_INFO_HIGH, + ret = peci_pcs_read(priv->mgr, PECI_MBX_INDEX_DDR_PWR_INFO_LOW, PECI_PCS_PARAM_ZERO, &power_info.value); if (ret) { dev_dbg(priv->dev, "not able to read power info\n"); return ret; } - sensor_data->value = peci_pcs_xn_to_munits(power_info.bits.max_pwr, + sensor_data->value = peci_pcs_xn_to_munits(power_info.bits.tdp, priv->units.bits.pwr_unit); peci_sensor_mark_updated_with_time(sensor_data, jif); dev_dbg(priv->dev, "raw max power %u, unit %u, max power %dmW\n", - power_info.bits.max_pwr, priv->units.bits.pwr_unit, + power_info.bits.tdp, priv->units.bits.pwr_unit, sensor_data->value); return ret; diff --git a/drivers/hwmon/peci-hwmon.h b/drivers/hwmon/peci-hwmon.h index 63ff624d475a..e8d5b63d0a79 100644 --- a/drivers/hwmon/peci-hwmon.h +++ b/drivers/hwmon/peci-hwmon.h @@ -282,32 +282,6 @@ static_assert(sizeof(union peci_package_power_limit_low) == PECI_PCS_REGISTER_SIZE); /** - * union peci_dram_power_info_high - DRAM Power Info high PCS - * This PCS coresponds to the MSR@61Ch - MSR_DRAM_POWER_INFO, bits [63:32] - * Accessing over PECI: PCS=0x23, Parameter=0x0000 - * @value: PCS register value - * @bits: PCS register bits - * @max_pwr: Bits [14:0] - Maximal DRAM Power - * @rsvd0: Bits [15:15] - * @max_win: Bits [22:16] - Maximal Time Window - * @rsvd1: Bits [30:23] - * @lock: Bits [31:31] - Locking bit - */ -union peci_dram_power_info_high { - u32 value; - struct { - u32 max_pwr : 15; - u32 rsvd0 : 1; - u32 max_win : 7; - u32 rsvd1 : 8; - u32 lock : 1; - } __attribute__((__packed__)) bits; -} __attribute__((__packed__)); - -static_assert(sizeof(union peci_dram_power_info_high) == - PECI_PCS_REGISTER_SIZE); - -/** * union peci_dram_power_info_low - DRAM Power Info low PCS * This PCS coresponds to the MSR@61Ch - MSR_DRAM_POWER_INFO, bits [31:0] * Accessing over PECI: PCS=0x24, Parameter=0x0000 |