Lines Matching refs:pr
75 struct acpi_processor *pr; in acpi_processor_ppc_notifier() local
91 pr = per_cpu(processors, policy->cpu); in acpi_processor_ppc_notifier()
92 if (!pr || !pr->performance) in acpi_processor_ppc_notifier()
95 ppc = (unsigned int)pr->performance_platform_limit; in acpi_processor_ppc_notifier()
97 if (ppc >= pr->performance->state_count) in acpi_processor_ppc_notifier()
101 pr->performance->states[ppc]. in acpi_processor_ppc_notifier()
114 static int acpi_processor_get_platform_limit(struct acpi_processor *pr) in acpi_processor_get_platform_limit() argument
120 if (!pr) in acpi_processor_get_platform_limit()
127 status = acpi_evaluate_integer(pr->handle, "_PPC", NULL, &ppc); in acpi_processor_get_platform_limit()
137 pr_debug("CPU %d: _PPC is %d - frequency %s limited\n", pr->id, in acpi_processor_get_platform_limit()
140 pr->performance_platform_limit = (int)ppc; in acpi_processor_get_platform_limit()
160 int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag) in acpi_processor_ppc_has_changed() argument
170 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
174 ret = acpi_processor_get_platform_limit(pr); in acpi_processor_ppc_has_changed()
181 acpi_processor_ppc_ost(pr->handle, 1); in acpi_processor_ppc_has_changed()
183 acpi_processor_ppc_ost(pr->handle, 0); in acpi_processor_ppc_has_changed()
188 return cpufreq_update_policy(pr->id); in acpi_processor_ppc_has_changed()
193 struct acpi_processor *pr; in acpi_processor_get_bios_limit() local
195 pr = per_cpu(processors, cpu); in acpi_processor_get_bios_limit()
196 if (!pr || !pr->performance || !pr->performance->state_count) in acpi_processor_get_bios_limit()
198 *limit = pr->performance->states[pr->performance_platform_limit]. in acpi_processor_get_bios_limit()
223 static int acpi_processor_get_performance_control(struct acpi_processor *pr) in acpi_processor_get_performance_control() argument
232 status = acpi_evaluate_object(pr->handle, "_PCT", NULL, &buffer); in acpi_processor_get_performance_control()
259 memcpy(&pr->performance->control_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
276 memcpy(&pr->performance->status_register, obj.buffer.pointer, in acpi_processor_get_performance_control()
320 static int acpi_processor_get_performance_states(struct acpi_processor *pr) in acpi_processor_get_performance_states() argument
332 status = acpi_evaluate_object(pr->handle, "_PSS", NULL, &buffer); in acpi_processor_get_performance_states()
348 pr->performance->state_count = pss->package.count; in acpi_processor_get_performance_states()
349 pr->performance->states = in acpi_processor_get_performance_states()
352 if (!pr->performance->states) { in acpi_processor_get_performance_states()
357 for (i = 0; i < pr->performance->state_count; i++) { in acpi_processor_get_performance_states()
359 struct acpi_processor_px *px = &(pr->performance->states[i]); in acpi_processor_get_performance_states()
371 kfree(pr->performance->states); in acpi_processor_get_performance_states()
394 pr->id, px->core_frequency); in acpi_processor_get_performance_states()
402 memcpy(&(pr->performance->states[last_invalid]), in acpi_processor_get_performance_states()
411 "No valid BIOS _PSS frequency found for processor %d\n", pr->id); in acpi_processor_get_performance_states()
413 kfree(pr->performance->states); in acpi_processor_get_performance_states()
414 pr->performance->states = NULL; in acpi_processor_get_performance_states()
418 pr->performance->state_count = last_invalid; in acpi_processor_get_performance_states()
426 int acpi_processor_get_performance_info(struct acpi_processor *pr) in acpi_processor_get_performance_info() argument
430 if (!pr || !pr->performance || !pr->handle) in acpi_processor_get_performance_info()
433 if (!acpi_has_method(pr->handle, "_PCT")) { in acpi_processor_get_performance_info()
439 result = acpi_processor_get_performance_control(pr); in acpi_processor_get_performance_info()
443 result = acpi_processor_get_performance_states(pr); in acpi_processor_get_performance_info()
449 result = acpi_processor_get_platform_limit(pr); in acpi_processor_get_performance_info()
459 if (acpi_has_method(pr->handle, "_PPC")) { in acpi_processor_get_performance_info()
529 static int acpi_processor_get_psd(struct acpi_processor *pr) in acpi_processor_get_psd() argument
539 status = acpi_evaluate_object(pr->handle, "_PSD", NULL, &buffer); in acpi_processor_get_psd()
557 pdomain = &(pr->performance->domain_info); in acpi_processor_get_psd()
601 struct acpi_processor *pr; in acpi_processor_preregister_performance() local
616 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
617 if (!pr) { in acpi_processor_preregister_performance()
622 if (pr->performance) { in acpi_processor_preregister_performance()
635 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
636 if (!pr) in acpi_processor_preregister_performance()
639 pr->performance = per_cpu_ptr(performance, i); in acpi_processor_preregister_performance()
640 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
641 if (acpi_processor_get_psd(pr)) { in acpi_processor_preregister_performance()
654 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
655 if (!pr) in acpi_processor_preregister_performance()
661 pdomain = &(pr->performance->domain_info); in acpi_processor_preregister_performance()
662 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
670 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL; in acpi_processor_preregister_performance()
672 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_HW; in acpi_processor_preregister_performance()
674 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ANY; in acpi_processor_preregister_performance()
701 cpumask_set_cpu(j, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
717 pr->performance->shared_type; in acpi_processor_preregister_performance()
719 pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
725 pr = per_cpu(processors, i); in acpi_processor_preregister_performance()
726 if (!pr || !pr->performance) in acpi_processor_preregister_performance()
731 cpumask_clear(pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
732 cpumask_set_cpu(i, pr->performance->shared_cpu_map); in acpi_processor_preregister_performance()
733 pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL; in acpi_processor_preregister_performance()
735 pr->performance = NULL; /* Will be set for real in register */ in acpi_processor_preregister_performance()
749 struct acpi_processor *pr; in acpi_processor_register_performance() local
756 pr = per_cpu(processors, cpu); in acpi_processor_register_performance()
757 if (!pr) { in acpi_processor_register_performance()
762 if (pr->performance) { in acpi_processor_register_performance()
769 pr->performance = performance; in acpi_processor_register_performance()
771 if (acpi_processor_get_performance_info(pr)) { in acpi_processor_register_performance()
772 pr->performance = NULL; in acpi_processor_register_performance()
785 struct acpi_processor *pr; in acpi_processor_unregister_performance() local
789 pr = per_cpu(processors, cpu); in acpi_processor_unregister_performance()
790 if (!pr) { in acpi_processor_unregister_performance()
795 if (pr->performance) in acpi_processor_unregister_performance()
796 kfree(pr->performance->states); in acpi_processor_unregister_performance()
797 pr->performance = NULL; in acpi_processor_unregister_performance()