diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2007-11-15 17:05:46 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-11-16 21:45:39 -0500 |
commit | 0ac3c571315a53c14d2733564f14ebdb911fe903 (patch) | |
tree | 4c33b0f9935d0f50de10674abba54b4361cd52ee /drivers/acpi/processor_core.c | |
parent | 9bcb27217344c2c1389db3983a436e19484c2f50 (diff) | |
download | linux-stable-0ac3c571315a53c14d2733564f14ebdb911fe903.tar.gz linux-stable-0ac3c571315a53c14d2733564f14ebdb911fe903.tar.bz2 linux-stable-0ac3c571315a53c14d2733564f14ebdb911fe903.zip |
ACPI: Get throttling info from BIOS only after evaluating _PDC
Previously _PDC was evaluated later, and thus we'd not get
the chance to tell the BIOS that we can suport FixedHW registers (MSRs)
and the BIOS would always ask us to use System I/O access
for throttling.
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Li Shaohua <shaohua.li@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 | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 235a51e328c3..e93318bb029e 100644 --- a/drivers/acpi/processor_core.c +++ b/drivers/acpi/processor_core.c @@ -612,12 +612,6 @@ static int acpi_processor_get_info(struct acpi_processor *pr, unsigned has_uid) request_region(pr->throttling.address, 6, "ACPI CPU throttle"); } -#ifdef CONFIG_CPU_FREQ - acpi_processor_ppc_has_changed(pr); -#endif - acpi_processor_get_throttling_info(pr); - acpi_processor_get_limit_info(pr); - return 0; } @@ -665,6 +659,12 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device) /* _PDC call should be done before doing anything else (if reqd.). */ arch_acpi_processor_init_pdc(pr); acpi_processor_set_pdc(pr); +#ifdef CONFIG_CPU_FREQ + acpi_processor_ppc_has_changed(pr); +#endif + acpi_processor_get_throttling_info(pr); + acpi_processor_get_limit_info(pr); + acpi_processor_power_init(pr, device); |