From: Len Brown <lenb@kernel.org> To: linux-acpi@vger.kernel.org, linux-pm@lists.linux-foundation.org Cc: Len Brown <len.brown@intel.com>, linux-kernel@vger.kernel.org Subject: [PATCH 3/8] ACPI: Make acpi_skip_timer_override cover all source_irq==0 cases Date: Sat, 30 Jun 2012 01:07:30 -0400 [thread overview] Message-ID: <ae10ccdc3093486f8c2369d227583f9d79f628e5.1341032550.git.len.brown@intel.com> (raw) In-Reply-To: <1341032855-27139-1-git-send-email-lenb@kernel.org> In-Reply-To: <9f132652d94c96476b0b0a8caf0c10e96ab10fa8.1341032550.git.len.brown@intel.com> From: Feng Tang <feng.tang@intel.com> Currently when acpi_skip_timer_override is set, it only cover the (source_irq == 0 && global_irq == 2) cases. While there is also platform which need use this option and its global_irq is not 2. This patch will extend acpi_skip_timer_override to cover all timer overriding cases as long as the source irq is 0. This is the first part of a fix to kernel bug bugzilla 40002: "IRQ 0 assigned to VGA" https://bugzilla.kernel.org/show_bug.cgi?id=40002 Reported-and-tested-by: Szymon Kowalczyk <fazerxlo@o2.pl> Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> --- arch/x86/kernel/acpi/boot.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 8afb693..e7c698e 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -422,12 +422,14 @@ acpi_parse_int_src_ovr(struct acpi_subtable_header * header, return 0; } - if (intsrc->source_irq == 0 && intsrc->global_irq == 2) { + if (intsrc->source_irq == 0) { if (acpi_skip_timer_override) { - printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n"); + printk(PREFIX "BIOS IRQ0 override ignored.\n"); return 0; } - if (acpi_fix_pin2_polarity && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) { + + if ((intsrc->global_irq == 2) && acpi_fix_pin2_polarity + && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) { intsrc->inti_flags &= ~ACPI_MADT_POLARITY_MASK; printk(PREFIX "BIOS IRQ0 pin2 override: forcing polarity to high active.\n"); } @@ -1334,7 +1336,7 @@ static int __init dmi_disable_acpi(const struct dmi_system_id *d) } /* - * Force ignoring BIOS IRQ0 pin2 override + * Force ignoring BIOS IRQ0 override */ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) { @@ -1344,7 +1346,7 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) */ if (!acpi_skip_timer_override) { WARN(1, KERN_ERR "ati_ixp4x0 quirk not complete.\n"); - pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", + pr_notice("%s detected: Ignoring BIOS IRQ0 override\n", d->ident); acpi_skip_timer_override = 1; } @@ -1438,7 +1440,7 @@ static struct dmi_system_id __initdata acpi_dmi_table_late[] = { * is enabled. This input is incorrectly designated the * ISA IRQ 0 via an interrupt source override even though * it is wired to the output of the master 8259A and INTIN0 - * is not connected at all. Force ignoring BIOS IRQ0 pin2 + * is not connected at all. Force ignoring BIOS IRQ0 * override in that cases. */ { -- 1.7.11.1.104.ge7b44f1
WARNING: multiple messages have this Message-ID (diff)
From: Len Brown <lenb@kernel.org> To: linux-acpi@vger.kernel.org, linux-pm@lists.linux-foundation.org Cc: linux-kernel@vger.kernel.org, Feng Tang <feng.tang@intel.com>, Len Brown <len.brown@intel.com> Subject: [PATCH 3/8] ACPI: Make acpi_skip_timer_override cover all source_irq==0 cases Date: Sat, 30 Jun 2012 01:07:30 -0400 [thread overview] Message-ID: <ae10ccdc3093486f8c2369d227583f9d79f628e5.1341032550.git.len.brown@intel.com> (raw) In-Reply-To: <1341032855-27139-1-git-send-email-lenb@kernel.org> In-Reply-To: <9f132652d94c96476b0b0a8caf0c10e96ab10fa8.1341032550.git.len.brown@intel.com> From: Feng Tang <feng.tang@intel.com> Currently when acpi_skip_timer_override is set, it only cover the (source_irq == 0 && global_irq == 2) cases. While there is also platform which need use this option and its global_irq is not 2. This patch will extend acpi_skip_timer_override to cover all timer overriding cases as long as the source irq is 0. This is the first part of a fix to kernel bug bugzilla 40002: "IRQ 0 assigned to VGA" https://bugzilla.kernel.org/show_bug.cgi?id=40002 Reported-and-tested-by: Szymon Kowalczyk <fazerxlo@o2.pl> Signed-off-by: Feng Tang <feng.tang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> --- arch/x86/kernel/acpi/boot.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 8afb693..e7c698e 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -422,12 +422,14 @@ acpi_parse_int_src_ovr(struct acpi_subtable_header * header, return 0; } - if (intsrc->source_irq == 0 && intsrc->global_irq == 2) { + if (intsrc->source_irq == 0) { if (acpi_skip_timer_override) { - printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n"); + printk(PREFIX "BIOS IRQ0 override ignored.\n"); return 0; } - if (acpi_fix_pin2_polarity && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) { + + if ((intsrc->global_irq == 2) && acpi_fix_pin2_polarity + && (intsrc->inti_flags & ACPI_MADT_POLARITY_MASK)) { intsrc->inti_flags &= ~ACPI_MADT_POLARITY_MASK; printk(PREFIX "BIOS IRQ0 pin2 override: forcing polarity to high active.\n"); } @@ -1334,7 +1336,7 @@ static int __init dmi_disable_acpi(const struct dmi_system_id *d) } /* - * Force ignoring BIOS IRQ0 pin2 override + * Force ignoring BIOS IRQ0 override */ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) { @@ -1344,7 +1346,7 @@ static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d) */ if (!acpi_skip_timer_override) { WARN(1, KERN_ERR "ati_ixp4x0 quirk not complete.\n"); - pr_notice("%s detected: Ignoring BIOS IRQ0 pin2 override\n", + pr_notice("%s detected: Ignoring BIOS IRQ0 override\n", d->ident); acpi_skip_timer_override = 1; } @@ -1438,7 +1440,7 @@ static struct dmi_system_id __initdata acpi_dmi_table_late[] = { * is enabled. This input is incorrectly designated the * ISA IRQ 0 via an interrupt source override even though * it is wired to the output of the master 8259A and INTIN0 - * is not connected at all. Force ignoring BIOS IRQ0 pin2 + * is not connected at all. Force ignoring BIOS IRQ0 * override in that cases. */ { -- 1.7.11.1.104.ge7b44f1
next prev parent reply other threads:[~2012-06-30 5:07 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-06-30 5:07 ACPI & Power Management Patches for Linux 3.5-rc4 Len Brown 2012-06-30 5:07 ` [PATCH 1/8] ACPI sysfs.c strlen fix Len Brown 2012-06-30 5:07 ` [PATCH 2/8] ACPI, x86: fix Dell M6600 ACPI reboot regression via DMI Len Brown 2012-06-30 5:07 ` Len Brown 2012-07-06 11:09 ` Ingo Molnar 2012-06-30 5:07 ` Len Brown [this message] 2012-06-30 5:07 ` [PATCH 3/8] ACPI: Make acpi_skip_timer_override cover all source_irq==0 cases Len Brown 2012-06-30 5:07 ` [PATCH 4/8] ACPI: Remove one board specific WARN when ignoring timer overriding Len Brown 2012-06-30 5:07 ` Len Brown 2012-06-30 5:07 ` [PATCH 5/8] ACPI: Add a quirk for "AMILO PRO V2030" to ignore the " Len Brown 2012-06-30 5:07 ` Len Brown 2012-06-30 5:07 ` [PATCH 6/8] ACPI, APEI, Avoid too much error reporting in runtime Len Brown 2012-06-30 5:07 ` Len Brown 2012-06-30 5:07 ` [PATCH 7/8] ACPI video: Still use ACPI backlight control if _DOS doesn't exist Len Brown 2012-06-30 5:07 ` [PATCH 8/8] acpi_pad: fix power_saving thread deadlock Len Brown 2012-06-30 5:07 ` Len Brown 2012-06-30 14:25 ` [PATCH 1/8] ACPI sysfs.c strlen fix Alan Stern 2012-06-30 14:25 ` [linux-pm] " Alan Stern 2012-07-27 1:39 ` [PATCH] ACPI: replace strlen("string") with sizeof("string") -1 Len Brown 2012-07-27 1:39 ` Len Brown 2012-07-30 14:26 ` Ian Campbell 2012-07-30 14:41 ` richard -rw- weinberger 2012-08-06 10:21 ` [linux-pm] " Pavel Machek 2012-08-06 14:36 ` Alan Stern 2012-08-06 14:36 ` [linux-pm] " Alan Stern 2012-08-06 16:00 ` Pavel Vasilyev 2012-08-06 16:28 ` Alan Stern 2012-08-06 16:28 ` [linux-pm] " Alan Stern 2012-08-06 18:47 ` Pavel Vasilyev 2012-08-06 19:59 ` Alan Stern 2012-08-06 19:59 ` [linux-pm] " Alan Stern 2012-08-06 22:57 ` Daniel Taylor 2012-08-06 22:57 ` Daniel Taylor 2012-08-07 13:19 ` Bernd Petrovitsch 2012-08-07 13:19 ` [linux-pm] " Bernd Petrovitsch 2012-08-08 0:59 ` Daniel Taylor 2012-08-08 0:59 ` Daniel Taylor 2012-08-07 1:07 ` Pavel Vasilyev 2012-08-07 1:07 ` Pavel Vasilyev 2012-08-07 17:24 ` Alan Stern 2012-08-07 17:24 ` [linux-pm] " Alan Stern 2012-08-07 23:23 ` Pavel Vasilyev 2012-08-08 1:27 ` Alan Stern 2012-08-08 1:27 ` Alan Stern 2012-08-06 10:26 ` Andreas Schwab
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=ae10ccdc3093486f8c2369d227583f9d79f628e5.1341032550.git.len.brown@intel.com \ --to=lenb@kernel.org \ --cc=len.brown@intel.com \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@lists.linux-foundation.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: linkBe 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.