diff --git a/.gitignore b/.gitignore index 447ccca..8c583f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/thermald-2.4.1.tar.gz +SOURCES/thermald-2.4.6.tar.gz diff --git a/.thermald.metadata b/.thermald.metadata index 66b77c8..ea72509 100644 --- a/.thermald.metadata +++ b/.thermald.metadata @@ -1 +1 @@ -097a89cbebd1da546ef4af8ea106b9a69f0d712d SOURCES/thermald-2.4.1.tar.gz +1b5f2aab3b231ebcae292813424f4a54561caa12 SOURCES/thermald-2.4.6.tar.gz diff --git a/SOURCES/0001-adaptive-Fix-missing-initializer.patch b/SOURCES/0001-adaptive-Fix-missing-initializer.patch deleted file mode 100644 index 457332f..0000000 --- a/SOURCES/0001-adaptive-Fix-missing-initializer.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d51e3d5f78ac0d90d3bf247f1fb61a53fa3b5a71 Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Thu, 10 Dec 2020 11:35:46 +0100 -Subject: [PATCH 1/3] adaptive: Fix missing initializer - -The limit_1_valid attribute was not initialized to zero. ---- - src/thd_engine_adaptive.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/thd_engine_adaptive.cpp b/src/thd_engine_adaptive.cpp -index d84f1ca..4824a9d 100644 ---- a/src/thd_engine_adaptive.cpp -+++ b/src/thd_engine_adaptive.cpp -@@ -497,6 +497,8 @@ int cthd_engine_adaptive::parse_ppcc(char *name, char *buf, int len) { - if (ppcc.power_limit_1_max && ppcc.power_limit_1_min && ppcc.time_wind_1_min - && ppcc.time_wind_1_max && ppcc.step_1_size) - ppcc.limit_1_valid = 1; -+ else -+ ppcc.limit_1_valid = 0; - - ppccs.push_back(ppcc); - --- -2.26.2 - diff --git a/SOURCES/0002-adaptive-Fix-use-after-free.patch b/SOURCES/0002-adaptive-Fix-use-after-free.patch deleted file mode 100644 index d76138d..0000000 --- a/SOURCES/0002-adaptive-Fix-use-after-free.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a10d4ddeb8b55e238289d63a2623b8936eb6bda4 Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Thu, 10 Dec 2020 11:36:43 +0100 -Subject: [PATCH 2/3] adaptive: Fix use-after-free - -The debug logging would access a recently free'ed variable. Fix this by -changing the order. ---- - src/thd_engine_adaptive.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/thd_engine_adaptive.cpp b/src/thd_engine_adaptive.cpp -index 4824a9d..b68cc40 100644 ---- a/src/thd_engine_adaptive.cpp -+++ b/src/thd_engine_adaptive.cpp -@@ -692,10 +692,11 @@ int cthd_engine_adaptive::parse_gddv_key(char *buf, int size, int *end_offset) { - - str = strtok(key, "/"); - if (!str) { -+ thd_log_debug("Ignoring key %s\n", key); -+ - delete[] (key); - delete[] (val); - -- thd_log_debug("Ignoring key %s\n", key); - /* Ignore */ - return THD_SUCCESS; - } --- -2.26.2 - diff --git a/SOURCES/0003-adaptive-Remove-useless-NULL-check.patch b/SOURCES/0003-adaptive-Remove-useless-NULL-check.patch deleted file mode 100644 index f186db9..0000000 --- a/SOURCES/0003-adaptive-Remove-useless-NULL-check.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 268349088e0931421da65f4dce6997f197a10b12 Mon Sep 17 00:00:00 2001 -From: Benjamin Berg -Date: Thu, 10 Dec 2020 11:37:27 +0100 -Subject: [PATCH 3/3] adaptive: Remove useless NULL check - -_zone cannot be NULL in update_engine_state. Remove a useless check that -would have caused a crash earlier already. ---- - src/thd_engine_adaptive.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/thd_engine_adaptive.cpp b/src/thd_engine_adaptive.cpp -index b68cc40..bc16ad2 100644 ---- a/src/thd_engine_adaptive.cpp -+++ b/src/thd_engine_adaptive.cpp -@@ -1454,7 +1454,7 @@ void cthd_engine_adaptive::update_engine_state() { - _zone->zone_reset(1); - _zone->trip_delete_all(); - -- if (_zone && _zone->zone_active_status()) -+ if (_zone->zone_active_status()) - _zone->set_zone_inactive(); - } - --- -2.26.2 - diff --git a/SOURCES/alderlake-jasperlake-upstream.patch b/SOURCES/alderlake-jasperlake-upstream.patch new file mode 100644 index 0000000..41f8223 --- /dev/null +++ b/SOURCES/alderlake-jasperlake-upstream.patch @@ -0,0 +1,93 @@ +From d28613aea8179c068cfab853f5aa2a0c2b7adebf Mon Sep 17 00:00:00 2001 +From: Srinivas Pandruvada +Date: Thu, 19 Aug 2021 21:29:12 -0700 +Subject: [PATCH 1/3] Added Jasper Lake CPU model + +Support Jasper Lake. +--- + src/thd_engine.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/thd_engine.cpp b/src/thd_engine.cpp +index e23f483..59c7659 100644 +--- a/src/thd_engine.cpp ++++ b/src/thd_engine.cpp +@@ -697,6 +697,7 @@ static supported_ids_t id_table[] = { + { 6, 0xa5 }, // Cometlake + { 6, 0xa6 }, // Cometlake_L + { 6, 0xa7 }, // Rocketlake ++ { 6, 0x9c }, // Jasper Lake + { 0, 0 } // Last Invalid entry + }; + +-- +2.31.1 + + +From ffb226c62d3bc052f47970be9802254e48799bf4 Mon Sep 17 00:00:00 2001 +From: Srinivas Pandruvada +Date: Mon, 14 Jun 2021 10:12:38 -0700 +Subject: [PATCH 2/3] Add AlderLake cpu model + +Added AlderLake CPU models. +--- + src/thd_engine.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/thd_engine.cpp b/src/thd_engine.cpp +index 59c7659..0202de5 100644 +--- a/src/thd_engine.cpp ++++ b/src/thd_engine.cpp +@@ -698,6 +698,8 @@ static supported_ids_t id_table[] = { + { 6, 0xa6 }, // Cometlake_L + { 6, 0xa7 }, // Rocketlake + { 6, 0x9c }, // Jasper Lake ++ { 6, 0x97 }, // Alderlake ++ { 6, 0x9a }, // Alderlake + { 0, 0 } // Last Invalid entry + }; + +-- +2.31.1 + + +From d0c9e7fb5aea85b84841eba927feb8767765fda2 Mon Sep 17 00:00:00 2001 +From: Srinivas Pandruvada +Date: Tue, 22 Jun 2021 08:44:44 -0700 +Subject: [PATCH 3/3] Update sysfs paths for Alader Lake + +Update sysfs path for INT3400 device. +--- + src/thd_engine_adaptive.cpp | 2 ++ + src/thd_int3400.cpp | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/src/thd_engine_adaptive.cpp b/src/thd_engine_adaptive.cpp +index 20df937..247ca6c 100644 +--- a/src/thd_engine_adaptive.cpp ++++ b/src/thd_engine_adaptive.cpp +@@ -1583,6 +1583,8 @@ int cthd_engine_adaptive::thd_engine_start(bool ignore_cpuid_check) { + int3400_base_path = "/sys/bus/platform/devices/INT3400:00/"; + } else if (sysfs.exists("/sys/bus/platform/devices/INTC1040:00")) { + int3400_base_path = "/sys/bus/platform/devices/INTC1040:00/"; ++ } else if (sysfs.exists("/sys/bus/platform/devices/INTC1041:00")) { ++ int3400_base_path = "/sys/bus/platform/devices/INTC1041:00/"; + } else { + return THD_ERROR; + } +diff --git a/src/thd_int3400.cpp b/src/thd_int3400.cpp +index 4fabaee..a89f002 100644 +--- a/src/thd_int3400.cpp ++++ b/src/thd_int3400.cpp +@@ -36,6 +36,8 @@ cthd_INT3400::cthd_INT3400(std::string _uuid) : uuid(_uuid), base_path("") { + base_path = "/sys/bus/acpi/devices/INT3400:00/physical_node/uuids/"; + } else if (cdev_sysfs.exists("/sys/bus/acpi/devices/INTC1040:00/physical_node/uuids")) { + base_path = "/sys/bus/acpi/devices/INTC1040:00/physical_node/uuids/"; ++ } else if (cdev_sysfs.exists("/sys/bus/acpi/devices/INTC1041:00/physical_node/uuids")) { ++ base_path = "/sys/bus/acpi/devices/INTC1041:00/physical_node/uuids/"; + } + thd_log_info("INT3400 Base path is %s\n", base_path.c_str()); + } +-- +2.31.1 + diff --git a/SPECS/thermald.spec b/SPECS/thermald.spec index 7f977f6..bcea6a7 100644 --- a/SPECS/thermald.spec +++ b/SPECS/thermald.spec @@ -7,8 +7,8 @@ Name: thermald -Version: 2.4.1 -Release: 2%{?dist} +Version: 2.4.6 +Release: 1%{?dist} Summary: Thermal Management daemon License: GPLv2+ @@ -36,11 +36,8 @@ Requires(pre): shadow-utils %{?systemd_requires} -# https://github.com/intel/thermal_daemon/pull/286 -Patch0001: 0001-adaptive-Fix-missing-initializer.patch -Patch0002: 0002-adaptive-Fix-use-after-free.patch -Patch0003: 0003-adaptive-Remove-useless-NULL-check.patch - +# Alderlake and Jasperlake support have not been released yet +Patch0001: alderlake-jasperlake-upstream.patch %description %{name} monitors and controls platform temperature. @@ -248,6 +245,10 @@ exit 0 %changelog +* Fri Nov 12 2021 Benjamin Berg - 2.4.6-1 +- Update to 2.4.6 and newer CPU model support + Resolves: #1999368 + * Thu Dec 10 2020 Benjamin Berg - 2.4.1-2 - Fix problems reported by coverity Related: #1875505