dptf: Add support for one more temperature sensor
Some boards may use more than 4 temperature sensors for DPTF thermal
control, so this patch adds support for one more temperature sensor.
BUG=b:207585491
Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: Ibf9666bade23b9bb4f740c6c4df6ecf5227cfb45
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59632
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Scott Chao <scott_chao@wistron.corp-partner.google.com>
Reviewed-by: Sumeet R Pawnikar <sumeet.r.pawnikar@intel.com>
diff --git a/src/acpi/acpigen_dptf.c b/src/acpi/acpigen_dptf.c
index ea1efcf..f2ae769 100644
--- a/src/acpi/acpigen_dptf.c
+++ b/src/acpi/acpigen_dptf.c
@@ -70,6 +70,8 @@
return "TSR2";
case DPTF_TEMP_SENSOR_3:
return "TSR3";
+ case DPTF_TEMP_SENSOR_4:
+ return "TSR4";
case DPTF_TPCH:
return "TPCH";
default:
diff --git a/src/drivers/intel/dptf/dptf.c b/src/drivers/intel/dptf/dptf.c
index c6ead0f6..71a25b6 100644
--- a/src/drivers/intel/dptf/dptf.c
+++ b/src/drivers/intel/dptf/dptf.c
@@ -192,7 +192,7 @@
get_STA_value(config, DPTF_CHARGER),
platform_info);
- for (i = 0, participant = DPTF_TEMP_SENSOR_0; i < 4; ++i, ++participant) {
+ for (i = 0, participant = DPTF_TEMP_SENSOR_0; i < DPTF_MAX_TSR; ++i, ++participant) {
snprintf(name, sizeof(name), "TSR%1d", i);
dptf_write_generic_participant(name, DPTF_GENERIC_PARTICIPANT_TYPE_TSR,
NULL, get_STA_value(config, participant),
@@ -449,7 +449,7 @@
acpigen_pop_len(); /* Scope */
/* TSR options */
- for (p = DPTF_TEMP_SENSOR_0, i = 0; p <= DPTF_TEMP_SENSOR_3; ++p, ++i) {
+ for (p = DPTF_TEMP_SENSOR_0, i = 0; p <= DPTF_TEMP_SENSOR_4; ++p, ++i) {
if (is_participant_used(config, p) && (config->options.tsr[i].hysteresis ||
config->options.tsr[i].desc)) {
dptf_write_scope(p);
diff --git a/src/include/acpi/acpigen_dptf.h b/src/include/acpi/acpigen_dptf.h
index de57adc..758398d 100644
--- a/src/include/acpi/acpigen_dptf.h
+++ b/src/include/acpi/acpigen_dptf.h
@@ -24,6 +24,7 @@
DPTF_TEMP_SENSOR_1,
DPTF_TEMP_SENSOR_2,
DPTF_TEMP_SENSOR_3,
+ DPTF_TEMP_SENSOR_4,
DPTF_TPCH,
DPTF_PARTICIPANT_COUNT,
};
@@ -44,7 +45,7 @@
DPTF_FIELD_UNUSED = 0xFFFFFFFFull,
/* Max supported by DPTF */
- DPTF_MAX_TSR = 4,
+ DPTF_MAX_TSR = 5,
};
/* Active Policy */