Commit 1d54b139 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada

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: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
parent a835ff56
...@@ -114,12 +114,21 @@ int is_skx_based_platform(void) ...@@ -114,12 +114,21 @@ int is_skx_based_platform(void)
int is_spr_platform(void) int is_spr_platform(void)
{ {
if (cpu_model == 0x8F || cpu_model == 0xCF) if (cpu_model == 0x8F)
return 1; return 1;
return 0; return 0;
} }
int is_emr_platform(void)
{
if (cpu_model == 0xCF)
return 1;
return 0;
}
int is_icx_platform(void) int is_icx_platform(void)
{ {
if (cpu_model == 0x6A || cpu_model == 0x6C) if (cpu_model == 0x6A || cpu_model == 0x6C)
......
...@@ -404,7 +404,7 @@ static void _get_uncore_mem_freq(struct isst_id *id, int config_index, ...@@ -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); ctdp_level->mem_freq = resp & GENMASK(7, 0);
if (is_spr_platform()) { if (is_spr_platform() || is_emr_platform()) {
ctdp_level->mem_freq *= 200; ctdp_level->mem_freq *= 200;
} else if (is_icx_platform()) { } else if (is_icx_platform()) {
if (ctdp_level->mem_freq < 7) { if (ctdp_level->mem_freq < 7) {
......
...@@ -298,6 +298,7 @@ extern int isst_read_pm_config(struct isst_id *id, int *cp_state, int *cp_cap); ...@@ -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 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_skx_based_platform(void);
extern int is_spr_platform(void); extern int is_spr_platform(void);
extern int is_emr_platform(void);
extern int is_icx_platform(void); extern int is_icx_platform(void);
extern void isst_trl_display_information(struct isst_id *id, FILE *outf, unsigned long long trl); extern void isst_trl_display_information(struct isst_id *id, FILE *outf, unsigned long long trl);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment