Lines Matching refs:cpu_data

82 	struct cppc_cpudata *cpu_data;  member
89 static int cppc_perf_from_fbctrs(struct cppc_cpudata *cpu_data,
114 struct cppc_cpudata *cpu_data; in cppc_scale_freq_workfn() local
119 cpu_data = cppc_fi->cpu_data; in cppc_scale_freq_workfn()
126 perf = cppc_perf_from_fbctrs(cpu_data, &cppc_fi->prev_perf_fb_ctrs, in cppc_scale_freq_workfn()
131 local_freq_scale = div64_u64(perf, cpu_data->perf_caps.highest_perf); in cppc_scale_freq_workfn()
175 cppc_fi->cpu_data = policy->driver_data; in cppc_cpufreq_cpu_fie_init()
331 static unsigned int cppc_cpufreq_perf_to_khz(struct cppc_cpudata *cpu_data, in cppc_cpufreq_perf_to_khz() argument
334 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_perf_to_khz()
356 static unsigned int cppc_cpufreq_khz_to_perf(struct cppc_cpudata *cpu_data, in cppc_cpufreq_khz_to_perf() argument
359 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_khz_to_perf()
386 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target() local
392 desired_perf = cppc_cpufreq_khz_to_perf(cpu_data, target_freq); in cppc_cpufreq_set_target()
394 if (desired_perf == cpu_data->perf_ctrls.desired_perf) in cppc_cpufreq_set_target()
397 cpu_data->perf_ctrls.desired_perf = desired_perf; in cppc_cpufreq_set_target()
402 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_set_target()
415 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_fast_switch() local
420 desired_perf = cppc_cpufreq_khz_to_perf(cpu_data, target_freq); in cppc_cpufreq_fast_switch()
421 cpu_data->perf_ctrls.desired_perf = desired_perf; in cppc_cpufreq_fast_switch()
422 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_fast_switch()
487 struct cppc_cpudata *cpu_data; in get_perf_level_count() local
490 cpu_data = policy->driver_data; in get_perf_level_count()
491 perf_caps = &cpu_data->perf_caps; in get_perf_level_count()
520 struct cppc_cpudata *cpu_data; in cppc_get_cpu_power() local
523 cpu_data = policy->driver_data; in cppc_get_cpu_power()
524 perf_caps = &cpu_data->perf_caps; in cppc_get_cpu_power()
533 perf_prev = cppc_cpufreq_khz_to_perf(cpu_data, *KHz); in cppc_get_cpu_power()
553 *KHz = cppc_cpufreq_perf_to_khz(cpu_data, perf); in cppc_get_cpu_power()
554 perf_check = cppc_cpufreq_khz_to_perf(cpu_data, *KHz); in cppc_get_cpu_power()
564 *KHz = cppc_cpufreq_perf_to_khz(cpu_data, perf); in cppc_get_cpu_power()
565 perf_check = cppc_cpufreq_khz_to_perf(cpu_data, *KHz); in cppc_get_cpu_power()
585 struct cppc_cpudata *cpu_data; in cppc_get_cpu_cost() local
590 cpu_data = policy->driver_data; in cppc_get_cpu_cost()
591 perf_caps = &cpu_data->perf_caps; in cppc_get_cpu_cost()
594 perf_prev = cppc_cpufreq_khz_to_perf(cpu_data, KHz); in cppc_get_cpu_cost()
641 struct cppc_cpudata *cpu_data; in cppc_cpufreq_register_em() local
645 cpu_data = policy->driver_data; in cppc_cpufreq_register_em()
648 cpu_data->shared_cpu_map, 0); in cppc_cpufreq_register_em()
660 struct cppc_cpudata *cpu_data; in cppc_cpufreq_get_cpu_data() local
663 cpu_data = kzalloc(sizeof(struct cppc_cpudata), GFP_KERNEL); in cppc_cpufreq_get_cpu_data()
664 if (!cpu_data) in cppc_cpufreq_get_cpu_data()
667 if (!zalloc_cpumask_var(&cpu_data->shared_cpu_map, GFP_KERNEL)) in cppc_cpufreq_get_cpu_data()
670 ret = acpi_get_psd_map(cpu, cpu_data); in cppc_cpufreq_get_cpu_data()
676 ret = cppc_get_perf_caps(cpu, &cpu_data->perf_caps); in cppc_cpufreq_get_cpu_data()
683 cpu_data->perf_caps.lowest_freq *= 1000; in cppc_cpufreq_get_cpu_data()
684 cpu_data->perf_caps.nominal_freq *= 1000; in cppc_cpufreq_get_cpu_data()
686 list_add(&cpu_data->node, &cpu_data_list); in cppc_cpufreq_get_cpu_data()
688 return cpu_data; in cppc_cpufreq_get_cpu_data()
691 free_cpumask_var(cpu_data->shared_cpu_map); in cppc_cpufreq_get_cpu_data()
693 kfree(cpu_data); in cppc_cpufreq_get_cpu_data()
700 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data() local
702 list_del(&cpu_data->node); in cppc_cpufreq_put_cpu_data()
703 free_cpumask_var(cpu_data->shared_cpu_map); in cppc_cpufreq_put_cpu_data()
704 kfree(cpu_data); in cppc_cpufreq_put_cpu_data()
711 struct cppc_cpudata *cpu_data; in cppc_cpufreq_cpu_init() local
715 cpu_data = cppc_cpufreq_get_cpu_data(cpu); in cppc_cpufreq_cpu_init()
716 if (!cpu_data) { in cppc_cpufreq_cpu_init()
720 caps = &cpu_data->perf_caps; in cppc_cpufreq_cpu_init()
721 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
727 policy->min = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
729 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
737 policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
739 policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
743 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
756 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
776 policy->cur = cppc_cpufreq_perf_to_khz(cpu_data, caps->highest_perf); in cppc_cpufreq_cpu_init()
777 cpu_data->perf_ctrls.desired_perf = caps->highest_perf; in cppc_cpufreq_cpu_init()
779 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_cpu_init()
796 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit() local
797 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_cpu_exit()
803 cpu_data->perf_ctrls.desired_perf = caps->lowest_perf; in cppc_cpufreq_cpu_exit()
805 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_cpu_exit()
822 static int cppc_perf_from_fbctrs(struct cppc_cpudata *cpu_data, in cppc_perf_from_fbctrs() argument
838 return cpu_data->perf_ctrls.desired_perf; in cppc_perf_from_fbctrs()
847 struct cppc_cpudata *cpu_data; in cppc_cpufreq_get_rate() local
854 cpu_data = policy->driver_data; in cppc_cpufreq_get_rate()
868 delivered_perf = cppc_perf_from_fbctrs(cpu_data, &fb_ctrs_t0, in cppc_cpufreq_get_rate()
871 return cppc_cpufreq_perf_to_khz(cpu_data, delivered_perf); in cppc_cpufreq_get_rate()
876 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost() local
877 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_set_boost()
886 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
889 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
902 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus() local
904 return cpufreq_show_cpus(cpu_data->shared_cpu_map, buf); in show_freqdomain_cpus()
935 struct cppc_cpudata *cpu_data; in hisi_cppc_cpufreq_get_rate() local
942 cpu_data = policy->driver_data; in hisi_cppc_cpufreq_get_rate()
950 return cppc_cpufreq_perf_to_khz(cpu_data, desired_perf); in hisi_cppc_cpufreq_get_rate()