[PATCH v6 4/6] ACPI: in HW reduced mode, using FADT PM information is not allowed.
From: Rafael J. Wysocki <hidden>
Date: 2014-01-10 23:31:00
Also in:
linux-acpi
On Friday, January 10, 2014 03:52:18 PM al.stone at linaro.org wrote:
From: Al Stone <redacted> Per the ACPI 5.0 specification, section 5.2.9, none of the power management fields in the FADT are to be used. Short-circuit using any of those fields in acpi_processor_get_power_info_fadt().
So the spec says that we're supposed to ignore the information in certain FADT fields if the HW_REDUCED_ACPI flag is set. However, what about systems in which that information is actually valid even though HW_REDUCED_ACPI is set? Does it break things if we attempt to use that information?
quoted hunk ↗ jump to hunk
Signed-off-by: Al Stone <redacted> --- drivers/acpi/processor_idle.c | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index eac984a..89f0a0f 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c@@ -270,6 +270,14 @@ static int acpi_processor_get_power_info_fadt(struct acpi_processor *pr) if (!pr->pblk) return -ENODEV; + /* + * Using power management information from the FADT is not + * allowed when in HW reduced mode. See ACPI 5.0, section + * 5.2.9. + */ + if (acpi_gbl_reduced_hardware) + return -ENODEV; + /* if info is obtained from pblk/fadt, type equals state */ pr->power.states[ACPI_STATE_C2].type = ACPI_STATE_C2; pr->power.states[ACPI_STATE_C3].type = ACPI_STATE_C3;
-- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center.