Lines Matching refs:cpu_data
72 struct cppc_cpudata *cpu_data; member
80 static int cppc_perf_from_fbctrs(struct cppc_cpudata *cpu_data,
105 struct cppc_cpudata *cpu_data; in cppc_scale_freq_workfn() local
110 cpu_data = cppc_fi->cpu_data; in cppc_scale_freq_workfn()
117 perf = cppc_perf_from_fbctrs(cpu_data, &cppc_fi->prev_perf_fb_ctrs, in cppc_scale_freq_workfn()
122 local_freq_scale = div64_u64(perf, cpu_data->perf_caps.highest_perf); in cppc_scale_freq_workfn()
166 cppc_fi->cpu_data = policy->driver_data; in cppc_cpufreq_cpu_fie_init()
313 static unsigned int cppc_cpufreq_perf_to_khz(struct cppc_cpudata *cpu_data, in cppc_cpufreq_perf_to_khz() argument
316 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_perf_to_khz()
337 static unsigned int cppc_cpufreq_khz_to_perf(struct cppc_cpudata *cpu_data, in cppc_cpufreq_khz_to_perf() argument
340 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_khz_to_perf()
367 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_target() local
373 desired_perf = cppc_cpufreq_khz_to_perf(cpu_data, target_freq); in cppc_cpufreq_set_target()
375 if (desired_perf == cpu_data->perf_ctrls.desired_perf) in cppc_cpufreq_set_target()
378 cpu_data->perf_ctrls.desired_perf = desired_perf; in cppc_cpufreq_set_target()
383 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_set_target()
435 struct cppc_cpudata *cpu_data; in cppc_cpufreq_get_cpu_data() local
438 cpu_data = kzalloc(sizeof(struct cppc_cpudata), GFP_KERNEL); in cppc_cpufreq_get_cpu_data()
439 if (!cpu_data) in cppc_cpufreq_get_cpu_data()
442 if (!zalloc_cpumask_var(&cpu_data->shared_cpu_map, GFP_KERNEL)) in cppc_cpufreq_get_cpu_data()
445 ret = acpi_get_psd_map(cpu, cpu_data); in cppc_cpufreq_get_cpu_data()
451 ret = cppc_get_perf_caps(cpu, &cpu_data->perf_caps); in cppc_cpufreq_get_cpu_data()
458 cpu_data->perf_caps.lowest_freq *= 1000; in cppc_cpufreq_get_cpu_data()
459 cpu_data->perf_caps.nominal_freq *= 1000; in cppc_cpufreq_get_cpu_data()
461 list_add(&cpu_data->node, &cpu_data_list); in cppc_cpufreq_get_cpu_data()
463 return cpu_data; in cppc_cpufreq_get_cpu_data()
466 free_cpumask_var(cpu_data->shared_cpu_map); in cppc_cpufreq_get_cpu_data()
468 kfree(cpu_data); in cppc_cpufreq_get_cpu_data()
475 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_put_cpu_data() local
477 list_del(&cpu_data->node); in cppc_cpufreq_put_cpu_data()
478 free_cpumask_var(cpu_data->shared_cpu_map); in cppc_cpufreq_put_cpu_data()
479 kfree(cpu_data); in cppc_cpufreq_put_cpu_data()
486 struct cppc_cpudata *cpu_data; in cppc_cpufreq_cpu_init() local
490 cpu_data = cppc_cpufreq_get_cpu_data(cpu); in cppc_cpufreq_cpu_init()
491 if (!cpu_data) { in cppc_cpufreq_cpu_init()
495 caps = &cpu_data->perf_caps; in cppc_cpufreq_cpu_init()
496 policy->driver_data = cpu_data; in cppc_cpufreq_cpu_init()
502 policy->min = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
504 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
512 policy->cpuinfo.min_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
514 policy->cpuinfo.max_freq = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_cpu_init()
518 policy->shared_type = cpu_data->shared_type; in cppc_cpufreq_cpu_init()
531 cpumask_copy(policy->cpus, cpu_data->shared_cpu_map); in cppc_cpufreq_cpu_init()
548 policy->cur = cppc_cpufreq_perf_to_khz(cpu_data, caps->highest_perf); in cppc_cpufreq_cpu_init()
549 cpu_data->perf_ctrls.desired_perf = caps->highest_perf; in cppc_cpufreq_cpu_init()
551 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_cpu_init()
568 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_cpu_exit() local
569 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_cpu_exit()
575 cpu_data->perf_ctrls.desired_perf = caps->lowest_perf; in cppc_cpufreq_cpu_exit()
577 ret = cppc_set_perf(cpu, &cpu_data->perf_ctrls); in cppc_cpufreq_cpu_exit()
594 static int cppc_perf_from_fbctrs(struct cppc_cpudata *cpu_data, in cppc_perf_from_fbctrs() argument
610 return cpu_data->perf_ctrls.desired_perf; in cppc_perf_from_fbctrs()
619 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_get_rate() local
635 delivered_perf = cppc_perf_from_fbctrs(cpu_data, &fb_ctrs_t0, in cppc_cpufreq_get_rate()
638 return cppc_cpufreq_perf_to_khz(cpu_data, delivered_perf); in cppc_cpufreq_get_rate()
643 struct cppc_cpudata *cpu_data = policy->driver_data; in cppc_cpufreq_set_boost() local
644 struct cppc_perf_caps *caps = &cpu_data->perf_caps; in cppc_cpufreq_set_boost()
653 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
656 policy->max = cppc_cpufreq_perf_to_khz(cpu_data, in cppc_cpufreq_set_boost()
669 struct cppc_cpudata *cpu_data = policy->driver_data; in show_freqdomain_cpus() local
671 return cpufreq_show_cpus(cpu_data->shared_cpu_map, buf); in show_freqdomain_cpus()
701 struct cppc_cpudata *cpu_data = policy->driver_data; in hisi_cppc_cpufreq_get_rate() local
711 return cppc_cpufreq_perf_to_khz(cpu_data, desired_perf); in hisi_cppc_cpufreq_get_rate()