• Home
  • Raw
  • Download

Lines Matching full:pr

55 static int acpi_processor_get_platform_limit(struct acpi_processor *pr)  in acpi_processor_get_platform_limit()  argument
63 if (!pr) in acpi_processor_get_platform_limit()
70 status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc); in acpi_processor_get_platform_limit()
82 if (pr->performance_platform_limit == index || in acpi_processor_get_platform_limit()
83 ppc >= pr->performance->state_count) in acpi_processor_get_platform_limit()
86 pr_debug("CPU %d: _PPC is %d - frequency %s limited\n", pr->id, in acpi_processor_get_platform_limit()
89 pr->performance_platform_limit = index; in acpi_processor_get_platform_limit()
91 if (unlikely(!freq_qos_request_active(&pr->perflib_req))) in acpi_processor_get_platform_limit()
101 qos_value = pr->performance->states[index].core_frequency * 1000; in acpi_processor_get_platform_limit()
103 ret = freq_qos_update_request(&pr->perflib_req, qos_value); in acpi_processor_get_platform_limit()
106 pr->id, ret); in acpi_processor_get_platform_limit()
127 void acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag) in acpi_processor_ppc_has_changed() argument
131 if (ignore_ppc || !pr->performance) { in acpi_processor_ppc_has_changed()
137 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
141 ret = acpi_processor_get_platform_limit(pr); in acpi_processor_ppc_has_changed()
148 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
150 acpi_processor_ppc_ost(pr->handle, 0); in acpi_processor_ppc_has_changed()
153 cpufreq_update_limits(pr->id); in acpi_processor_ppc_has_changed()
158 struct acpi_processor *pr; in acpi_processor_get_bios_limit() local
160 pr = per_cpu(processors, cpu); in acpi_processor_get_bios_limit()
161 if (!pr || !pr->performance || !pr->performance->state_count) in acpi_processor_get_bios_limit()
163 *limit = pr->performance->states[pr->performance_platform_limit]. in acpi_processor_get_bios_limit()
180 struct acpi_processor *pr = per_cpu(processors, cpu); in acpi_processor_ppc_init() local
183 if (!pr) in acpi_processor_ppc_init()
191 pr->performance_platform_limit = 0; in acpi_processor_ppc_init()
194 &pr->perflib_req, FREQ_QOS_MAX, in acpi_processor_ppc_init()
207 struct acpi_processor *pr = per_cpu(processors, cpu); in acpi_processor_ppc_exit() local
209 if (pr) in acpi_processor_ppc_exit()
210 freq_qos_remove_request(&pr->perflib_req); in acpi_processor_ppc_exit()
214 static int acpi_processor_get_performance_control(struct acpi_processor *pr) in acpi_processor_get_performance_control() argument
223 status = acpi_evaluate_object(pr->handle, "_PCT", NULL, &buffer); in acpi_processor_get_performance_control()
250 memcpy(&pr->performance->control_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
267 memcpy(&pr->performance->status_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
311 static int acpi_processor_get_performance_states(struct acpi_processor *pr) in acpi_processor_get_performance_states() argument
323 status = acpi_evaluate_object(pr->handle, "_PSS", NULL, &buffer); in acpi_processor_get_performance_states()
339 pr->performance->state_count = pss->package.count; in acpi_processor_get_performance_states()
340 pr->performance->states = in acpi_processor_get_performance_states()
344 if (!pr->performance->states) { in acpi_processor_get_performance_states()
349 for (i = 0; i < pr->performance->state_count; i++) { in acpi_processor_get_performance_states()
351 struct acpi_processor_px *px = &(pr->performance->states[i]); in acpi_processor_get_performance_states()
363 kfree(pr->performance->states); in acpi_processor_get_performance_states()
386 pr->id, px->core_frequency); in acpi_processor_get_performance_states()
394 memcpy(&(pr->performance->states[last_invalid]), in acpi_processor_get_performance_states()
403 "No valid BIOS _PSS frequency found for processor %d\n", pr->id); in acpi_processor_get_performance_states()
405 kfree(pr->performance->states); in acpi_processor_get_performance_states()
406 pr->performance->states = NULL; in acpi_processor_get_performance_states()
410 pr->performance->state_count = last_invalid; in acpi_processor_get_performance_states()
418 int acpi_processor_get_performance_info(struct acpi_processor *pr) in acpi_processor_get_performance_info() argument
422 if (!pr || !pr->performance || !pr->handle) in acpi_processor_get_performance_info()
425 if (!acpi_has_method(pr->handle, "_PCT")) { in acpi_processor_get_performance_info()
431 result = acpi_processor_get_performance_control(pr); in acpi_processor_get_performance_info()
435 result = acpi_processor_get_performance_states(pr); in acpi_processor_get_performance_info()
441 result = acpi_processor_get_platform_limit(pr); in acpi_processor_get_performance_info()
451 if (acpi_has_method(pr->handle, "_PPC")) { in acpi_processor_get_performance_info()
602 struct acpi_processor *pr; in acpi_processor_preregister_performance() local
614 * changing pr->performance if it has. Check input data as well. in acpi_processor_preregister_performance()
617 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
618 if (!pr) { in acpi_processor_preregister_performance()
623 if (pr->performance) { in acpi_processor_preregister_performance()
636 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
637 if (!pr) in acpi_processor_preregister_performance()
640 pr->performance = per_cpu_ptr(performance, i); in acpi_processor_preregister_performance()
641 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
642 pdomain = &(pr->performance->domain_info); in acpi_processor_preregister_performance()
643 if (acpi_processor_get_psd(pr->handle, pdomain)) { in acpi_processor_preregister_performance()
656 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
657 if (!pr) in acpi_processor_preregister_performance()
663 pdomain = &(pr->performance->domain_info); in acpi_processor_preregister_performance()
664 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
672 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL; in acpi_processor_preregister_performance()
674 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_HW; in acpi_processor_preregister_performance()
676 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ANY; in acpi_processor_preregister_performance()
703 cpumask_set_cpu(j, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
719 pr->performance->shared_type; in acpi_processor_preregister_performance()
721 pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
727 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
728 if (!pr || !pr->performance) in acpi_processor_preregister_performance()
733 cpumask_clear(pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
734 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
735 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL; in acpi_processor_preregister_performance()
737 pr->performance = NULL; /* Will be set for real in register */ in acpi_processor_preregister_performance()
751 struct acpi_processor *pr; in acpi_processor_register_performance() local
758 pr = per_cpu(processors, cpu); in acpi_processor_register_performance()
759 if (!pr) { in acpi_processor_register_performance()
764 if (pr->performance) { in acpi_processor_register_performance()
771 pr->performance = performance; in acpi_processor_register_performance()
773 if (acpi_processor_get_performance_info(pr)) { in acpi_processor_register_performance()
774 pr->performance = NULL; in acpi_processor_register_performance()
787 struct acpi_processor *pr; in acpi_processor_unregister_performance() local
791 pr = per_cpu(processors, cpu); in acpi_processor_unregister_performance()
792 if (!pr) { in acpi_processor_unregister_performance()
797 if (pr->performance) in acpi_processor_unregister_performance()
798 kfree(pr->performance->states); in acpi_processor_unregister_performance()
799 pr->performance = NULL; in acpi_processor_unregister_performance()