Update to the upstream version 2.5.10
- Update to 2.5.10 the commits 3144beaf22c4a (Update Panther Lake sysfs paths) be2049afdee80 (Add Panther Lake to the supported list) 03b4a139388f6 (Check for target code ITMT3) were included in the 2.5.10 release. - Include commits c921e802f6e49 (Compile issue on i586 for time_t print) 352125763b8f9 (itmt3 support) to enable itmt3 support. Resolves: RHEL-122868 Signed-off-by: Kate Hsuan <hpa@redhat.com>
This commit is contained in:
parent
0cce4a1cb9
commit
2116bd9c3a
31
0960193970b74a429a4506cf2179643198df38d8.patch
Normal file
31
0960193970b74a429a4506cf2179643198df38d8.patch
Normal file
@ -0,0 +1,31 @@
|
||||
From c921e802f6e494306850d4ac0e2237a2bde90fdb Mon Sep 17 00:00:00 2001
|
||||
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
Date: Mon, 13 Oct 2025 11:22:21 -0700
|
||||
Subject: [PATCH] Compile issue on i586 for time_t print
|
||||
|
||||
Refer to issue:
|
||||
https://github.com/intel/thermal_daemon/issues/488
|
||||
|
||||
time_t print with format %jd is a problem. The fix was added for
|
||||
i386 compile but that broke i586.
|
||||
|
||||
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
---
|
||||
src/thd_gddv.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/thd_gddv.cpp b/src/thd_gddv.cpp
|
||||
index 7d483462..d5348259 100644
|
||||
--- a/src/thd_gddv.cpp
|
||||
+++ b/src/thd_gddv.cpp
|
||||
@@ -460,8 +460,8 @@ void cthd_gddv::dump_apct() {
|
||||
condition_set[j].target, condition_set[j].device.c_str(),
|
||||
cond_name.c_str(), comp_str.c_str(),
|
||||
condition_set[j].argument, op_str.c_str(),
|
||||
- condition_set[j].time_comparison, condition_set[j].time,
|
||||
- condition_set[j].state, condition_set[j].state_entry_time);
|
||||
+ condition_set[j].time_comparison, (intmax_t)condition_set[j].time,
|
||||
+ condition_set[j].state, (intmax_t)condition_set[j].state_entry_time);
|
||||
}
|
||||
}
|
||||
thd_log_info("..apct dump end..\n");
|
||||
104
352125763b8f9866cd9318c1c2a70a5dcf841b20.patch
Normal file
104
352125763b8f9866cd9318c1c2a70a5dcf841b20.patch
Normal file
@ -0,0 +1,104 @@
|
||||
From 352125763b8f9866cd9318c1c2a70a5dcf841b20 Mon Sep 17 00:00:00 2001
|
||||
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
Date: Wed, 15 Oct 2025 20:00:33 -0700
|
||||
Subject: [PATCH] itmt3 support
|
||||
|
||||
Added ITMT3 table parsing. The elements used here are same as before
|
||||
but there is a structure change.
|
||||
|
||||
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
|
||||
---
|
||||
src/thd_gddv.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/thd_gddv.h | 1 +
|
||||
2 files changed, 61 insertions(+)
|
||||
|
||||
diff --git a/src/thd_gddv.cpp b/src/thd_gddv.cpp
|
||||
index d5348259..36156e47 100644
|
||||
--- a/src/thd_gddv.cpp
|
||||
+++ b/src/thd_gddv.cpp
|
||||
@@ -601,6 +601,58 @@ struct psvt* cthd_gddv::find_def_psvt() {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+struct __attribute__((packed)) itmt3_header {
|
||||
+ uint32_t reserved;
|
||||
+ uint64_t revision;
|
||||
+};
|
||||
+
|
||||
+struct __attribute__((packed)) itmt3 {
|
||||
+ char target[64];
|
||||
+ uint64_t temp;
|
||||
+ uint64_t reserved_1;
|
||||
+ char pl1_min[64];
|
||||
+ char pl1_max[64];
|
||||
+ char reserved_2[88];
|
||||
+};
|
||||
+
|
||||
+int cthd_gddv::parse_itmt3(char *name, char *buf, unsigned int len) {
|
||||
+ unsigned int offset = 0;
|
||||
+ struct itmt itmt;
|
||||
+
|
||||
+ if (name == NULL)
|
||||
+ itmt.name = "Default";
|
||||
+ else
|
||||
+ itmt.name = name;
|
||||
+
|
||||
+ if (len < sizeof(struct itmt3_header))
|
||||
+ return THD_ERROR;
|
||||
+
|
||||
+ offset += sizeof(struct itmt3_header);
|
||||
+
|
||||
+ if (len - offset < sizeof(struct itmt3))
|
||||
+ return THD_ERROR;
|
||||
+
|
||||
+ while (offset < len) {
|
||||
+ struct itmt_entry itmt_entry;
|
||||
+ struct itmt3 *entry = (struct itmt3 *)&buf[offset];
|
||||
+
|
||||
+ if (len - offset < sizeof(struct itmt3))
|
||||
+ return THD_ERROR;
|
||||
+
|
||||
+ itmt_entry.target = entry->target;
|
||||
+ itmt_entry.trip_point = entry->temp;
|
||||
+ itmt_entry.pl1_min = entry->pl1_min;
|
||||
+ itmt_entry.pl1_max = entry->pl1_max;
|
||||
+
|
||||
+ offset += sizeof(struct itmt3);
|
||||
+ itmt.itmt_entries.push_back(itmt_entry);
|
||||
+ }
|
||||
+
|
||||
+ itmts.push_back(itmt);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int cthd_gddv::parse_itmt(char *name, char *buf, int len) {
|
||||
int offset = 0;
|
||||
int version = get_uint64(buf, &offset);
|
||||
@@ -920,6 +972,14 @@ int cthd_gddv::parse_gddv_key(char *buf, int size, int *end_offset) {
|
||||
parse_apat(val, vallength);
|
||||
}
|
||||
|
||||
+ if (type && strncmp(type, "itmt3", strlen("itmt3")) == 0) {
|
||||
+ thd_log_debug("Found ITMT 3\n");
|
||||
+ if (point == NULL)
|
||||
+ parse_itmt3(name, val, vallength);
|
||||
+ else
|
||||
+ parse_itmt3(point, val, vallength);
|
||||
+ }
|
||||
+
|
||||
if (type && strcmp(type, "itmt") == 0) {
|
||||
if (point == NULL)
|
||||
parse_itmt(name, val, vallength);
|
||||
diff --git a/src/thd_gddv.h b/src/thd_gddv.h
|
||||
index ecbe3de9..415339c4 100644
|
||||
--- a/src/thd_gddv.h
|
||||
+++ b/src/thd_gddv.h
|
||||
@@ -211,6 +211,7 @@ class cthd_gddv {
|
||||
int parse_ppcc(char *name, char *ppcc, int len);
|
||||
int parse_psvt(char *name, char *psvt, int len);
|
||||
int parse_itmt(char *name, char *itmt, int len);
|
||||
+ int parse_itmt3(char *name, char *itmt, unsigned int len);
|
||||
int parse_trt(char *trt, int len);
|
||||
void parse_idsp(char *name, char *idsp, int len);
|
||||
void parse_trip_point(char *name, char *type, char *val, int len);
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (thermald-2.5.9.tar.gz) = 0541cf490d9a97544b5c10a036a0d8219410c4451d0471b3896a62a743509cd41f5c9b862d81708a2c68603fbc0056268612d84089ef93308b91712c6d26854b
|
||||
SHA512 (thermald-2.5.10.tar.gz) = a1265e6f7c940a0651d5652c81e13ec1d16c8836eb80622f3d51dac9c054b96d4d78c0988162cfa574578735804b3ee8d1c5eb2c1163ae516bd263ec5d6e2328
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
%bcond qt %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
Name: thermald
|
||||
Version: 2.5.9
|
||||
Version: 2.5.10
|
||||
Release: %autorelease
|
||||
Summary: Thermal Management daemon
|
||||
|
||||
@ -12,6 +12,12 @@ URL: https://github.com/intel/%{pkgname}
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
# Patches
|
||||
# Fix compile issue on i586 for time_t print
|
||||
# https://github.com/intel/thermal_daemon/commit/0960193970b74a429a4506cf2179643198df38d8.patch
|
||||
Patch0001: 0960193970b74a429a4506cf2179643198df38d8.patch
|
||||
# The itmt3 implementation
|
||||
# https://github.com/intel/thermal_daemon/commit/352125763b8f9866cd9318c1c2a70a5dcf841b20.patch
|
||||
Patch0002: 352125763b8f9866cd9318c1c2a70a5dcf841b20.patch
|
||||
|
||||
# No cpuid.h on other arches.
|
||||
ExclusiveArch: %{ix86} x86_64
|
||||
|
||||
Loading…
Reference in New Issue
Block a user