diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-12-15 16:25:11 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-12-28 06:36:46 -0500 |
commit | 7c7bcfeae2d8e59066bd273b7d70392574e14c15 (patch) | |
tree | 42e3a2b3aee99b4ddfd4d702be06b42d811d9062 | |
parent | 4565c4f6056967ee8844fa550e3cbbe1c0e65a11 (diff) |
ACPI / x86: boot: Don't setup SCI on HW-reduced platforms
As per note in 5.2.9 Fixed ACPI Description Table (FADT) chapter of ACPI
specification, on HW-reduced platforma OSPM should ignore fields related
to the ACPI HW register interface, one of which is SCI_INT.
Follow the spec and ignore any configuration done for interrupt line
defined by SCI_INT if FADT specifies a HW-reduced platform.
HW-reduced platforms will still be able to use SCI in case it provides
an override record in MADT table.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | arch/x86/kernel/acpi/boot.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 5a12cadbf019..4bf004bab4b2 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
@@ -1209,8 +1209,9 @@ static int __init acpi_parse_madt_ioapic_entries(void) | |||
1209 | /* | 1209 | /* |
1210 | * If BIOS did not supply an INT_SRC_OVR for the SCI | 1210 | * If BIOS did not supply an INT_SRC_OVR for the SCI |
1211 | * pretend we got one so we can set the SCI flags. | 1211 | * pretend we got one so we can set the SCI flags. |
1212 | * But ignore setting up SCI on hardware reduced platforms. | ||
1212 | */ | 1213 | */ |
1213 | if (acpi_sci_override_gsi == INVALID_ACPI_IRQ) | 1214 | if (acpi_sci_override_gsi == INVALID_ACPI_IRQ && !acpi_gbl_reduced_hardware) |
1214 | acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0, | 1215 | acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0, |
1215 | acpi_gbl_FADT.sci_interrupt); | 1216 | acpi_gbl_FADT.sci_interrupt); |
1216 | 1217 | ||