diff options
Diffstat (limited to 'drivers/acpi/processor_perflib.c')
-rw-r--r-- | drivers/acpi/processor_perflib.c | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/drivers/acpi/processor_perflib.c b/drivers/acpi/processor_perflib.c index cbb6f0814ce2..058f13cf3b79 100644 --- a/drivers/acpi/processor_perflib.c +++ b/drivers/acpi/processor_perflib.c | |||
@@ -352,31 +352,24 @@ int acpi_processor_notify_smm(struct module *calling_module) | |||
352 | 352 | ||
353 | is_done = -EIO; | 353 | is_done = -EIO; |
354 | 354 | ||
355 | /* Can't write pstate_cnt to smi_cmd if either value is zero */ | 355 | /* Can't write pstate_control to smi_command if either value is zero */ |
356 | if ((!acpi_fadt.smi_cmd) || (!acpi_fadt.pstate_cnt)) { | 356 | if ((!acpi_gbl_FADT.smi_command) || (!acpi_gbl_FADT.pstate_control)) { |
357 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No SMI port or pstate_cnt\n")); | 357 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, "No SMI port or pstate_control\n")); |
358 | module_put(calling_module); | 358 | module_put(calling_module); |
359 | return 0; | 359 | return 0; |
360 | } | 360 | } |
361 | 361 | ||
362 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | 362 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, |
363 | "Writing pstate_cnt [0x%x] to smi_cmd [0x%x]\n", | 363 | "Writing pstate_control [0x%x] to smi_command [0x%x]\n", |
364 | acpi_fadt.pstate_cnt, acpi_fadt.smi_cmd)); | 364 | acpi_gbl_FADT.pstate_control, acpi_gbl_FADT.smi_command)); |
365 | 365 | ||
366 | /* FADT v1 doesn't support pstate_cnt, many BIOS vendors use | 366 | status = acpi_os_write_port(acpi_gbl_FADT.smi_command, |
367 | * it anyway, so we need to support it... */ | 367 | (u32) acpi_gbl_FADT.pstate_control, 8); |
368 | if (acpi_fadt_is_v1) { | ||
369 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | ||
370 | "Using v1.0 FADT reserved value for pstate_cnt\n")); | ||
371 | } | ||
372 | |||
373 | status = acpi_os_write_port(acpi_fadt.smi_cmd, | ||
374 | (u32) acpi_fadt.pstate_cnt, 8); | ||
375 | if (ACPI_FAILURE(status)) { | 368 | if (ACPI_FAILURE(status)) { |
376 | ACPI_EXCEPTION((AE_INFO, status, | 369 | ACPI_EXCEPTION((AE_INFO, status, |
377 | "Failed to write pstate_cnt [0x%x] to " | 370 | "Failed to write pstate_control [0x%x] to " |
378 | "smi_cmd [0x%x]", acpi_fadt.pstate_cnt, | 371 | "smi_command [0x%x]", acpi_gbl_FADT.pstate_control, |
379 | acpi_fadt.smi_cmd)); | 372 | acpi_gbl_FADT.smi_command)); |
380 | module_put(calling_module); | 373 | module_put(calling_module); |
381 | return status; | 374 | return status; |
382 | } | 375 | } |