Loading tools/power/x86/intel-speed-select/isst-config.c +8 −5 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ struct process_cmd_struct { int arg; }; static const char *version_str = "v1.15"; static const char *version_str = "v1.16"; static const int supported_api_ver = 2; static struct isst_if_platform_info isst_platform_info; Loading Loading @@ -2113,7 +2113,6 @@ static void set_fact_enable(int arg) else for_each_online_power_domain_in_set(set_fact_for_cpu, NULL, NULL, NULL, &enable); isst_ctdp_display_information_end(outf); if (!fact_enable_fail && enable && auto_mode) { /* Loading Loading @@ -2192,10 +2191,13 @@ static void set_fact_enable(int arg) isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0); } isst_ctdp_display_information_end(outf); return; error_disp: isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret); isst_ctdp_display_information_end(outf); } Loading Loading @@ -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; int ret; if (id->cpu < 0) return; ret = isst_pm_get_clos(id, current_clos, &clos_config); if (ret) isst_display_error_info_message(1, "isst_pm_get_clos failed", 0, 0); Loading Loading @@ -2437,12 +2436,16 @@ static void set_clos_assoc(int arg) isst_display_error_info_message(1, "Invalid clos id\n", 0, 0); exit(0); } isst_ctdp_display_information_start(outf); if (max_target_cpus) for_each_online_target_cpu_in_set(set_clos_assoc_for_cpu, NULL, NULL, NULL, NULL); else { 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, Loading tools/power/x86/intel-speed-select/isst-core-tpmi.c +35 −8 Original line number Diff line number Diff line Loading @@ -641,16 +641,30 @@ static int tpmi_pm_qos_config(struct isst_id *id, int enable_clos, int priority_type) { struct isst_core_power info; int ret; int i, ret, saved_punit; info.get_set = 1; info.socket_id = id->pkg; info.power_domain_id = id->punit; info.enable = enable_clos; 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); if (ret == -1) if (ret == -1) { id->punit = saved_punit; return ret; } } } id->punit = saved_punit; return 0; } Loading Loading @@ -686,7 +700,7 @@ int tpmi_set_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config) { struct isst_clos_param info; int ret; int i, ret, saved_punit; info.get_set = 1; info.socket_id = id->pkg; Loading @@ -702,9 +716,22 @@ int tpmi_set_clos(struct isst_id *id, int clos, if (info.max_freq_mhz <= 0xff) 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); if (ret == -1) if (ret == -1) { id->punit = saved_punit; return ret; } } } id->punit = saved_punit; debug_printf("set cpu:%d clos:%d min:%d max:%d\n", id->cpu, clos, clos_config->clos_min, clos_config->clos_max); Loading Loading
tools/power/x86/intel-speed-select/isst-config.c +8 −5 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ struct process_cmd_struct { int arg; }; static const char *version_str = "v1.15"; static const char *version_str = "v1.16"; static const int supported_api_ver = 2; static struct isst_if_platform_info isst_platform_info; Loading Loading @@ -2113,7 +2113,6 @@ static void set_fact_enable(int arg) else for_each_online_power_domain_in_set(set_fact_for_cpu, NULL, NULL, NULL, &enable); isst_ctdp_display_information_end(outf); if (!fact_enable_fail && enable && auto_mode) { /* Loading Loading @@ -2192,10 +2191,13 @@ static void set_fact_enable(int arg) isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0); } isst_ctdp_display_information_end(outf); return; error_disp: isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret); isst_ctdp_display_information_end(outf); } Loading Loading @@ -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; int ret; if (id->cpu < 0) return; ret = isst_pm_get_clos(id, current_clos, &clos_config); if (ret) isst_display_error_info_message(1, "isst_pm_get_clos failed", 0, 0); Loading Loading @@ -2437,12 +2436,16 @@ static void set_clos_assoc(int arg) isst_display_error_info_message(1, "Invalid clos id\n", 0, 0); exit(0); } isst_ctdp_display_information_start(outf); if (max_target_cpus) for_each_online_target_cpu_in_set(set_clos_assoc_for_cpu, NULL, NULL, NULL, NULL); else { 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, Loading
tools/power/x86/intel-speed-select/isst-core-tpmi.c +35 −8 Original line number Diff line number Diff line Loading @@ -641,16 +641,30 @@ static int tpmi_pm_qos_config(struct isst_id *id, int enable_clos, int priority_type) { struct isst_core_power info; int ret; int i, ret, saved_punit; info.get_set = 1; info.socket_id = id->pkg; info.power_domain_id = id->punit; info.enable = enable_clos; 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); if (ret == -1) if (ret == -1) { id->punit = saved_punit; return ret; } } } id->punit = saved_punit; return 0; } Loading Loading @@ -686,7 +700,7 @@ int tpmi_set_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config) { struct isst_clos_param info; int ret; int i, ret, saved_punit; info.get_set = 1; info.socket_id = id->pkg; Loading @@ -702,9 +716,22 @@ int tpmi_set_clos(struct isst_id *id, int clos, if (info.max_freq_mhz <= 0xff) 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); if (ret == -1) if (ret == -1) { id->punit = saved_punit; return ret; } } } id->punit = saved_punit; debug_printf("set cpu:%d clos:%d min:%d max:%d\n", id->cpu, clos, clos_config->clos_min, clos_config->clos_max); Loading