[PATCH] ACPI: Do not touch legacy irq in Hardware Reduced ACPI mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From 3a60407725e92bbb05e4d723863fe4bd810bdc5e Mon Sep 17 00:00:00 2001
From: Zhang Rui <rui.zhang@xxxxxxxxx>
Date: Tue, 25 Sep 2012 09:31:08 +0800
Subject: [PATCH] Do not touch legacy irq in Hardware Reduced ACPI mode

In Hardware Reduced ACPI mode, there is neither SCI nor legacy IRQ,
thus we should not touch any of these.

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
---
 arch/x86/kernel/acpi/boot.c |   11 ++++++++++-
 drivers/acpi/pci_link.c     |    3 +++
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index b2297e5..f44648f 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -373,6 +373,10 @@ acpi_parse_ioapic(struct acpi_subtable_header * header, const unsigned long end)
  */
 static void __init acpi_sci_ioapic_setup(u8 bus_irq, u16 polarity, u16 trigger, u32 gsi)
 {
+	/* No SCI in Hardware Reduced Mode */
+	if (acpi_gbl_reduced_hardware)
+		return;
+
 	if (trigger == 0)	/* compatible SCI trigger is level */
 		trigger = 3;
 
@@ -992,6 +996,10 @@ void __init mp_config_acpi_legacy_irqs(void)
 	int i;
 	struct mpc_intsrc mp_irq;
 
+	/* No legacy IRQ in Hardware Reduced Mode */
+	if (acpi_gbl_reduced_hardware)
+		return;
+
 #ifdef CONFIG_EISA
 	/*
 	 * Fabricate the legacy ISA bus (bus #31).
@@ -1109,7 +1117,8 @@ int mp_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
 		return gsi;
 
 	/* Don't set up the ACPI SCI because it's already set up */
-	if (acpi_gbl_FADT.sci_interrupt == gsi)
+	if (!acpi_gbl_reduced_hardware &&
+	    acpi_gbl_FADT.sci_interrupt == gsi)
 		return gsi;
 
 	ioapic = mp_find_ioapic(gsi);
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index a128082..95ce198 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -481,6 +481,9 @@ int __init acpi_irq_penalty_init(void)
 	struct acpi_pci_link *link;
 	int i;
 
+	/* No irq penalty in Hardware Reduced Mode */
+	if (acpi_gbl_reduced_hardware)
+		return 0;
 	/*
 	 * Update penalties to facilitate IRQ balancing.
 	 */
-- 
1.7.7.6



--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux