Commit 9ce93086 authored by Hans de Goede's avatar Hans de Goede

Merge remote-tracking branch 'intel-speed-select/intel-sst' into review-hans

parents b77b75fc 7244720a
...@@ -15,7 +15,7 @@ struct process_cmd_struct { ...@@ -15,7 +15,7 @@ struct process_cmd_struct {
int arg; int arg;
}; };
static const char *version_str = "v1.15"; static const char *version_str = "v1.16";
static const int supported_api_ver = 2; static const int supported_api_ver = 2;
static struct isst_if_platform_info isst_platform_info; static struct isst_if_platform_info isst_platform_info;
...@@ -2113,7 +2113,6 @@ static void set_fact_enable(int arg) ...@@ -2113,7 +2113,6 @@ static void set_fact_enable(int arg)
else else
for_each_online_power_domain_in_set(set_fact_for_cpu, NULL, NULL, for_each_online_power_domain_in_set(set_fact_for_cpu, NULL, NULL,
NULL, &enable); NULL, &enable);
isst_ctdp_display_information_end(outf);
if (!fact_enable_fail && enable && auto_mode) { if (!fact_enable_fail && enable && auto_mode) {
/* /*
...@@ -2192,10 +2191,13 @@ static void set_fact_enable(int arg) ...@@ -2192,10 +2191,13 @@ static void set_fact_enable(int arg)
isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0); isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0);
} }
isst_ctdp_display_information_end(outf);
return; return;
error_disp: error_disp:
isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret); isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret);
isst_ctdp_display_information_end(outf);
} }
...@@ -2261,9 +2263,6 @@ static void dump_clos_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, ...@@ -2261,9 +2263,6 @@ static void dump_clos_config_for_cpu(struct isst_id *id, void *arg1, void *arg2,
struct isst_clos_config clos_config; struct isst_clos_config clos_config;
int ret; int ret;
if (id->cpu < 0)
return;
ret = isst_pm_get_clos(id, current_clos, &clos_config); ret = isst_pm_get_clos(id, current_clos, &clos_config);
if (ret) if (ret)
isst_display_error_info_message(1, "isst_pm_get_clos failed", 0, 0); isst_display_error_info_message(1, "isst_pm_get_clos failed", 0, 0);
...@@ -2437,12 +2436,16 @@ static void set_clos_assoc(int arg) ...@@ -2437,12 +2436,16 @@ static void set_clos_assoc(int arg)
isst_display_error_info_message(1, "Invalid clos id\n", 0, 0); isst_display_error_info_message(1, "Invalid clos id\n", 0, 0);
exit(0); exit(0);
} }
isst_ctdp_display_information_start(outf);
if (max_target_cpus) if (max_target_cpus)
for_each_online_target_cpu_in_set(set_clos_assoc_for_cpu, NULL, for_each_online_target_cpu_in_set(set_clos_assoc_for_cpu, NULL,
NULL, NULL, NULL); NULL, NULL, NULL);
else { else {
isst_display_error_info_message(1, "Invalid target cpu. Specify with [-c|--cpu]", 0, 0); isst_display_error_info_message(1, "Invalid target cpu. Specify with [-c|--cpu]", 0, 0);
} }
isst_ctdp_display_information_end(outf);
} }
static void get_clos_assoc_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, static void get_clos_assoc_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3,
......
...@@ -641,16 +641,30 @@ static int tpmi_pm_qos_config(struct isst_id *id, int enable_clos, ...@@ -641,16 +641,30 @@ static int tpmi_pm_qos_config(struct isst_id *id, int enable_clos,
int priority_type) int priority_type)
{ {
struct isst_core_power info; struct isst_core_power info;
int ret; int i, ret, saved_punit;
info.get_set = 1; info.get_set = 1;
info.socket_id = id->pkg; info.socket_id = id->pkg;
info.power_domain_id = id->punit; info.power_domain_id = id->punit;
info.enable = enable_clos; info.enable = enable_clos;
info.priority_type = priority_type; info.priority_type = priority_type;
saved_punit = id->punit;
/* Set for all other dies also. This is per package setting */
for (i = 0; i < MAX_PUNIT_PER_DIE; i++) {
id->punit = i;
if (isst_is_punit_valid(id)) {
info.power_domain_id = i;
ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info); ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info);
if (ret == -1) if (ret == -1) {
id->punit = saved_punit;
return ret; return ret;
}
}
}
id->punit = saved_punit;
return 0; return 0;
} }
...@@ -686,7 +700,7 @@ int tpmi_set_clos(struct isst_id *id, int clos, ...@@ -686,7 +700,7 @@ int tpmi_set_clos(struct isst_id *id, int clos,
struct isst_clos_config *clos_config) struct isst_clos_config *clos_config)
{ {
struct isst_clos_param info; struct isst_clos_param info;
int ret; int i, ret, saved_punit;
info.get_set = 1; info.get_set = 1;
info.socket_id = id->pkg; info.socket_id = id->pkg;
...@@ -702,9 +716,22 @@ int tpmi_set_clos(struct isst_id *id, int clos, ...@@ -702,9 +716,22 @@ int tpmi_set_clos(struct isst_id *id, int clos,
if (info.max_freq_mhz <= 0xff) if (info.max_freq_mhz <= 0xff)
info.max_freq_mhz *= 100; info.max_freq_mhz *= 100;
saved_punit = id->punit;
/* Set for all other dies also. This is per package setting */
for (i = 0; i < MAX_PUNIT_PER_DIE; i++) {
id->punit = i;
if (isst_is_punit_valid(id)) {
info.power_domain_id = i;
ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info); ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info);
if (ret == -1) if (ret == -1) {
id->punit = saved_punit;
return ret; return ret;
}
}
}
id->punit = saved_punit;
debug_printf("set cpu:%d clos:%d min:%d max:%d\n", id->cpu, clos, debug_printf("set cpu:%d clos:%d min:%d max:%d\n", id->cpu, clos,
clos_config->clos_min, clos_config->clos_max); clos_config->clos_min, clos_config->clos_max);
......
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