• Home
  • Raw
  • Download

Lines Matching refs:pr

52 static int acpi_processor_get_platform_limit(struct acpi_processor *pr)  in acpi_processor_get_platform_limit()  argument
60 if (!pr) in acpi_processor_get_platform_limit()
67 status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc); in acpi_processor_get_platform_limit()
72 acpi_evaluation_failure_warn(pr->handle, "_PPC", status); in acpi_processor_get_platform_limit()
79 if (pr->performance_platform_limit == index || in acpi_processor_get_platform_limit()
80 ppc >= pr->performance->state_count) in acpi_processor_get_platform_limit()
83 pr_debug("CPU %d: _PPC is %d - frequency %s limited\n", pr->id, in acpi_processor_get_platform_limit()
86 pr->performance_platform_limit = index; in acpi_processor_get_platform_limit()
88 if (unlikely(!freq_qos_request_active(&pr->perflib_req))) in acpi_processor_get_platform_limit()
98 qos_value = pr->performance->states[index].core_frequency * 1000; in acpi_processor_get_platform_limit()
100 ret = freq_qos_update_request(&pr->perflib_req, qos_value); in acpi_processor_get_platform_limit()
103 pr->id, ret); in acpi_processor_get_platform_limit()
124 void acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag) in acpi_processor_ppc_has_changed() argument
128 if (ignore_ppc || !pr->performance) { in acpi_processor_ppc_has_changed()
134 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
138 ret = acpi_processor_get_platform_limit(pr); in acpi_processor_ppc_has_changed()
145 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
147 acpi_processor_ppc_ost(pr->handle, 0); in acpi_processor_ppc_has_changed()
150 cpufreq_update_limits(pr->id); in acpi_processor_ppc_has_changed()
155 struct acpi_processor *pr; in acpi_processor_get_bios_limit() local
157 pr = per_cpu(processors, cpu); in acpi_processor_get_bios_limit()
158 if (!pr || !pr->performance || !pr->performance->state_count) in acpi_processor_get_bios_limit()
160 *limit = pr->performance->states[pr->performance_platform_limit]. in acpi_processor_get_bios_limit()
177 struct acpi_processor *pr = per_cpu(processors, cpu); in acpi_processor_ppc_init() local
180 if (!pr) in acpi_processor_ppc_init()
188 pr->performance_platform_limit = 0; in acpi_processor_ppc_init()
191 &pr->perflib_req, FREQ_QOS_MAX, in acpi_processor_ppc_init()
204 struct acpi_processor *pr = per_cpu(processors, cpu); in acpi_processor_ppc_exit() local
206 if (pr) in acpi_processor_ppc_exit()
207 freq_qos_remove_request(&pr->perflib_req); in acpi_processor_ppc_exit()
211 static int acpi_processor_get_performance_control(struct acpi_processor *pr) in acpi_processor_get_performance_control() argument
219 status = acpi_evaluate_object(pr->handle, "_PCT", NULL, &buffer); in acpi_processor_get_performance_control()
221 acpi_evaluation_failure_warn(pr->handle, "_PCT", status); in acpi_processor_get_performance_control()
246 memcpy(&pr->performance->control_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
263 memcpy(&pr->performance->status_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
307 static int acpi_processor_get_performance_states(struct acpi_processor *pr) in acpi_processor_get_performance_states() argument
318 status = acpi_evaluate_object(pr->handle, "_PSS", NULL, &buffer); in acpi_processor_get_performance_states()
320 acpi_evaluation_failure_warn(pr->handle, "_PSS", status); in acpi_processor_get_performance_states()
331 acpi_handle_debug(pr->handle, "Found %d performance states\n", in acpi_processor_get_performance_states()
334 pr->performance->state_count = pss->package.count; in acpi_processor_get_performance_states()
335 pr->performance->states = in acpi_processor_get_performance_states()
339 if (!pr->performance->states) { in acpi_processor_get_performance_states()
344 for (i = 0; i < pr->performance->state_count; i++) { in acpi_processor_get_performance_states()
346 struct acpi_processor_px *px = &(pr->performance->states[i]); in acpi_processor_get_performance_states()
351 acpi_handle_debug(pr->handle, "Extracting state %d\n", i); in acpi_processor_get_performance_states()
356 acpi_handle_warn(pr->handle, "Invalid _PSS data: %s\n", in acpi_processor_get_performance_states()
359 kfree(pr->performance->states); in acpi_processor_get_performance_states()
365 acpi_handle_debug(pr->handle, in acpi_processor_get_performance_states()
382 pr->id, px->core_frequency); in acpi_processor_get_performance_states()
390 memcpy(&(pr->performance->states[last_invalid]), in acpi_processor_get_performance_states()
399 "No valid BIOS _PSS frequency found for processor %d\n", pr->id); in acpi_processor_get_performance_states()
401 kfree(pr->performance->states); in acpi_processor_get_performance_states()
402 pr->performance->states = NULL; in acpi_processor_get_performance_states()
406 pr->performance->state_count = last_invalid; in acpi_processor_get_performance_states()
414 int acpi_processor_get_performance_info(struct acpi_processor *pr) in acpi_processor_get_performance_info() argument
418 if (!pr || !pr->performance || !pr->handle) in acpi_processor_get_performance_info()
421 if (!acpi_has_method(pr->handle, "_PCT")) { in acpi_processor_get_performance_info()
422 acpi_handle_debug(pr->handle, in acpi_processor_get_performance_info()
427 result = acpi_processor_get_performance_control(pr); in acpi_processor_get_performance_info()
431 result = acpi_processor_get_performance_states(pr); in acpi_processor_get_performance_info()
437 result = acpi_processor_get_platform_limit(pr); in acpi_processor_get_performance_info()
447 if (acpi_has_method(pr->handle, "_PPC")) { in acpi_processor_get_performance_info()
597 struct acpi_processor *pr; in acpi_processor_preregister_performance() local
612 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
613 if (!pr) { in acpi_processor_preregister_performance()
618 if (pr->performance) { in acpi_processor_preregister_performance()
631 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
632 if (!pr) in acpi_processor_preregister_performance()
635 pr->performance = per_cpu_ptr(performance, i); in acpi_processor_preregister_performance()
636 pdomain = &(pr->performance->domain_info); in acpi_processor_preregister_performance()
637 if (acpi_processor_get_psd(pr->handle, pdomain)) { in acpi_processor_preregister_performance()
650 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
651 if (!pr) in acpi_processor_preregister_performance()
657 pdomain = &(pr->performance->domain_info); in acpi_processor_preregister_performance()
658 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
666 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL; in acpi_processor_preregister_performance()
668 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_HW; in acpi_processor_preregister_performance()
670 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ANY; in acpi_processor_preregister_performance()
697 cpumask_set_cpu(j, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
713 pr->performance->shared_type; in acpi_processor_preregister_performance()
715 pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
721 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
722 if (!pr || !pr->performance) in acpi_processor_preregister_performance()
727 cpumask_clear(pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
728 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
729 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_NONE; in acpi_processor_preregister_performance()
731 pr->performance = NULL; /* Will be set for real in register */ in acpi_processor_preregister_performance()
745 struct acpi_processor *pr; in acpi_processor_register_performance() local
752 pr = per_cpu(processors, cpu); in acpi_processor_register_performance()
753 if (!pr) { in acpi_processor_register_performance()
758 if (pr->performance) { in acpi_processor_register_performance()
765 pr->performance = performance; in acpi_processor_register_performance()
767 if (acpi_processor_get_performance_info(pr)) { in acpi_processor_register_performance()
768 pr->performance = NULL; in acpi_processor_register_performance()
781 struct acpi_processor *pr; in acpi_processor_unregister_performance() local
785 pr = per_cpu(processors, cpu); in acpi_processor_unregister_performance()
786 if (!pr) { in acpi_processor_unregister_performance()
791 if (pr->performance) in acpi_processor_unregister_performance()
792 kfree(pr->performance->states); in acpi_processor_unregister_performance()
793 pr->performance = NULL; in acpi_processor_unregister_performance()