Lines Matching refs:cpu

9 int isst_write_pm_config(int cpu, int cp_state)  in isst_write_pm_config()  argument
19 ret = isst_send_mbox_command(cpu, WRITE_PM_CONFIG, PM_FEATURE, 0, req, in isst_write_pm_config()
24 debug_printf("cpu:%d WRITE_PM_CONFIG resp:%x\n", cpu, resp); in isst_write_pm_config()
29 int isst_read_pm_config(int cpu, int *cp_state, int *cp_cap) in isst_read_pm_config() argument
34 ret = isst_send_mbox_command(cpu, READ_PM_CONFIG, PM_FEATURE, 0, 0, in isst_read_pm_config()
39 debug_printf("cpu:%d READ_PM_CONFIG resp:%x\n", cpu, resp); in isst_read_pm_config()
47 int isst_get_ctdp_levels(int cpu, struct isst_pkg_ctdp *pkg_dev) in isst_get_ctdp_levels() argument
52 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_ctdp_levels()
63 debug_printf("cpu:%d CONFIG_TDP_GET_LEVELS_INFO resp:%x\n", cpu, resp); in isst_get_ctdp_levels()
74 int isst_get_ctdp_control(int cpu, int config_index, in isst_get_ctdp_control() argument
81 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_ctdp_control()
92 ret = isst_read_pm_config(cpu, &cp_state, &cp_cap); in isst_get_ctdp_control()
94 debug_printf("cpu:%d pm_config is not supported \n", cpu); in isst_get_ctdp_control()
96 debug_printf("cpu:%d pm_config SST-CP state:%d cap:%d \n", cpu, cp_state, cp_cap); in isst_get_ctdp_control()
103 cpu, resp, ctdp_level->fact_support, ctdp_level->pbf_support, in isst_get_ctdp_control()
109 int isst_get_tdp_info(int cpu, int config_index, in isst_get_tdp_info() argument
115 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_GET_TDP_INFO, in isst_get_tdp_info()
127 cpu, config_index, resp, ctdp_level->tdp_ratio, in isst_get_tdp_info()
132 int isst_get_pwr_info(int cpu, int config_index, in isst_get_pwr_info() argument
138 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_GET_PWR_INFO, in isst_get_pwr_info()
148 cpu, config_index, resp, ctdp_level->pkg_max_power, in isst_get_pwr_info()
154 void isst_get_uncore_p0_p1_info(int cpu, int config_index, in isst_get_uncore_p0_p1_info() argument
159 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_uncore_p0_p1_info()
172 cpu, config_index, resp, ctdp_level->uncore_p0, in isst_get_uncore_p0_p1_info()
176 void isst_get_p1_info(int cpu, int config_index, in isst_get_p1_info() argument
181 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_GET_P1_INFO, 0, in isst_get_p1_info()
195 cpu, config_index, resp, ctdp_level->sse_p1, in isst_get_p1_info()
199 void isst_get_uncore_mem_freq(int cpu, int config_index, in isst_get_uncore_mem_freq() argument
204 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_GET_MEM_FREQ, in isst_get_uncore_mem_freq()
214 cpu, config_index, resp, ctdp_level->mem_freq); in isst_get_uncore_mem_freq()
217 int isst_get_tjmax_info(int cpu, int config_index, in isst_get_tjmax_info() argument
223 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_GET_TJMAX_INFO, in isst_get_tjmax_info()
232 cpu, config_index, resp, ctdp_level->t_proc_hot); in isst_get_tjmax_info()
237 int isst_get_coremask_info(int cpu, int config_index, in isst_get_coremask_info() argument
248 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_coremask_info()
256 cpu, config_index, i, resp); in isst_get_coremask_info()
259 set_cpu_mask_from_punit_coremask(cpu, mask, in isst_get_coremask_info()
264 debug_printf("cpu:%d ctdp:%d mask:%d cpu count:%d\n", cpu, in isst_get_coremask_info()
271 int isst_get_get_trl_from_msr(int cpu, int *trl) in isst_get_get_trl_from_msr() argument
276 ret = isst_send_msr_command(cpu, 0x1AD, 0, &msr_trl); in isst_get_get_trl_from_msr()
292 int isst_get_get_trl(int cpu, int level, int avx_level, int *trl) in isst_get_get_trl() argument
298 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_get_trl()
306 cpu, req, resp); in isst_get_get_trl()
314 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_get_trl()
320 debug_printf("cpu:%d CONFIG_TDP_GET_TURBO_LIMIT req:%x resp:%x\n", cpu, in isst_get_get_trl()
331 int isst_get_trl_bucket_info(int cpu, unsigned long long *buckets_info) in isst_get_trl_bucket_info() argument
335 debug_printf("cpu:%d bucket info via MSR\n", cpu); in isst_get_trl_bucket_info()
339 ret = isst_send_msr_command(cpu, 0x1ae, 0, buckets_info); in isst_get_trl_bucket_info()
343 debug_printf("cpu:%d bucket info via MSR successful 0x%llx\n", cpu, in isst_get_trl_bucket_info()
349 int isst_set_tdp_level_msr(int cpu, int tdp_level) in isst_set_tdp_level_msr() argument
354 debug_printf("cpu: tdp_level via MSR %d\n", cpu, tdp_level); in isst_set_tdp_level_msr()
356 if (isst_get_config_tdp_lock_status(cpu)) { in isst_set_tdp_level_msr()
364 ret = isst_send_msr_command(cpu, 0x64b, 1, &level); in isst_set_tdp_level_msr()
368 debug_printf("cpu: tdp_level via MSR successful %d\n", cpu, tdp_level); in isst_set_tdp_level_msr()
373 int isst_set_tdp_level(int cpu, int tdp_level) in isst_set_tdp_level() argument
379 if (isst_get_config_tdp_lock_status(cpu)) { in isst_set_tdp_level()
385 ret = isst_send_mbox_command(cpu, CONFIG_TDP, CONFIG_TDP_SET_LEVEL, 0, in isst_set_tdp_level()
395 int isst_get_pbf_info(int cpu, int level, struct isst_pbf_info *pbf_info) in isst_get_pbf_info() argument
402 ret = isst_get_ctdp_levels(cpu, &pkg_dev); in isst_get_pbf_info()
413 ret = isst_get_ctdp_control(cpu, level, &ctdp_level); in isst_get_pbf_info()
424 max_punit_core = get_max_punit_core_id(get_physical_package_id(cpu), get_physical_die_id(cpu)); in isst_get_pbf_info()
431 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_pbf_info()
439 cpu, resp); in isst_get_pbf_info()
442 set_cpu_mask_from_punit_coremask(cpu, mask, in isst_get_pbf_info()
449 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_pbf_info()
455 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_P1HI_P1LO_INFO resp:%x\n", cpu, in isst_get_pbf_info()
463 cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TDP_INFO, 0, req, &resp); in isst_get_pbf_info()
467 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TDP_INFO resp:%x\n", cpu, resp); in isst_get_pbf_info()
473 cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TJ_MAX_INFO, 0, req, &resp); in isst_get_pbf_info()
477 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TJ_MAX_INFO resp:%x\n", cpu, in isst_get_pbf_info()
490 int isst_set_pbf_fact_status(int cpu, int pbf, int enable) in isst_set_pbf_fact_status() argument
498 ret = isst_get_ctdp_levels(cpu, &pkg_dev); in isst_set_pbf_fact_status()
500 debug_printf("cpu:%d No support for dynamic ISST\n", cpu); in isst_set_pbf_fact_status()
504 ret = isst_get_ctdp_control(cpu, current_level, &ctdp_level); in isst_set_pbf_fact_status()
530 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_set_pbf_fact_status()
536 cpu, pbf, req); in isst_set_pbf_fact_status()
541 int isst_get_fact_bucket_info(int cpu, int level, in isst_get_fact_bucket_info() argument
551 cpu, CONFIG_TDP, in isst_get_fact_bucket_info()
559 cpu, i, level, resp); in isst_get_fact_bucket_info()
572 cpu, CONFIG_TDP, in isst_get_fact_bucket_info()
580 cpu, i, level, k, resp); in isst_get_fact_bucket_info()
606 int isst_get_fact_info(int cpu, int level, int fact_bucket, struct isst_fact_info *fact_info) in isst_get_fact_info() argument
613 ret = isst_get_ctdp_levels(cpu, &pkg_dev); in isst_get_fact_info()
624 ret = isst_get_ctdp_control(cpu, level, &ctdp_level); in isst_get_fact_info()
633 ret = isst_send_mbox_command(cpu, CONFIG_TDP, in isst_get_fact_info()
640 cpu, resp); in isst_get_fact_info()
646 ret = isst_get_fact_bucket_info(cpu, level, fact_info->bucket_info); in isst_get_fact_info()
668 int isst_set_trl(int cpu, unsigned long long trl) in isst_set_trl() argument
675 ret = isst_send_msr_command(cpu, 0x1AD, 1, &trl); in isst_set_trl()
682 int isst_set_trl_from_current_tdp(int cpu, unsigned long long trl) in isst_set_trl_from_current_tdp() argument
694 ret = isst_get_ctdp_levels(cpu, &pkg_dev); in isst_set_trl_from_current_tdp()
698 ret = isst_get_get_trl(cpu, pkg_dev.current_level, 0, trl); in isst_set_trl_from_current_tdp()
709 ret = isst_send_msr_command(cpu, 0x1AD, 1, &msr_trl); in isst_set_trl_from_current_tdp()
717 int isst_get_config_tdp_lock_status(int cpu) in isst_get_config_tdp_lock_status() argument
722 ret = isst_send_msr_command(cpu, 0x64b, 0, &tdp_control); in isst_get_config_tdp_lock_status()
731 void isst_get_process_ctdp_complete(int cpu, struct isst_pkg_ctdp *pkg_dev) in isst_get_process_ctdp_complete() argument
748 int isst_get_process_ctdp(int cpu, int tdp_level, struct isst_pkg_ctdp *pkg_dev) in isst_get_process_ctdp() argument
755 ret = isst_get_ctdp_levels(cpu, pkg_dev); in isst_get_process_ctdp()
760 cpu, pkg_dev->enabled, pkg_dev->current_level, in isst_get_process_ctdp()
777 debug_printf("cpu:%d Get Information for TDP level:%d\n", cpu, in isst_get_process_ctdp()
782 ctdp_level->control_cpu = cpu; in isst_get_process_ctdp()
783 ctdp_level->pkg_id = get_physical_package_id(cpu); in isst_get_process_ctdp()
784 ctdp_level->die_id = get_physical_die_id(cpu); in isst_get_process_ctdp()
786 ret = isst_get_ctdp_control(cpu, i, ctdp_level); in isst_get_process_ctdp()
795 ret = isst_get_pbf_info(cpu, i, &ctdp_level->pbf_info); in isst_get_process_ctdp()
801 ret = isst_get_fact_info(cpu, i, 0xff, in isst_get_process_ctdp()
810 freq = get_cpufreq_base_freq(cpu); in isst_get_process_ctdp()
816 isst_get_get_trl_from_msr(cpu, ctdp_level->trl_sse_active_cores); in isst_get_process_ctdp()
817 isst_get_trl_bucket_info(cpu, &ctdp_level->buckets_info); in isst_get_process_ctdp()
821 ret = isst_get_tdp_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
825 ret = isst_get_pwr_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
829 ret = isst_get_tjmax_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
835 ret = isst_get_coremask_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
839 ret = isst_get_trl_bucket_info(cpu, &ctdp_level->buckets_info); in isst_get_process_ctdp()
843 ret = isst_get_get_trl(cpu, i, 0, in isst_get_process_ctdp()
848 ret = isst_get_get_trl(cpu, i, 1, in isst_get_process_ctdp()
853 ret = isst_get_get_trl(cpu, i, 2, in isst_get_process_ctdp()
858 isst_get_uncore_p0_p1_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
859 isst_get_p1_info(cpu, i, ctdp_level); in isst_get_process_ctdp()
860 isst_get_uncore_mem_freq(cpu, i, ctdp_level); in isst_get_process_ctdp()
864 …_message(0, "Invalid level, Can't get TDP control information at specified levels on cpu", 1, cpu); in isst_get_process_ctdp()
869 int isst_clos_get_clos_information(int cpu, int *enable, int *type) in isst_clos_get_clos_information() argument
874 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0, in isst_clos_get_clos_information()
879 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", cpu, resp); in isst_clos_get_clos_information()
894 int isst_pm_qos_config(int cpu, int enable_clos, int priority_type) in isst_pm_qos_config() argument
903 ret = isst_get_ctdp_levels(cpu, &pkg_dev); in isst_pm_qos_config()
909 ret = isst_get_ctdp_control(cpu, pkg_dev.current_level, in isst_pm_qos_config()
918 ret = isst_write_pm_config(cpu, 0); in isst_pm_qos_config()
922 ret = isst_write_pm_config(cpu, 1); in isst_pm_qos_config()
927 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0, in isst_pm_qos_config()
934 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", cpu, resp); in isst_pm_qos_config()
951 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, in isst_pm_qos_config()
956 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG priority type:%d req:%x\n", cpu, in isst_pm_qos_config()
962 int isst_pm_get_clos(int cpu, int clos, struct isst_clos_config *clos_config) in isst_pm_get_clos() argument
967 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_CLOS, clos, 0, in isst_pm_get_clos()
972 clos_config->pkg_id = get_physical_package_id(cpu); in isst_pm_get_clos()
973 clos_config->die_id = get_physical_die_id(cpu); in isst_pm_get_clos()
984 int isst_set_clos(int cpu, int clos, struct isst_clos_config *clos_config) in isst_set_clos() argument
998 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PM_CLOS, param, req, in isst_set_clos()
1003 debug_printf("cpu:%d CLOS_PM_CLOS param:%x req:%x\n", cpu, param, req); in isst_set_clos()
1008 int isst_clos_get_assoc_status(int cpu, int *clos_id) in isst_clos_get_assoc_status() argument
1014 core_id = find_phy_core_num(cpu); in isst_clos_get_assoc_status()
1017 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param, 0, in isst_clos_get_assoc_status()
1022 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x resp:%x\n", cpu, param, in isst_clos_get_assoc_status()
1029 int isst_clos_associate(int cpu, int clos_id) in isst_clos_associate() argument
1036 core_id = find_phy_core_num(cpu); in isst_clos_associate()
1039 ret = isst_send_mbox_command(cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param, in isst_clos_associate()
1044 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x req:%x\n", cpu, param, in isst_clos_associate()