All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
	linux-pm@vger.kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	Hanjun Guo <guohanjun@huawei.com>,
	linux-acpi@vger.kernel.org,
	Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Subject: [PATCH v3 5/5] ACPI / boot: Don't handle SCI on HW reduced platforms
Date: Tue, 18 Jul 2017 18:04:20 +0300	[thread overview]
Message-ID: <20170718150420.61600-6-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20170718150420.61600-1-andriy.shevchenko@linux.intel.com>

As per note in 5.2.9 Fixed ACPI Description Table (FADT) chapter of ACPI
specification OSPM will 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 HW reduced platform.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 arch/x86/kernel/acpi/boot.c | 4 ++--
 drivers/acpi/bus.c          | 2 +-
 drivers/acpi/osl.c          | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 71c0feae60a4..c767efa53ee0 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -489,7 +489,7 @@ acpi_parse_int_src_ovr(struct acpi_subtable_header * header,
 
 	acpi_table_print_madt_entry(header);
 
-	if (intsrc->source_irq == acpi_gbl_FADT.sci_interrupt) {
+	if (intsrc->source_irq == acpi_gbl_FADT.sci_interrupt && !acpi_gbl_reduced_hardware) {
 		acpi_sci_ioapic_setup(intsrc->source_irq,
 				      intsrc->inti_flags & ACPI_MADT_POLARITY_MASK,
 				      (intsrc->inti_flags & ACPI_MADT_TRIGGER_MASK) >> 2,
@@ -1184,7 +1184,7 @@ static int __init acpi_parse_madt_ioapic_entries(void)
 	 * If BIOS did not supply an INT_SRC_OVR for the SCI
 	 * pretend we got one so we can set the SCI flags.
 	 */
-	if (!acpi_sci_override_gsi)
+	if (!acpi_sci_override_gsi && !acpi_gbl_reduced_hardware)
 		acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0,
 				      acpi_gbl_FADT.sci_interrupt);
 
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index af74b420ec83..1f3dde3bc8f8 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1035,7 +1035,7 @@ void __init acpi_early_init(void)
 	}
 
 #ifdef CONFIG_X86
-	if (!acpi_ioapic) {
+	if (!acpi_ioapic && !acpi_gbl_reduced_hardware) {
 		/* compatible (0) means level (3) */
 		if (!(acpi_sci_flags & ACPI_MADT_TRIGGER_MASK)) {
 			acpi_sci_flags &= ~ACPI_MADT_TRIGGER_MASK;
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index db78d353bab1..4d84118a000b 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -553,7 +553,7 @@ acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler,
 	 * ACPI interrupts different from the SCI in our copy of the FADT are
 	 * not supported.
 	 */
-	if (gsi != acpi_gbl_FADT.sci_interrupt)
+	if (gsi != acpi_gbl_FADT.sci_interrupt || acpi_gbl_reduced_hardware)
 		return AE_BAD_PARAMETER;
 
 	if (acpi_irq_handler)
-- 
2.11.0


  parent reply	other threads:[~2017-07-18 15:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-18 15:04 [PATCH v3 0/5] ACPI / boot: Few amendments Andy Shevchenko
2017-07-18 15:04 ` [PATCH v3 1/5] ACPI / boot: Don't define unused variables Andy Shevchenko
2017-07-18 15:04 ` [PATCH v3 2/5] ACPI / boot: Correct address space of __acpi_map_table() Andy Shevchenko
2017-07-19 13:06   ` [patch v3 2/5] acpi / boot: correct " yury norov
2017-07-19 13:40     ` Yury Norov
2017-07-19 13:56       ` Andy Shevchenko
2017-07-18 15:04 ` [PATCH v3 3/5] ACPI / boot: Add number of legacy IRQs to debug output Andy Shevchenko
2017-07-18 15:04 ` [PATCH v3 4/5] ACPI / boot: Not all platform require acpi_reduced_hw_init() Andy Shevchenko
2017-07-21 22:25   ` Rafael J. Wysocki
2017-07-22  1:53     ` Andy Shevchenko
2017-07-22 22:02       ` Rafael J. Wysocki
2017-07-22 22:13         ` Andy Shevchenko
2017-07-22 22:14           ` Rafael J. Wysocki
2017-07-26 18:53             ` Rafael J. Wysocki
2017-07-18 15:04 ` Andy Shevchenko [this message]
2017-07-21 22:28   ` [PATCH v3 5/5] ACPI / boot: Don't handle SCI on HW reduced platforms Rafael J. Wysocki
2017-07-22  1:52     ` Andy Shevchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170718150420.61600-6-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=geert@linux-m68k.org \
    --cc=guohanjun@huawei.com \
    --cc=hpa@zytor.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.