Lines Matching full:info

10 int tpmi_process_ioctl(int ioctl_no, void *info)  in tpmi_process_ioctl()  argument
64 if (ioctl(fd, ioctl_no, info) == -1) { in tpmi_process_ioctl()
117 struct isst_tpmi_instance_count info; in tpmi_is_punit_valid() local
123 info.socket_id = id->pkg; in tpmi_is_punit_valid()
124 ret = tpmi_process_ioctl(ISST_IF_COUNT_TPMI_INSTANCES, &info); in tpmi_is_punit_valid()
128 if (info.valid_mask & BIT(id->punit)) in tpmi_is_punit_valid()
136 struct isst_core_power info; in tpmi_read_pm_config() local
139 info.get_set = 0; in tpmi_read_pm_config()
140 info.socket_id = id->pkg; in tpmi_read_pm_config()
141 info.power_domain_id = id->punit; in tpmi_read_pm_config()
142 ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info); in tpmi_read_pm_config()
146 *cp_state = info.enable; in tpmi_read_pm_config()
147 *cp_cap = info.supported; in tpmi_read_pm_config()
154 struct isst_perf_level_info info; in tpmi_get_config_levels() local
157 info.socket_id = id->pkg; in tpmi_get_config_levels()
158 info.power_domain_id = id->punit; in tpmi_get_config_levels()
160 ret = tpmi_process_ioctl(ISST_IF_PERF_LEVELS, &info); in tpmi_get_config_levels()
164 pkg_dev->version = info.feature_rev; in tpmi_get_config_levels()
165 pkg_dev->levels = info.max_level; in tpmi_get_config_levels()
166 pkg_dev->locked = info.locked; in tpmi_get_config_levels()
167 pkg_dev->current_level = info.current_level; in tpmi_get_config_levels()
168 pkg_dev->locked = info.locked; in tpmi_get_config_levels()
169 pkg_dev->enabled = info.enabled; in tpmi_get_config_levels()
178 struct isst_perf_level_info info; in tpmi_get_ctdp_control() local
182 info.socket_id = id->pkg; in tpmi_get_ctdp_control()
183 info.power_domain_id = id->punit; in tpmi_get_ctdp_control()
185 ret = tpmi_process_ioctl(ISST_IF_PERF_LEVELS, &info); in tpmi_get_ctdp_control()
194 if (!(info.level_mask & level_mask)) in tpmi_get_ctdp_control()
198 ctdp_level->fact_support = info.sst_tf_support & BIT(config_index); in tpmi_get_ctdp_control()
199 ctdp_level->pbf_support = info.sst_bf_support & BIT(config_index); in tpmi_get_ctdp_control()
201 ctdp_level->fact_support = info.sst_tf_support; in tpmi_get_ctdp_control()
202 ctdp_level->pbf_support = info.sst_bf_support; in tpmi_get_ctdp_control()
205 ctdp_level->fact_enabled = !!(info.feature_state & BIT(1)); in tpmi_get_ctdp_control()
206 ctdp_level->pbf_enabled = !!(info.feature_state & BIT(0)); in tpmi_get_ctdp_control()
231 struct isst_perf_level_data_info info; in tpmi_get_tdp_info() local
234 info.socket_id = id->pkg; in tpmi_get_tdp_info()
235 info.power_domain_id = id->punit; in tpmi_get_tdp_info()
236 info.level = config_index; in tpmi_get_tdp_info()
238 ret = tpmi_process_ioctl(ISST_IF_GET_PERF_LEVEL_INFO, &info); in tpmi_get_tdp_info()
242 ctdp_level->pkg_tdp = info.thermal_design_power_w; in tpmi_get_tdp_info()
243 ctdp_level->tdp_ratio = info.tdp_ratio; in tpmi_get_tdp_info()
244 ctdp_level->sse_p1 = info.base_freq_mhz; in tpmi_get_tdp_info()
245 ctdp_level->avx2_p1 = info.base_freq_avx2_mhz; in tpmi_get_tdp_info()
246 ctdp_level->avx512_p1 = info.base_freq_avx512_mhz; in tpmi_get_tdp_info()
247 ctdp_level->amx_p1 = info.base_freq_amx_mhz; in tpmi_get_tdp_info()
249 ctdp_level->t_proc_hot = info.tjunction_max_c; in tpmi_get_tdp_info()
250 ctdp_level->mem_freq = info.max_memory_freq_mhz; in tpmi_get_tdp_info()
251 ctdp_level->cooling_type = info.cooling_type; in tpmi_get_tdp_info()
253 ctdp_level->uncore_p0 = info.p0_fabric_freq_mhz; in tpmi_get_tdp_info()
254 ctdp_level->uncore_p1 = info.p1_fabric_freq_mhz; in tpmi_get_tdp_info()
255 ctdp_level->uncore_pm = info.pm_fabric_freq_mhz; in tpmi_get_tdp_info()
294 struct isst_perf_level_cpu_mask info; in tpmi_get_coremask_info() local
297 info.socket_id = id->pkg; in tpmi_get_coremask_info()
298 info.power_domain_id = id->punit; in tpmi_get_coremask_info()
299 info.level = config_index; in tpmi_get_coremask_info()
300 info.punit_cpu_map = 1; in tpmi_get_coremask_info()
302 ret = tpmi_process_ioctl(ISST_IF_GET_PERF_LEVEL_CPU_MASK, &info); in tpmi_get_coremask_info()
306 set_cpu_mask_from_punit_coremask(id, info.mask, in tpmi_get_coremask_info()
320 struct isst_perf_level_data_info info; in tpmi_get_get_trls() local
323 info.socket_id = id->pkg; in tpmi_get_get_trls()
324 info.power_domain_id = id->punit; in tpmi_get_get_trls()
325 info.level = config_index; in tpmi_get_get_trls()
327 ret = tpmi_process_ioctl(ISST_IF_GET_PERF_LEVEL_INFO, &info); in tpmi_get_get_trls()
331 if (info.max_buckets > TRL_MAX_BUCKETS) in tpmi_get_get_trls()
332 info.max_buckets = TRL_MAX_BUCKETS; in tpmi_get_get_trls()
334 if (info.max_trl_levels > TRL_MAX_LEVELS) in tpmi_get_get_trls()
335 info.max_trl_levels = TRL_MAX_LEVELS; in tpmi_get_get_trls()
337 for (i = 0; i < info.max_trl_levels; ++i) in tpmi_get_get_trls()
338 for (j = 0; j < info.max_buckets; ++j) in tpmi_get_get_trls()
339 ctdp_level->trl_ratios[i][j] = info.trl_freq_mhz[i][j]; in tpmi_get_get_trls()
364 struct isst_perf_level_data_info info; in tpmi_get_trl_bucket_info() local
368 info.socket_id = id->pkg; in tpmi_get_trl_bucket_info()
369 info.power_domain_id = id->punit; in tpmi_get_trl_bucket_info()
370 info.level = config_index; in tpmi_get_trl_bucket_info()
372 ret = tpmi_process_ioctl(ISST_IF_GET_PERF_LEVEL_INFO, &info); in tpmi_get_trl_bucket_info()
376 if (info.max_buckets > TRL_MAX_BUCKETS) in tpmi_get_trl_bucket_info()
377 info.max_buckets = TRL_MAX_BUCKETS; in tpmi_get_trl_bucket_info()
379 for (i = 0; i < info.max_buckets; ++i) in tpmi_get_trl_bucket_info()
380 mask[i] = info.bucket_core_counts[i]; in tpmi_get_trl_bucket_info()
382 debug_printf("cpu:%d TRL bucket info: 0x%llx\n", id->cpu, in tpmi_get_trl_bucket_info()
390 struct isst_perf_level_control info; in tpmi_set_tdp_level() local
393 info.socket_id = id->pkg; in tpmi_set_tdp_level()
394 info.power_domain_id = id->punit; in tpmi_set_tdp_level()
395 info.level = tdp_level; in tpmi_set_tdp_level()
397 ret = tpmi_process_ioctl(ISST_IF_PERF_SET_LEVEL, &info); in tpmi_set_tdp_level()
407 struct isst_perf_level_cpu_mask info; in _pbf_get_coremask_info() local
410 info.socket_id = id->pkg; in _pbf_get_coremask_info()
411 info.power_domain_id = id->punit; in _pbf_get_coremask_info()
412 info.level = config_index; in _pbf_get_coremask_info()
413 info.punit_cpu_map = 1; in _pbf_get_coremask_info()
415 ret = tpmi_process_ioctl(ISST_IF_GET_BASE_FREQ_CPU_MASK, &info); in _pbf_get_coremask_info()
419 set_cpu_mask_from_punit_coremask(id, info.mask, in _pbf_get_coremask_info()
423 debug_printf("cpu:%d ctdp:%d pbf core_mask info cpu count:%d\n", in _pbf_get_coremask_info()
432 struct isst_base_freq_info info; in tpmi_get_pbf_info() local
435 info.socket_id = id->pkg; in tpmi_get_pbf_info()
436 info.power_domain_id = id->punit; in tpmi_get_pbf_info()
437 info.level = level; in tpmi_get_pbf_info()
439 ret = tpmi_process_ioctl(ISST_IF_GET_BASE_FREQ_INFO, &info); in tpmi_get_pbf_info()
443 pbf_info->p1_low = info.low_base_freq_mhz; in tpmi_get_pbf_info()
444 pbf_info->p1_high = info.high_base_freq_mhz; in tpmi_get_pbf_info()
445 pbf_info->tdp = info.thermal_design_power_w; in tpmi_get_pbf_info()
446 pbf_info->t_prochot = info.tjunction_max_c; in tpmi_get_pbf_info()
448 debug_printf("cpu:%d ctdp:%d pbf info:%d:%d:%d:%d\n", in tpmi_get_pbf_info()
460 struct isst_perf_feature_control info; in tpmi_set_pbf_fact_status() local
473 info.socket_id = id->pkg; in tpmi_set_pbf_fact_status()
474 info.power_domain_id = id->punit; in tpmi_set_pbf_fact_status()
476 info.feature = 0; in tpmi_set_pbf_fact_status()
480 info.feature |= BIT(1); in tpmi_set_pbf_fact_status()
483 info.feature |= BIT(0); in tpmi_set_pbf_fact_status()
485 info.feature &= ~BIT(0); in tpmi_set_pbf_fact_status()
494 info.feature |= BIT(0); in tpmi_set_pbf_fact_status()
497 info.feature |= BIT(1); in tpmi_set_pbf_fact_status()
499 info.feature &= ~BIT(1); in tpmi_set_pbf_fact_status()
502 ret = tpmi_process_ioctl(ISST_IF_PERF_SET_FEATURE, &info); in tpmi_set_pbf_fact_status()
512 struct isst_turbo_freq_info info; in tpmi_get_fact_info() local
516 info.socket_id = id->pkg; in tpmi_get_fact_info()
517 info.power_domain_id = id->punit; in tpmi_get_fact_info()
518 info.level = level; in tpmi_get_fact_info()
520 ret = tpmi_process_ioctl(ISST_IF_GET_TURBO_FREQ_INFO, &info); in tpmi_get_fact_info()
524 for (i = 0; i < info.max_clip_freqs; ++i) in tpmi_get_fact_info()
525 fact_info->lp_ratios[i] = info.lp_clip_freq_mhz[i]; in tpmi_get_fact_info()
527 if (info.max_buckets > TRL_MAX_BUCKETS) in tpmi_get_fact_info()
528 info.max_buckets = TRL_MAX_BUCKETS; in tpmi_get_fact_info()
530 if (info.max_trl_levels > TRL_MAX_LEVELS) in tpmi_get_fact_info()
531 info.max_trl_levels = TRL_MAX_LEVELS; in tpmi_get_fact_info()
533 for (i = 0; i < info.max_trl_levels; ++i) { in tpmi_get_fact_info()
534 for (j = 0; j < info.max_buckets; ++j) in tpmi_get_fact_info()
536 info.trl_freq_mhz[i][j]; in tpmi_get_fact_info()
539 for (i = 0; i < info.max_buckets; ++i) in tpmi_get_fact_info()
540 fact_info->bucket_info[i].hp_cores = info.bucket_core_counts[i]; in tpmi_get_fact_info()
616 struct isst_perf_level_data_info info; in tpmi_adjust_uncore_freq() local
619 info.socket_id = id->pkg; in tpmi_adjust_uncore_freq()
620 info.power_domain_id = id->punit; in tpmi_adjust_uncore_freq()
621 info.level = config_index; in tpmi_adjust_uncore_freq()
623 ret = tpmi_process_ioctl(ISST_IF_GET_PERF_LEVEL_INFO, &info); in tpmi_adjust_uncore_freq()
627 ctdp_level->uncore_p0 = info.p0_fabric_freq_mhz; in tpmi_adjust_uncore_freq()
628 ctdp_level->uncore_p1 = info.p1_fabric_freq_mhz; in tpmi_adjust_uncore_freq()
629 ctdp_level->uncore_pm = info.pm_fabric_freq_mhz; in tpmi_adjust_uncore_freq()
642 struct isst_core_power info; in tpmi_get_clos_information() local
645 info.get_set = 0; in tpmi_get_clos_information()
646 info.socket_id = id->pkg; in tpmi_get_clos_information()
647 info.power_domain_id = id->punit; in tpmi_get_clos_information()
648 ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info); in tpmi_get_clos_information()
652 *enable = info.enable; in tpmi_get_clos_information()
653 *type = info.priority_type; in tpmi_get_clos_information()
661 struct isst_core_power info; in tpmi_pm_qos_config() local
664 info.get_set = 1; in tpmi_pm_qos_config()
665 info.socket_id = id->pkg; in tpmi_pm_qos_config()
666 info.power_domain_id = id->punit; in tpmi_pm_qos_config()
667 info.enable = enable_clos; in tpmi_pm_qos_config()
668 info.priority_type = priority_type; in tpmi_pm_qos_config()
676 info.power_domain_id = i; in tpmi_pm_qos_config()
677 ret = tpmi_process_ioctl(ISST_IF_CORE_POWER_STATE, &info); in tpmi_pm_qos_config()
693 struct isst_clos_param info; in tpmi_pm_get_clos() local
696 info.get_set = 0; in tpmi_pm_get_clos()
697 info.socket_id = id->pkg; in tpmi_pm_get_clos()
698 info.power_domain_id = id->punit; in tpmi_pm_get_clos()
699 info.clos = clos; in tpmi_pm_get_clos()
701 ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info); in tpmi_pm_get_clos()
706 clos_config->clos_prop_prio = info.prop_prio; in tpmi_pm_get_clos()
707 clos_config->clos_min = info.min_freq_mhz; in tpmi_pm_get_clos()
708 clos_config->clos_max = info.max_freq_mhz; in tpmi_pm_get_clos()
720 struct isst_clos_param info; in tpmi_set_clos() local
723 info.get_set = 1; in tpmi_set_clos()
724 info.socket_id = id->pkg; in tpmi_set_clos()
725 info.power_domain_id = id->punit; in tpmi_set_clos()
726 info.clos = clos; in tpmi_set_clos()
727 info.prop_prio = clos_config->clos_prop_prio; in tpmi_set_clos()
729 info.min_freq_mhz = clos_config->clos_min; in tpmi_set_clos()
730 info.max_freq_mhz = clos_config->clos_max; in tpmi_set_clos()
732 if (info.min_freq_mhz <= 0xff) in tpmi_set_clos()
733 info.min_freq_mhz *= 100; in tpmi_set_clos()
734 if (info.max_freq_mhz <= 0xff) in tpmi_set_clos()
735 info.max_freq_mhz *= 100; in tpmi_set_clos()
743 info.power_domain_id = i; in tpmi_set_clos()
744 ret = tpmi_process_ioctl(ISST_IF_CLOS_PARAM, &info); in tpmi_set_clos()