Lines Matching refs:id

411 void set_isst_id(struct isst_id *id, int cpu)  in set_isst_id()  argument
413 id->cpu = cpu; in set_isst_id()
415 id->pkg = get_physical_package_id(cpu); in set_isst_id()
416 if (id->pkg >= MAX_PACKAGE_COUNT) in set_isst_id()
417 id->pkg = -1; in set_isst_id()
419 id->die = get_physical_die_id(cpu); in set_isst_id()
420 if (id->die >= MAX_DIE_PER_PACKAGE) in set_isst_id()
421 id->die = -1; in set_isst_id()
423 id->punit = get_physical_punit_id(cpu); in set_isst_id()
424 if (id->punit >= MAX_PUNIT_PER_DIE) in set_isst_id()
425 id->punit = -1; in set_isst_id()
428 int is_cpu_in_power_domain(int cpu, struct isst_id *id) in is_cpu_in_power_domain() argument
434 if (id->pkg == tid.pkg && id->die == tid.die && id->punit == tid.punit) in is_cpu_in_power_domain()
556 struct isst_id id; in for_each_online_power_domain_in_set() local
577 set_isst_id(&id, i); in for_each_online_power_domain_in_set()
579 if (id.pkg < 0 || id.die < 0 || id.punit < 0) in for_each_online_power_domain_in_set()
582 valid_mask[id.pkg][id.die] = 1; in for_each_online_power_domain_in_set()
584 if (cpus[id.pkg][id.die][id.punit] == -1) in for_each_online_power_domain_in_set()
585 cpus[id.pkg][id.die][id.punit] = i; in for_each_online_power_domain_in_set()
597 id.cpu = cpus[i][j][k]; in for_each_online_power_domain_in_set()
598 id.pkg = i; in for_each_online_power_domain_in_set()
599 id.die = j; in for_each_online_power_domain_in_set()
600 id.punit = k; in for_each_online_power_domain_in_set()
601 if (isst_is_punit_valid(&id)) in for_each_online_power_domain_in_set()
602 callback(&id, arg1, arg2, arg3, arg4); in for_each_online_power_domain_in_set()
613 struct isst_id id; in for_each_online_target_cpu_in_set() local
627 set_isst_id(&id, i); in for_each_online_target_cpu_in_set()
629 callback(&id, arg1, arg2, arg3, arg4); in for_each_online_target_cpu_in_set()
690 int get_max_punit_core_id(struct isst_id *id) in get_max_punit_core_id() argument
700 if (is_cpu_in_power_domain(i, id) && in get_max_punit_core_id()
708 int get_cpu_count(struct isst_id *id) in get_cpu_count() argument
710 if (id->pkg < 0 || id->die < 0 || id->punit < 0) in get_cpu_count()
713 return cpu_cnt[id->pkg][id->die][id->punit]; in get_cpu_count()
842 void set_cpu_mask_from_punit_coremask(struct isst_id *id, unsigned long long core_mask, in set_cpu_mask_from_punit_coremask() argument
848 if (id->cpu < 0) in set_cpu_mask_from_punit_coremask()
861 if (is_cpu_in_power_domain(j, id) && in set_cpu_mask_from_punit_coremask()
909 int isolate_cpus(struct isst_id *id, int mask_size, cpu_set_t *cpu_mask, int level) in isolate_cpus() argument
917 snprintf(dir_name, sizeof(dir_name), "/sys/fs/cgroup/%d-%d-%d", id->pkg, id->die, id->punit); in isolate_cpus()
953 if (!is_cpu_in_power_domain(i, id)) in isolate_cpus()
974 debug_printf("isolated CPUs list: package:%d curr_index:%d [%s]\n", id->pkg, curr_index ,str); in isolate_cpus()
1049 void get_isst_status(struct isst_id *id, void *arg1, void *arg2, void *arg3, void *arg4) in get_isst_status() argument
1058 if (id->cpu < 0 || tid->cpu >= 0) in get_isst_status()
1061 ret = isst_get_ctdp_levels(id, &pkg_dev); in get_isst_status()
1077 ret = isst_get_ctdp_control(id, j, &ctdp_level); in get_isst_status()
1088 tid->cpu = id->cpu; in get_isst_status()
1089 tid->pkg = id->pkg; in get_isst_status()
1090 tid->die = id->die; in get_isst_status()
1091 tid->punit = id->punit; in get_isst_status()
1097 struct isst_id id; in isst_print_extended_platform_info() local
1100 id.cpu = -1; in isst_print_extended_platform_info()
1101 for_each_online_power_domain_in_set(get_isst_status, NULL, &id, &mask, &max_level); in isst_print_extended_platform_info()
1125 if (isst_read_pm_config(&id, &cp_state, &cp_cap)) { in isst_print_extended_platform_info()
1161 static void exec_on_get_ctdp_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in exec_on_get_ctdp_cpu() argument
1164 int (*fn_ptr)(struct isst_id *id, void *arg); in exec_on_get_ctdp_cpu()
1168 ret = fn_ptr(id, arg2); in exec_on_get_ctdp_cpu()
1172 isst_ctdp_display_core_info(id, outf, arg3, in exec_on_get_ctdp_cpu()
1240 static int clx_n_config(struct isst_id *id) in clx_n_config() argument
1268 if (!is_cpu_in_power_domain(i, id)) in clx_n_config()
1305 if (!is_cpu_in_power_domain(i, id)) in clx_n_config()
1331 static void dump_clx_n_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, in dump_clx_n_config_for_cpu() argument
1341 ret = clx_n_config(id); in dump_clx_n_config_for_cpu()
1351 isst_ctdp_display_information(id, outf, tdp_level, &clx_n_pkg_dev); in dump_clx_n_config_for_cpu()
1357 static void dump_isst_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, in dump_isst_config_for_cpu() argument
1364 ret = isst_get_process_ctdp(id, tdp_level, &pkg_dev); in dump_isst_config_for_cpu()
1366 isst_display_error_info_message(1, "Failed to get perf-profile info on cpu", 1, id->cpu); in dump_isst_config_for_cpu()
1370 isst_ctdp_display_information(id, outf, tdp_level, &pkg_dev); in dump_isst_config_for_cpu()
1371 isst_get_process_ctdp_complete(id, &pkg_dev); in dump_isst_config_for_cpu()
1407 static void set_tdp_level_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in set_tdp_level_for_cpu() argument
1413 ret = isst_get_ctdp_levels(id, &pkg_dev); in set_tdp_level_for_cpu()
1425 ret = isst_set_tdp_level(id, tdp_level); in set_tdp_level_for_cpu()
1433 isst_display_result(id, outf, "perf-profile", "set_tdp_level", ret); in set_tdp_level_for_cpu()
1434 if (force_online_offline && id->cpu >= 0) { in set_tdp_level_for_cpu()
1441 isst_adjust_uncore_freq(id, tdp_level, &ctdp_level); in set_tdp_level_for_cpu()
1446 ret = isst_get_coremask_info(id, tdp_level, &ctdp_level); in set_tdp_level_for_cpu()
1460 ret = isolate_cpus(id, ctdp_level.core_cpumask_size, ctdp_level.core_cpumask, tdp_level); in set_tdp_level_for_cpu()
1471 if (!is_cpu_in_power_domain(i, id)) in set_tdp_level_for_cpu()
1515 static void clx_n_dump_pbf_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, in clx_n_dump_pbf_config_for_cpu() argument
1520 ret = clx_n_config(id); in clx_n_dump_pbf_config_for_cpu()
1529 isst_pbf_display_information(id, outf, tdp_level, pbf_info); in clx_n_dump_pbf_config_for_cpu()
1535 static void dump_pbf_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in dump_pbf_config_for_cpu() argument
1541 ret = isst_get_pbf_info(id, tdp_level, &pbf_info); in dump_pbf_config_for_cpu()
1547 isst_pbf_display_information(id, outf, tdp_level, &pbf_info); in dump_pbf_config_for_cpu()
1584 static int set_clos_param(struct isst_id *id, int clos, int epp, int wt, int min, int max) in set_clos_param() argument
1589 ret = isst_pm_get_clos(id, clos, &clos_config); in set_clos_param()
1598 ret = isst_set_clos(id, clos, &clos_config); in set_clos_param()
1660 static int set_clx_pbf_cpufreq_scaling_min_max(struct isst_id *id) in set_clx_pbf_cpufreq_scaling_min_max() argument
1667 ret = clx_n_config(id); in set_clx_pbf_cpufreq_scaling_min_max()
1679 if (!is_cpu_in_power_domain(i, id)) in set_clx_pbf_cpufreq_scaling_min_max()
1743 static void set_scaling_min_to_cpuinfo_max(struct isst_id *id) in set_scaling_min_to_cpuinfo_max() argument
1747 if (id->cpu < 0) in set_scaling_min_to_cpuinfo_max()
1751 if (!is_cpu_in_power_domain(i, id)) in set_scaling_min_to_cpuinfo_max()
1763 static void set_scaling_min_to_cpuinfo_min(struct isst_id *id) in set_scaling_min_to_cpuinfo_min() argument
1767 if (id->cpu < 0) in set_scaling_min_to_cpuinfo_min()
1771 if (!is_cpu_in_power_domain(i, id)) in set_scaling_min_to_cpuinfo_min()
1782 static void set_scaling_max_to_cpuinfo_max(struct isst_id *id) in set_scaling_max_to_cpuinfo_max() argument
1787 if (!is_cpu_in_power_domain(i, id)) in set_scaling_max_to_cpuinfo_max()
1794 static int set_core_priority_and_min(struct isst_id *id, int mask_size, in set_core_priority_and_min() argument
1803 ret = set_clos_param(id, 0, 0, 0, min_high, 0xff); in set_core_priority_and_min()
1807 ret = set_clos_param(id, 1, 15, 15, min_low, 0xff); in set_core_priority_and_min()
1811 ret = set_clos_param(id, 2, 15, 15, min_low, 0xff); in set_core_priority_and_min()
1815 ret = set_clos_param(id, 3, 15, 15, min_low, 0xff); in set_core_priority_and_min()
1823 if (!is_cpu_in_power_domain(i, id)) in set_core_priority_and_min()
1843 static int set_pbf_core_power(struct isst_id *id) in set_pbf_core_power() argument
1849 if (id->cpu < 0) in set_pbf_core_power()
1852 ret = isst_get_ctdp_levels(id, &pkg_dev); in set_pbf_core_power()
1859 ret = isst_get_pbf_info(id, pkg_dev.current_level, &pbf_info); in set_pbf_core_power()
1867 ret = set_core_priority_and_min(id, pbf_info.core_cpumask_size, in set_pbf_core_power()
1875 ret = isst_pm_qos_config(id, 1, 1); in set_pbf_core_power()
1884 static void set_pbf_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in set_pbf_for_cpu() argument
1895 set_clx_pbf_cpufreq_scaling_min_max(id); in set_pbf_for_cpu()
1898 set_scaling_max_to_cpuinfo_max(id); in set_pbf_for_cpu()
1899 set_scaling_min_to_cpuinfo_min(id); in set_pbf_for_cpu()
1904 ret = isst_get_ctdp_levels(id, &pkg_dev); in set_pbf_for_cpu()
1910 ret = isst_get_ctdp_control(id, pkg_dev.current_level, &ctdp_level); in set_pbf_for_cpu()
1923 ret = set_pbf_core_power(id); in set_pbf_for_cpu()
1928 ret = isst_set_pbf_fact_status(id, 1, status); in set_pbf_for_cpu()
1932 isst_pm_qos_config(id, 0, 0); in set_pbf_for_cpu()
1936 set_scaling_min_to_cpuinfo_max(id); in set_pbf_for_cpu()
1938 set_scaling_min_to_cpuinfo_min(id); in set_pbf_for_cpu()
1943 isst_pm_qos_config(id, 0, 1); in set_pbf_for_cpu()
1947 isst_display_result(id, outf, "base-freq", "enable", in set_pbf_for_cpu()
1950 isst_display_result(id, outf, "base-freq", "disable", in set_pbf_for_cpu()
1999 static void dump_fact_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, in dump_fact_config_for_cpu() argument
2005 ret = isst_get_fact_info(id, tdp_level, fact_bucket, &fact_info); in dump_fact_config_for_cpu()
2011 isst_fact_display_information(id, outf, tdp_level, fact_bucket, in dump_fact_config_for_cpu()
2045 static void set_fact_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in set_fact_for_cpu() argument
2059 ret = isst_get_ctdp_levels(id, &pkg_dev); in set_fact_for_cpu()
2065 ret = isst_get_ctdp_control(id, pkg_dev.current_level, &ctdp_level); in set_fact_for_cpu()
2078 ret = isst_pm_qos_config(id, 1, 1); in set_fact_for_cpu()
2083 ret = isst_set_pbf_fact_status(id, 0, status); in set_fact_for_cpu()
2087 isst_pm_qos_config(id, 0, 0); in set_fact_for_cpu()
2096 ret = isst_get_ctdp_levels(id, &pkg_dev); in set_fact_for_cpu()
2097 if (!ret && id->cpu >= 0) in set_fact_for_cpu()
2098 ret = isst_set_trl(id, fact_trl); in set_fact_for_cpu()
2100 isst_pm_qos_config(id, 0, 0); in set_fact_for_cpu()
2103 isst_pm_qos_config(id, 0, 0); in set_fact_for_cpu()
2108 isst_display_result(id, outf, "turbo-freq", "enable", ret); in set_fact_for_cpu()
2113 isst_set_trl_from_current_tdp(id, fact_trl); in set_fact_for_cpu()
2114 isst_display_result(id, outf, "turbo-freq", "disable", ret); in set_fact_for_cpu()
2121 struct isst_id id; in set_fact_enable() local
2198 set_isst_id(&id, i); in set_fact_enable()
2199 ret = set_clos_param(&id, 0, 0, 0, 0, 0xff); in set_fact_enable()
2203 ret = set_clos_param(&id, 1, 15, 15, 0, 0xff); in set_fact_enable()
2207 ret = set_clos_param(&id, 2, 15, 15, 0, 0xff); in set_fact_enable()
2211 ret = set_clos_param(&id, 3, 15, 15, 0, 0xff); in set_fact_enable()
2221 ret = isst_clos_associate(&id, clos); in set_fact_enable()
2225 set_isst_id(&id, -1); in set_fact_enable()
2226 isst_display_result(&id, outf, "turbo-freq --auto", "enable", 0); in set_fact_enable()
2234 isst_display_result(&id, outf, "turbo-freq --auto", "enable", ret); in set_fact_enable()
2239 static void enable_clos_qos_config(struct isst_id *id, void *arg1, void *arg2, void *arg3, in enable_clos_qos_config() argument
2248 ret = isst_pm_qos_config(id, status, clos_priority_type); in enable_clos_qos_config()
2253 isst_display_result(id, outf, "core-power", "enable", in enable_clos_qos_config()
2256 isst_display_result(id, outf, "core-power", "disable", in enable_clos_qos_config()
2295 static void dump_clos_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, in dump_clos_config_for_cpu() argument
2301 ret = isst_pm_get_clos(id, current_clos, &clos_config); in dump_clos_config_for_cpu()
2305 isst_clos_display_information(id, outf, current_clos, in dump_clos_config_for_cpu()
2334 static void get_clos_info_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in get_clos_info_for_cpu() argument
2339 ret = isst_clos_get_clos_information(id, &enable, &prio_type); in get_clos_info_for_cpu()
2345 isst_read_pm_config(id, &cp_state, &cp_cap); in get_clos_info_for_cpu()
2346 isst_clos_display_clos_information(id, outf, enable, prio_type, in get_clos_info_for_cpu()
2371 static void set_clos_config_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in set_clos_config_for_cpu() argument
2377 if (id->cpu < 0) in set_clos_config_for_cpu()
2385 ret = isst_set_clos(id, current_clos, &clos_config); in set_clos_config_for_cpu()
2389 isst_display_result(id, outf, "core-power", "config", ret); in set_clos_config_for_cpu()
2445 static void set_clos_assoc_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in set_clos_assoc_for_cpu() argument
2450 ret = isst_clos_associate(id, current_clos); in set_clos_assoc_for_cpu()
2454 isst_display_result(id, outf, "core-power", "assoc", ret); in set_clos_assoc_for_cpu()
2486 static void get_clos_assoc_for_cpu(struct isst_id *id, void *arg1, void *arg2, void *arg3, in get_clos_assoc_for_cpu() argument
2491 ret = isst_clos_get_assoc_status(id, &clos); in get_clos_assoc_for_cpu()
2495 isst_clos_display_assoc_information(id, outf, clos); in get_clos_assoc_for_cpu()
2517 static void set_turbo_mode_for_cpu(struct isst_id *id, int status) in set_turbo_mode_for_cpu() argument
2522 base_freq = get_cpufreq_base_freq(id->cpu); in set_turbo_mode_for_cpu()
2523 set_cpufreq_scaling_min_max(id->cpu, 1, base_freq); in set_turbo_mode_for_cpu()
2525 set_scaling_max_to_cpuinfo_max(id); in set_turbo_mode_for_cpu()
2529 isst_display_result(id, outf, "turbo-mode", "enable", 0); in set_turbo_mode_for_cpu()
2531 isst_display_result(id, outf, "turbo-mode", "disable", 0); in set_turbo_mode_for_cpu()
2538 struct isst_id id; in set_turbo_mode() local
2561 set_isst_id(&id, i); in set_turbo_mode()
2562 set_turbo_mode_for_cpu(&id, enable); in set_turbo_mode()
2569 static void get_set_trl(struct isst_id *id, void *arg1, void *arg2, void *arg3, in get_set_trl() argument
2582 ret = isst_set_trl(id, fact_trl); in get_set_trl()
2583 isst_display_result(id, outf, "turbo-mode", "set-trl", ret); in get_set_trl()
2587 ret = isst_get_trl(id, &trl); in get_set_trl()
2589 isst_display_result(id, outf, "turbo-mode", "get-trl", ret); in get_set_trl()
2591 isst_trl_display_information(id, outf, trl); in get_set_trl()