aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2024-07-08 10:59:57 +0300
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2024-07-08 10:59:57 +0300
commit356eda93fa48b2cd6c4a4628a6b9c94743f270f8 (patch)
tree60b55bb5da166f3c8b1598f75ba943fa05133d02
parentplatform/x86:intel/pmc: Add support to undo ltr_ignore (diff)
parenttools/power/x86/intel-speed-select: v1.20 release (diff)
downloadwireguard-linux-356eda93fa48b2cd6c4a4628a6b9c94743f270f8.tar.xz
wireguard-linux-356eda93fa48b2cd6c4a4628a6b9c94743f270f8.zip
Merge remote-tracking branch 'intel-speed-select/intel-sst' into review-ilpo
Summary of change: - Fix setting of TRL MSR after SST-TF is disabled in auto mode. Use correct units.
Diffstat (limited to '')
-rw-r--r--tools/power/x86/intel-speed-select/isst-config.c2
-rw-r--r--tools/power/x86/intel-speed-select/isst-core.c6
2 files changed, 7 insertions, 1 deletions
diff --git a/tools/power/x86/intel-speed-select/isst-config.c b/tools/power/x86/intel-speed-select/isst-config.c
index 5899c27c2e2e..5127be34869e 100644
--- a/tools/power/x86/intel-speed-select/isst-config.c
+++ b/tools/power/x86/intel-speed-select/isst-config.c
@@ -16,7 +16,7 @@ struct process_cmd_struct {
int arg;
};
-static const char *version_str = "v1.19";
+static const char *version_str = "v1.20";
static const int supported_api_ver = 3;
static struct isst_if_platform_info isst_platform_info;
diff --git a/tools/power/x86/intel-speed-select/isst-core.c b/tools/power/x86/intel-speed-select/isst-core.c
index 05efffbca3b7..e05561d00458 100644
--- a/tools/power/x86/intel-speed-select/isst-core.c
+++ b/tools/power/x86/intel-speed-select/isst-core.c
@@ -283,6 +283,8 @@ int isst_set_trl(struct isst_id *id, unsigned long long trl)
return 0;
}
+#define MSR_TRL_FREQ_MULTIPLIER 100
+
int isst_set_trl_from_current_tdp(struct isst_id *id, unsigned long long trl)
{
unsigned long long msr_trl;
@@ -310,6 +312,10 @@ int isst_set_trl_from_current_tdp(struct isst_id *id, unsigned long long trl)
for (i = 0; i < 8; ++i) {
unsigned long long _trl = trl[i];
+ /* MSR is always in 100 MHz unit */
+ if (isst_get_disp_freq_multiplier() == 1)
+ _trl /= MSR_TRL_FREQ_MULTIPLIER;
+
msr_trl |= (_trl << (i * 8));
}
}