Lines Matching refs:id

9 int isst_write_pm_config(struct isst_id *id, int cp_state)  in isst_write_pm_config()  argument
19 ret = isst_send_mbox_command(id->cpu, WRITE_PM_CONFIG, PM_FEATURE, 0, req, in isst_write_pm_config()
24 debug_printf("cpu:%d WRITE_PM_CONFIG resp:%x\n", id->cpu, resp); in isst_write_pm_config()
29 int isst_read_pm_config(struct isst_id *id, int *cp_state, int *cp_cap) in isst_read_pm_config() argument
34 ret = isst_send_mbox_command(id->cpu, READ_PM_CONFIG, PM_FEATURE, 0, 0, in isst_read_pm_config()
39 debug_printf("cpu:%d READ_PM_CONFIG resp:%x\n", id->cpu, resp); in isst_read_pm_config()
47 int isst_get_ctdp_levels(struct isst_id *id, struct isst_pkg_ctdp *pkg_dev) in isst_get_ctdp_levels() argument
52 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_ctdp_levels()
63 debug_printf("cpu:%d CONFIG_TDP_GET_LEVELS_INFO resp:%x\n", id->cpu, resp); in isst_get_ctdp_levels()
74 int isst_get_ctdp_control(struct isst_id *id, int config_index, in isst_get_ctdp_control() argument
81 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_ctdp_control()
92 ret = isst_read_pm_config(id, &cp_state, &cp_cap); in isst_get_ctdp_control()
94 debug_printf("cpu:%d pm_config is not supported\n", id->cpu); in isst_get_ctdp_control()
96 debug_printf("cpu:%d pm_config SST-CP state:%d cap:%d\n", id->cpu, cp_state, cp_cap); in isst_get_ctdp_control()
103 id->cpu, resp, ctdp_level->fact_support, ctdp_level->pbf_support, in isst_get_ctdp_control()
109 int isst_get_tdp_info(struct isst_id *id, int config_index, in isst_get_tdp_info() argument
115 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_TDP_INFO, in isst_get_tdp_info()
127 id->cpu, config_index, resp, ctdp_level->tdp_ratio, in isst_get_tdp_info()
132 int isst_get_pwr_info(struct isst_id *id, int config_index, in isst_get_pwr_info() argument
138 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_PWR_INFO, in isst_get_pwr_info()
148 id->cpu, config_index, resp, ctdp_level->pkg_max_power, in isst_get_pwr_info()
154 void isst_get_uncore_p0_p1_info(struct isst_id *id, int config_index, in isst_get_uncore_p0_p1_info() argument
159 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_uncore_p0_p1_info()
172 id->cpu, config_index, resp, ctdp_level->uncore_p0, in isst_get_uncore_p0_p1_info()
176 void isst_get_p1_info(struct isst_id *id, int config_index, in isst_get_p1_info() argument
181 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_P1_INFO, 0, in isst_get_p1_info()
195 id->cpu, config_index, resp, ctdp_level->sse_p1, in isst_get_p1_info()
199 void isst_get_uncore_mem_freq(struct isst_id *id, int config_index, in isst_get_uncore_mem_freq() argument
205 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_MEM_FREQ, in isst_get_uncore_mem_freq()
229 id->cpu, config_index, resp, ctdp_level->mem_freq); in isst_get_uncore_mem_freq()
232 int isst_get_tjmax_info(struct isst_id *id, int config_index, in isst_get_tjmax_info() argument
238 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_TJMAX_INFO, in isst_get_tjmax_info()
247 id->cpu, config_index, resp, ctdp_level->t_proc_hot); in isst_get_tjmax_info()
252 int isst_get_coremask_info(struct isst_id *id, int config_index, in isst_get_coremask_info() argument
263 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_coremask_info()
271 id->cpu, config_index, i, resp); in isst_get_coremask_info()
274 set_cpu_mask_from_punit_coremask(id, mask, in isst_get_coremask_info()
279 debug_printf("cpu:%d ctdp:%d mask:%d cpu count:%d\n", id->cpu, in isst_get_coremask_info()
286 int isst_get_get_trl_from_msr(struct isst_id *id, int *trl) in isst_get_get_trl_from_msr() argument
291 ret = isst_send_msr_command(id->cpu, 0x1AD, 0, &msr_trl); in isst_get_get_trl_from_msr()
307 int isst_get_get_trl(struct isst_id *id, int level, int avx_level, int *trl) in isst_get_get_trl() argument
313 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_get_trl()
321 id->cpu, req, resp); in isst_get_get_trl()
329 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_get_trl()
335 debug_printf("cpu:%d CONFIG_TDP_GET_TURBO_LIMIT req:%x resp:%x\n", id->cpu, in isst_get_get_trl()
346 int isst_get_trl_bucket_info(struct isst_id *id, unsigned long long *buckets_info) in isst_get_trl_bucket_info() argument
350 debug_printf("cpu:%d bucket info via MSR\n", id->cpu); in isst_get_trl_bucket_info()
354 ret = isst_send_msr_command(id->cpu, 0x1ae, 0, buckets_info); in isst_get_trl_bucket_info()
358 debug_printf("cpu:%d bucket info via MSR successful 0x%llx\n", id->cpu, in isst_get_trl_bucket_info()
364 int isst_set_tdp_level(struct isst_id *id, int tdp_level) in isst_set_tdp_level() argument
370 if (isst_get_config_tdp_lock_status(id)) { in isst_set_tdp_level()
376 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_SET_LEVEL, 0, in isst_set_tdp_level()
386 int isst_get_pbf_info(struct isst_id *id, int level, struct isst_pbf_info *pbf_info) in isst_get_pbf_info() argument
393 ret = isst_get_ctdp_levels(id, &pkg_dev); in isst_get_pbf_info()
404 ret = isst_get_ctdp_control(id, level, &ctdp_level); in isst_get_pbf_info()
415 max_punit_core = get_max_punit_core_id(id); in isst_get_pbf_info()
422 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_pbf_info()
430 id->cpu, resp); in isst_get_pbf_info()
433 set_cpu_mask_from_punit_coremask(id, mask, in isst_get_pbf_info()
440 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_pbf_info()
446 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_P1HI_P1LO_INFO resp:%x\n", id->cpu, in isst_get_pbf_info()
454 id->cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TDP_INFO, 0, req, &resp); in isst_get_pbf_info()
458 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TDP_INFO resp:%x\n", id->cpu, resp); in isst_get_pbf_info()
464 id->cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TJ_MAX_INFO, 0, req, &resp); in isst_get_pbf_info()
468 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TJ_MAX_INFO resp:%x\n", id->cpu, in isst_get_pbf_info()
481 int isst_set_pbf_fact_status(struct isst_id *id, int pbf, int enable) in isst_set_pbf_fact_status() argument
489 ret = isst_get_ctdp_levels(id, &pkg_dev); in isst_set_pbf_fact_status()
491 debug_printf("cpu:%d No support for dynamic ISST\n", id->cpu); in isst_set_pbf_fact_status()
495 ret = isst_get_ctdp_control(id, current_level, &ctdp_level); in isst_set_pbf_fact_status()
521 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_set_pbf_fact_status()
527 id->cpu, pbf, req); in isst_set_pbf_fact_status()
532 int isst_get_fact_bucket_info(struct isst_id *id, int level, in isst_get_fact_bucket_info() argument
542 id->cpu, CONFIG_TDP, in isst_get_fact_bucket_info()
550 id->cpu, i, level, resp); in isst_get_fact_bucket_info()
563 id->cpu, CONFIG_TDP, in isst_get_fact_bucket_info()
571 id->cpu, i, level, k, resp); in isst_get_fact_bucket_info()
597 int isst_get_fact_info(struct isst_id *id, int level, int fact_bucket, struct isst_fact_info *fact_… in isst_get_fact_info() argument
604 ret = isst_get_ctdp_levels(id, &pkg_dev); in isst_get_fact_info()
615 ret = isst_get_ctdp_control(id, level, &ctdp_level); in isst_get_fact_info()
624 ret = isst_send_mbox_command(id->cpu, CONFIG_TDP, in isst_get_fact_info()
631 id->cpu, resp); in isst_get_fact_info()
637 ret = isst_get_fact_bucket_info(id, level, fact_info->bucket_info); in isst_get_fact_info()
659 int isst_get_trl(struct isst_id *id, unsigned long long *trl) in isst_get_trl() argument
663 ret = isst_send_msr_command(id->cpu, 0x1AD, 0, trl); in isst_get_trl()
670 int isst_set_trl(struct isst_id *id, unsigned long long trl) in isst_set_trl() argument
677 ret = isst_send_msr_command(id->cpu, 0x1AD, 1, &trl); in isst_set_trl()
684 int isst_set_trl_from_current_tdp(struct isst_id *id, unsigned long long trl) in isst_set_trl_from_current_tdp() argument
696 ret = isst_get_ctdp_levels(id, &pkg_dev); in isst_set_trl_from_current_tdp()
700 ret = isst_get_get_trl(id, pkg_dev.current_level, 0, trl); in isst_set_trl_from_current_tdp()
711 ret = isst_send_msr_command(id->cpu, 0x1AD, 1, &msr_trl); in isst_set_trl_from_current_tdp()
719 int isst_get_config_tdp_lock_status(struct isst_id *id) in isst_get_config_tdp_lock_status() argument
724 ret = isst_send_msr_command(id->cpu, 0x64b, 0, &tdp_control); in isst_get_config_tdp_lock_status()
733 void isst_get_process_ctdp_complete(struct isst_id *id, struct isst_pkg_ctdp *pkg_dev) in isst_get_process_ctdp_complete() argument
750 int isst_get_process_ctdp(struct isst_id *id, int tdp_level, struct isst_pkg_ctdp *pkg_dev) in isst_get_process_ctdp() argument
757 ret = isst_get_ctdp_levels(id, pkg_dev); in isst_get_process_ctdp()
762 id->cpu, pkg_dev->enabled, pkg_dev->current_level, in isst_get_process_ctdp()
779 debug_printf("cpu:%d Get Information for TDP level:%d\n", id->cpu, in isst_get_process_ctdp()
784 ctdp_level->control_cpu = id->cpu; in isst_get_process_ctdp()
785 ctdp_level->pkg_id = id->pkg; in isst_get_process_ctdp()
786 ctdp_level->die_id = id->die; in isst_get_process_ctdp()
788 ret = isst_get_ctdp_control(id, i, ctdp_level); in isst_get_process_ctdp()
797 ret = isst_get_pbf_info(id, i, &ctdp_level->pbf_info); in isst_get_process_ctdp()
803 ret = isst_get_fact_info(id, i, 0xff, in isst_get_process_ctdp()
812 freq = get_cpufreq_base_freq(id->cpu); in isst_get_process_ctdp()
818 isst_get_get_trl_from_msr(id, ctdp_level->trl_sse_active_cores); in isst_get_process_ctdp()
819 isst_get_trl_bucket_info(id, &ctdp_level->buckets_info); in isst_get_process_ctdp()
823 ret = isst_get_tdp_info(id, i, ctdp_level); in isst_get_process_ctdp()
827 ret = isst_get_pwr_info(id, i, ctdp_level); in isst_get_process_ctdp()
831 ret = isst_get_tjmax_info(id, i, ctdp_level); in isst_get_process_ctdp()
837 ret = isst_get_coremask_info(id, i, ctdp_level); in isst_get_process_ctdp()
841 ret = isst_get_trl_bucket_info(id, &ctdp_level->buckets_info); in isst_get_process_ctdp()
845 ret = isst_get_get_trl(id, i, 0, in isst_get_process_ctdp()
850 ret = isst_get_get_trl(id, i, 1, in isst_get_process_ctdp()
855 ret = isst_get_get_trl(id, i, 2, in isst_get_process_ctdp()
860 isst_get_uncore_p0_p1_info(id, i, ctdp_level); in isst_get_process_ctdp()
861 isst_get_p1_info(id, i, ctdp_level); in isst_get_process_ctdp()
862 isst_get_uncore_mem_freq(id, i, ctdp_level); in isst_get_process_ctdp()
866 …sage(0, "Invalid level, Can't get TDP control information at specified levels on cpu", 1, id->cpu); in isst_get_process_ctdp()
871 int isst_clos_get_clos_information(struct isst_id *id, int *enable, int *type) in isst_clos_get_clos_information() argument
876 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0, in isst_clos_get_clos_information()
881 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", id->cpu, resp); in isst_clos_get_clos_information()
896 int isst_pm_qos_config(struct isst_id *id, int enable_clos, int priority_type) in isst_pm_qos_config() argument
905 ret = isst_get_ctdp_levels(id, &pkg_dev); in isst_pm_qos_config()
911 ret = isst_get_ctdp_control(id, pkg_dev.current_level, in isst_pm_qos_config()
920 ret = isst_write_pm_config(id, 0); in isst_pm_qos_config()
924 ret = isst_write_pm_config(id, 1); in isst_pm_qos_config()
929 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0, in isst_pm_qos_config()
936 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", id->cpu, resp); in isst_pm_qos_config()
953 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, in isst_pm_qos_config()
958 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG priority type:%d req:%x\n", id->cpu, in isst_pm_qos_config()
964 int isst_pm_get_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config) in isst_pm_get_clos() argument
969 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_CLOS, clos, 0, in isst_pm_get_clos()
983 int isst_set_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config) in isst_set_clos() argument
997 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_CLOS, param, req, in isst_set_clos()
1002 debug_printf("cpu:%d CLOS_PM_CLOS param:%x req:%x\n", id->cpu, param, req); in isst_set_clos()
1007 int isst_clos_get_assoc_status(struct isst_id *id, int *clos_id) in isst_clos_get_assoc_status() argument
1013 core_id = find_phy_core_num(id->cpu); in isst_clos_get_assoc_status()
1016 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param, 0, in isst_clos_get_assoc_status()
1021 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x resp:%x\n", id->cpu, param, in isst_clos_get_assoc_status()
1028 int isst_clos_associate(struct isst_id *id, int clos_id) in isst_clos_associate() argument
1035 core_id = find_phy_core_num(id->cpu); in isst_clos_associate()
1038 ret = isst_send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param, in isst_clos_associate()
1043 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x req:%x\n", id->cpu, param, in isst_clos_associate()