diff options
author | Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> | 2023-02-22 22:53:02 -0800 |
---|---|---|
committer | Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> | 2023-03-22 13:41:17 -0700 |
commit | 1d54b139f43482a5d394f26ce47aa9949dec6e76 (patch) | |
tree | 3ce95c1881f28fca34c1cc922be802ac36c9b2ed /tools/power | |
parent | a835ff56dd9ce2dfc53526085ba8efc2807b9bcb (diff) | |
download | linux-stable-1d54b139f43482a5d394f26ce47aa9949dec6e76.tar.gz linux-stable-1d54b139f43482a5d394f26ce47aa9949dec6e76.tar.bz2 linux-stable-1d54b139f43482a5d394f26ce47aa9949dec6e76.zip |
tools/power/x86/intel-speed-select: Identify Emerald Rapids
There are some differences compared to Sapphire Rapids. So, add a separate
API.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Diffstat (limited to 'tools/power')
-rw-r--r-- | tools/power/x86/intel-speed-select/isst-config.c | 11 | ||||
-rw-r--r-- | tools/power/x86/intel-speed-select/isst-core-mbox.c | 2 | ||||
-rw-r--r-- | tools/power/x86/intel-speed-select/isst.h | 1 |
3 files changed, 12 insertions, 2 deletions
diff --git a/tools/power/x86/intel-speed-select/isst-config.c b/tools/power/x86/intel-speed-select/isst-config.c index c4d00426cb6a..2ad8726edc06 100644 --- a/tools/power/x86/intel-speed-select/isst-config.c +++ b/tools/power/x86/intel-speed-select/isst-config.c @@ -114,12 +114,21 @@ int is_skx_based_platform(void) int is_spr_platform(void) { - if (cpu_model == 0x8F || cpu_model == 0xCF) + if (cpu_model == 0x8F) return 1; return 0; } +int is_emr_platform(void) +{ + if (cpu_model == 0xCF) + return 1; + + return 0; +} + + int is_icx_platform(void) { if (cpu_model == 0x6A || cpu_model == 0x6C) diff --git a/tools/power/x86/intel-speed-select/isst-core-mbox.c b/tools/power/x86/intel-speed-select/isst-core-mbox.c index 6951a9c31dc5..c860be30fe5e 100644 --- a/tools/power/x86/intel-speed-select/isst-core-mbox.c +++ b/tools/power/x86/intel-speed-select/isst-core-mbox.c @@ -404,7 +404,7 @@ static void _get_uncore_mem_freq(struct isst_id *id, int config_index, } ctdp_level->mem_freq = resp & GENMASK(7, 0); - if (is_spr_platform()) { + if (is_spr_platform() || is_emr_platform()) { ctdp_level->mem_freq *= 200; } else if (is_icx_platform()) { if (ctdp_level->mem_freq < 7) { diff --git a/tools/power/x86/intel-speed-select/isst.h b/tools/power/x86/intel-speed-select/isst.h index 6a37c26b1ef7..54fc21575d56 100644 --- a/tools/power/x86/intel-speed-select/isst.h +++ b/tools/power/x86/intel-speed-select/isst.h @@ -298,6 +298,7 @@ extern int isst_read_pm_config(struct isst_id *id, int *cp_state, int *cp_cap); extern void isst_display_error_info_message(int error, char *msg, int arg_valid, int arg); extern int is_skx_based_platform(void); extern int is_spr_platform(void); +extern int is_emr_platform(void); extern int is_icx_platform(void); extern void isst_trl_display_information(struct isst_id *id, FILE *outf, unsigned long long trl); |