diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2009-10-15 21:20:41 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-11-06 01:58:07 -0500 |
commit | d81c45e1c9369855901420f79114852eba2ea16a (patch) | |
tree | 910e9b4044bee76568c9eaeff70aac2fbc2385ab /drivers/acpi/processor_core.c | |
parent | b419148e567728f6af0c3b01965c1cc141e3e13a (diff) |
ACPI: Notify the _PPC evaluation status to the platform
According to the ACPI spec(section 8.4.4.3) OSPM should convey the _PPC
evaluations status to the platform if there exists the _OST object.
The _OST contains two arguments:
The first is the PERFORMANCE notificatin event.
The second is the status of _PPC object.
OSPM will convey the _PPC evaluation status to the platform.
Of course when the module parameter of "ignore_ppc" is added, OSPM won't
evaluate the _PPC object. But it will call the _OST object.
At the same time the _OST object will be evaluated only when the PERFORMANCE
notification event is received.
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/processor_core.c')
-rw-r--r-- | drivers/acpi/processor_core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index c567b46dfa0f..773d7e76f301 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c | |||
@@ -722,7 +722,7 @@ static void acpi_processor_notify(struct acpi_device *device, u32 event) | |||
722 | switch (event) { | 722 | switch (event) { |
723 | case ACPI_PROCESSOR_NOTIFY_PERFORMANCE: | 723 | case ACPI_PROCESSOR_NOTIFY_PERFORMANCE: |
724 | saved = pr->performance_platform_limit; | 724 | saved = pr->performance_platform_limit; |
725 | acpi_processor_ppc_has_changed(pr); | 725 | acpi_processor_ppc_has_changed(pr, 1); |
726 | if (saved == pr->performance_platform_limit) | 726 | if (saved == pr->performance_platform_limit) |
727 | break; | 727 | break; |
728 | acpi_bus_generate_proc_event(device, event, | 728 | acpi_bus_generate_proc_event(device, event, |
@@ -758,7 +758,7 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb, | |||
758 | struct acpi_processor *pr = per_cpu(processors, cpu); | 758 | struct acpi_processor *pr = per_cpu(processors, cpu); |
759 | 759 | ||
760 | if (action == CPU_ONLINE && pr) { | 760 | if (action == CPU_ONLINE && pr) { |
761 | acpi_processor_ppc_has_changed(pr); | 761 | acpi_processor_ppc_has_changed(pr, 0); |
762 | acpi_processor_cst_has_changed(pr); | 762 | acpi_processor_cst_has_changed(pr); |
763 | acpi_processor_tstate_has_changed(pr); | 763 | acpi_processor_tstate_has_changed(pr); |
764 | } | 764 | } |
@@ -830,7 +830,7 @@ static int acpi_processor_add(struct acpi_device *device) | |||
830 | arch_acpi_processor_cleanup_pdc(pr); | 830 | arch_acpi_processor_cleanup_pdc(pr); |
831 | 831 | ||
832 | #ifdef CONFIG_CPU_FREQ | 832 | #ifdef CONFIG_CPU_FREQ |
833 | acpi_processor_ppc_has_changed(pr); | 833 | acpi_processor_ppc_has_changed(pr, 0); |
834 | #endif | 834 | #endif |
835 | acpi_processor_get_throttling_info(pr); | 835 | acpi_processor_get_throttling_info(pr); |
836 | acpi_processor_get_limit_info(pr); | 836 | acpi_processor_get_limit_info(pr); |