aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2017-12-15 16:25:10 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-12-28 06:36:46 -0500
commit4565c4f6056967ee8844fa550e3cbbe1c0e65a11 (patch)
tree25d906a4b9d93ece01c6c40c07b2b56511da4e7b
parent220580fb0d0a71cff0f17c24463c787f43dd6626 (diff)
ACPI / x86: boot: Use INVALID_ACPI_IRQ instead of 0 for acpi_sci_override_gsi
0 is valid hardware interrupt which might be in some cases overridden. Due to this, switch to INVALID_ACPI_IRQ to mark SCI override not set. While here, change the type of the variable from int to u32 to match the GSI type used in the rest of the code. 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/include/asm/acpi.h2
-rw-r--r--arch/x86/kernel/acpi/boot.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index 8d0ec9df1cbe..44f5d79d5105 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -49,7 +49,7 @@ extern int acpi_fix_pin2_polarity;
49extern int acpi_disable_cmcff; 49extern int acpi_disable_cmcff;
50 50
51extern u8 acpi_sci_flags; 51extern u8 acpi_sci_flags;
52extern int acpi_sci_override_gsi; 52extern u32 acpi_sci_override_gsi;
53void acpi_pic_sci_set_trigger(unsigned int, u16); 53void acpi_pic_sci_set_trigger(unsigned int, u16);
54 54
55struct device; 55struct device;
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 56752b48e480..5a12cadbf019 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -68,8 +68,9 @@ int acpi_ioapic;
68int acpi_strict; 68int acpi_strict;
69int acpi_disable_cmcff; 69int acpi_disable_cmcff;
70 70
71/* ACPI SCI override configuration */
71u8 acpi_sci_flags __initdata; 72u8 acpi_sci_flags __initdata;
72int acpi_sci_override_gsi __initdata; 73u32 acpi_sci_override_gsi __initdata = INVALID_ACPI_IRQ;
73int acpi_skip_timer_override __initdata; 74int acpi_skip_timer_override __initdata;
74int acpi_use_timer_override __initdata; 75int acpi_use_timer_override __initdata;
75int acpi_fix_pin2_polarity __initdata; 76int acpi_fix_pin2_polarity __initdata;
@@ -1209,7 +1210,7 @@ static int __init acpi_parse_madt_ioapic_entries(void)
1209 * 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
1210 * pretend we got one so we can set the SCI flags. 1211 * pretend we got one so we can set the SCI flags.
1211 */ 1212 */
1212 if (!acpi_sci_override_gsi) 1213 if (acpi_sci_override_gsi == INVALID_ACPI_IRQ)
1213 acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0, 1214 acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0,
1214 acpi_gbl_FADT.sci_interrupt); 1215 acpi_gbl_FADT.sci_interrupt);
1215 1216