Lines Matching defs:id

64 static int mbox_is_punit_valid(struct isst_id *id)
66 if (id->cpu < 0)
69 if (id->pkg < 0 || id->die < 0 || id->punit)
219 static int mbox_read_pm_config(struct isst_id *id, int *cp_state, int *cp_cap)
224 ret = _send_mbox_command(id->cpu, READ_PM_CONFIG, PM_FEATURE, 0, 0,
229 debug_printf("cpu:%d READ_PM_CONFIG resp:%x\n", id->cpu, resp);
237 static int mbox_get_config_levels(struct isst_id *id, struct isst_pkg_ctdp *pkg_dev)
242 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
253 debug_printf("cpu:%d CONFIG_TDP_GET_LEVELS_INFO resp:%x\n", id->cpu, resp);
264 static int mbox_get_ctdp_control(struct isst_id *id, int config_index,
271 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
282 ret = isst_read_pm_config(id, &cp_state, &cp_cap);
284 debug_printf("cpu:%d pm_config is not supported\n", id->cpu);
286 debug_printf("cpu:%d pm_config SST-CP state:%d cap:%d\n", id->cpu, cp_state, cp_cap);
293 id->cpu, resp, ctdp_level->fact_support, ctdp_level->pbf_support,
299 static void _get_uncore_p0_p1_info(struct isst_id *id, int config_index,
309 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
322 id->cpu, config_index, resp, ctdp_level->uncore_p0, ctdp_level->uncore_p1,
328 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
341 id->cpu, config_index, resp, ctdp_level->uncore_p0,
345 static int _set_uncore_min_max(struct isst_id *id, int max, int freq)
352 "/sys/devices/system/cpu/intel_uncore_frequency/package_%02d_die_%02d/max_freq_khz", id->pkg, id->die);
355 "/sys/devices/system/cpu/intel_uncore_frequency/package_%02d_die_%02d/min_freq_khz", id->pkg, id->die);
373 static void mbox_adjust_uncore_freq(struct isst_id *id, int config_index,
376 _get_uncore_p0_p1_info(id, config_index, ctdp_level);
378 _set_uncore_min_max(id, 0, ctdp_level->uncore_pm * 100000);
381 _set_uncore_min_max(id, 1, ctdp_level->uncore_p0 * 100000);
384 static void _get_p1_info(struct isst_id *id, int config_index,
389 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_P1_INFO, 0,
404 id->cpu, config_index, resp, ctdp_level->sse_p1,
408 static void _get_uncore_mem_freq(struct isst_id *id, int config_index,
414 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_MEM_FREQ,
438 id->cpu, config_index, resp, ctdp_level->mem_freq);
441 static int mbox_get_tdp_info(struct isst_id *id, int config_index,
447 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_TDP_INFO,
459 id->cpu, config_index, resp, ctdp_level->tdp_ratio,
462 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_TJMAX_INFO,
469 _get_uncore_p0_p1_info(id, config_index, ctdp_level);
470 _get_p1_info(id, config_index, ctdp_level);
471 _get_uncore_mem_freq(id, config_index, ctdp_level);
475 id->cpu, config_index, resp, ctdp_level->t_proc_hot);
480 static int mbox_get_pwr_info(struct isst_id *id, int config_index,
486 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_GET_PWR_INFO,
496 id->cpu, config_index, resp, ctdp_level->pkg_max_power,
502 static int mbox_get_coremask_info(struct isst_id *id, int config_index,
513 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
521 id->cpu, config_index, i, resp);
524 set_cpu_mask_from_punit_coremask(id, mask,
529 debug_printf("cpu:%d ctdp:%d mask:%d cpu count:%d\n", id->cpu,
536 static int mbox_get_get_trl(struct isst_id *id, int level, int avx_level, int *trl)
542 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
550 id->cpu, req, resp);
558 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
564 debug_printf("cpu:%d CONFIG_TDP_GET_TURBO_LIMIT req:%x resp:%x\n", id->cpu,
575 static int mbox_get_get_trls(struct isst_id *id, int level, struct isst_pkg_ctdp_level_info *ctdp_level)
581 ret = mbox_get_get_trl(id, level, i, ctdp_level->trl_ratios[i]);
588 static int mbox_get_trl_bucket_info(struct isst_id *id, int level, unsigned long long *buckets_info)
592 debug_printf("cpu:%d bucket info via MSR\n", id->cpu);
596 ret = isst_send_msr_command(id->cpu, 0x1ae, 0, buckets_info);
600 debug_printf("cpu:%d bucket info via MSR successful 0x%llx\n", id->cpu,
606 static int mbox_set_tdp_level(struct isst_id *id, int tdp_level)
612 if (isst_get_config_tdp_lock_status(id)) {
618 ret = _send_mbox_command(id->cpu, CONFIG_TDP, CONFIG_TDP_SET_LEVEL, 0,
628 static int mbox_get_pbf_info(struct isst_id *id, int level, struct isst_pbf_info *pbf_info)
634 max_punit_core = get_max_punit_core_id(id);
641 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
649 id->cpu, resp);
652 set_cpu_mask_from_punit_coremask(id, mask,
659 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
665 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_P1HI_P1LO_INFO resp:%x\n", id->cpu,
673 id->cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TDP_INFO, 0, req, &resp);
677 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TDP_INFO resp:%x\n", id->cpu, resp);
683 id->cpu, CONFIG_TDP, CONFIG_TDP_PBF_GET_TJ_MAX_INFO, 0, req, &resp);
687 debug_printf("cpu:%d CONFIG_TDP_PBF_GET_TJ_MAX_INFO resp:%x\n", id->cpu,
695 static int mbox_set_pbf_fact_status(struct isst_id *id, int pbf, int enable)
703 ret = isst_get_ctdp_levels(id, &pkg_dev);
705 debug_printf("cpu:%d No support for dynamic ISST\n", id->cpu);
709 ret = isst_get_ctdp_control(id, current_level, &ctdp_level);
735 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
741 id->cpu, pbf, req);
746 static int _get_fact_bucket_info(struct isst_id *id, int level,
757 id->cpu, CONFIG_TDP,
765 id->cpu, i, level, resp);
778 id->cpu, CONFIG_TDP,
786 id->cpu, i, level, k, resp);
798 static int mbox_get_fact_info(struct isst_id *id, int level, int fact_bucket, struct isst_fact_info *fact_info)
803 ret = _send_mbox_command(id->cpu, CONFIG_TDP,
810 id->cpu, resp);
816 ret = _get_fact_bucket_info(id, level, fact_info->bucket_info);
838 static int mbox_get_clos_information(struct isst_id *id, int *enable, int *type)
843 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0,
848 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", id->cpu, resp);
863 static int _write_pm_config(struct isst_id *id, int cp_state)
873 ret = _send_mbox_command(id->cpu, WRITE_PM_CONFIG, PM_FEATURE, 0, req,
878 debug_printf("cpu:%d WRITE_PM_CONFIG resp:%x\n", id->cpu, resp);
883 static int mbox_pm_qos_config(struct isst_id *id, int enable_clos, int priority_type)
892 ret = isst_get_ctdp_levels(id, &pkg_dev);
898 ret = isst_get_ctdp_control(id, pkg_dev.current_level,
907 ret = _write_pm_config(id, 0);
911 ret = _write_pm_config(id, 1);
916 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG, 0, 0,
923 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG resp:%x\n", id->cpu, resp);
940 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_QOS_CONFIG,
945 debug_printf("cpu:%d CLOS_PM_QOS_CONFIG priority type:%d req:%x\n", id->cpu,
951 static int mbox_pm_get_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config)
956 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_CLOS, clos, 0,
970 static int mbox_set_clos(struct isst_id *id, int clos, struct isst_clos_config *clos_config)
984 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PM_CLOS, param, req,
989 debug_printf("cpu:%d CLOS_PM_CLOS param:%x req:%x\n", id->cpu, param, req);
994 static int mbox_clos_get_assoc_status(struct isst_id *id, int *clos_id)
1000 core_id = find_phy_core_num(id->cpu);
1003 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param, 0,
1008 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x resp:%x\n", id->cpu, param,
1015 static int mbox_clos_associate(struct isst_id *id, int clos_id)
1022 core_id = find_phy_core_num(id->cpu);
1025 ret = _send_mbox_command(id->cpu, CONFIG_CLOS, CLOS_PQR_ASSOC, param,
1030 debug_printf("cpu:%d CLOS_PQR_ASSOC param:%x req:%x\n", id->cpu, param,