From: Len Brown <len.brown@intel.com>
To: ross@datscreative.com.au
Cc: christian.kroener@tu-harburg.de, linux-kernel@vger.kernel.org,
"Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Subject: Re: IO-APIC on nforce2 [PATCH]
Date: 13 Apr 2004 21:02:30 -0400 [thread overview]
Message-ID: <1081893978.2251.653.camel@dhcppc4> (raw)
In-Reply-To: <200404131703.09572.ross@datscreative.com.au>
[-- Attachment #1: Type: text/plain, Size: 2294 bytes --]
Re: IRQ0 XT-PIC timer issue
Since the hardware is connected to APIC pin0, it is a BIOS bug
that an ACPI interrupt source override from pin2 to IRQ0 exists.
With this simple 2.6.5 patch you can specify "acpi_skip_timer_override"
to ignore that bogus BIOS directive. The result is with your
ACPI-enabled APIC-enabled kernel, you'll get IRQ0 IO-APIC-edge timer.
Probably there is a more clever way to trigger this workaround
automatcially instead of via boot parameter.
cheers,
-Len
===== Documentation/kernel-parameters.txt 1.44 vs edited =====
--- 1.44/Documentation/kernel-parameters.txt Mon Mar 22 16:03:22 2004
+++ edited/Documentation/kernel-parameters.txt Tue Apr 13 17:47:11 2004
@@ -122,6 +122,10 @@
acpi_serialize [HW,ACPI] force serialization of AML methods
+ acpi_skip_timer_override [HW,ACPI]]
+ Recognize IRQ0/pin2 Interrupt Source Override
+ and ignore it -- for broken nForce2 BIOS.
+
ad1816= [HW,OSS]
Format: <io>,<irq>,<dma>,<dma2>
See also Documentation/sound/oss/AD1816.
===== arch/i386/kernel/setup.c 1.115 vs edited =====
--- 1.115/arch/i386/kernel/setup.c Fri Apr 2 07:21:43 2004
+++ edited/arch/i386/kernel/setup.c Tue Apr 13 17:41:31 2004
@@ -614,6 +614,12 @@
else if (!memcmp(from, "acpi_sci=low", 12))
acpi_sci_flags.polarity = 3;
+ else if (!memcmp(from, "acpi_skip_timer_override", 24)) {
+ extern int acpi_skip_timer_override;
+
+ acpi_skip_timer_override = 1;
+ }
+
#ifdef CONFIG_X86_LOCAL_APIC
/* disable IO-APIC */
else if (!memcmp(from, "noapic", 6))
===== arch/i386/kernel/acpi/boot.c 1.57 vs edited =====
--- 1.57/arch/i386/kernel/acpi/boot.c Tue Mar 30 17:05:19 2004
+++ edited/arch/i386/kernel/acpi/boot.c Tue Apr 13 17:50:14 2004
@@ -62,6 +62,7 @@
acpi_interrupt_flags acpi_sci_flags __initdata;
int acpi_sci_override_gsi __initdata;
+int acpi_skip_timer_override __initdata;
#ifdef CONFIG_X86_LOCAL_APIC
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
@@ -327,6 +328,12 @@
acpi_sci_ioapic_setup(intsrc->global_irq,
intsrc->flags.polarity, intsrc->flags.trigger);
return 0;
+ }
+
+ if (acpi_skip_timer_override &&
+ intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
+ printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
+ return 0;
}
mp_override_legacy_irq (
[-- Attachment #2: wip.patch --]
[-- Type: text/plain, Size: 1806 bytes --]
===== Documentation/kernel-parameters.txt 1.44 vs edited =====
--- 1.44/Documentation/kernel-parameters.txt Mon Mar 22 16:03:22 2004
+++ edited/Documentation/kernel-parameters.txt Tue Apr 13 17:47:11 2004
@@ -122,6 +122,10 @@
acpi_serialize [HW,ACPI] force serialization of AML methods
+ acpi_skip_timer_override [HW,ACPI]]
+ Recognize IRQ0/pin2 Interrupt Source Override
+ and ignore it -- for broken nForce2 BIOS.
+
ad1816= [HW,OSS]
Format: <io>,<irq>,<dma>,<dma2>
See also Documentation/sound/oss/AD1816.
===== arch/i386/kernel/setup.c 1.115 vs edited =====
--- 1.115/arch/i386/kernel/setup.c Fri Apr 2 07:21:43 2004
+++ edited/arch/i386/kernel/setup.c Tue Apr 13 17:41:31 2004
@@ -614,6 +614,12 @@
else if (!memcmp(from, "acpi_sci=low", 12))
acpi_sci_flags.polarity = 3;
+ else if (!memcmp(from, "acpi_skip_timer_override", 24)) {
+ extern int acpi_skip_timer_override;
+
+ acpi_skip_timer_override = 1;
+ }
+
#ifdef CONFIG_X86_LOCAL_APIC
/* disable IO-APIC */
else if (!memcmp(from, "noapic", 6))
===== arch/i386/kernel/acpi/boot.c 1.57 vs edited =====
--- 1.57/arch/i386/kernel/acpi/boot.c Tue Mar 30 17:05:19 2004
+++ edited/arch/i386/kernel/acpi/boot.c Tue Apr 13 17:50:14 2004
@@ -62,6 +62,7 @@
acpi_interrupt_flags acpi_sci_flags __initdata;
int acpi_sci_override_gsi __initdata;
+int acpi_skip_timer_override __initdata;
#ifdef CONFIG_X86_LOCAL_APIC
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
@@ -327,6 +328,12 @@
acpi_sci_ioapic_setup(intsrc->global_irq,
intsrc->flags.polarity, intsrc->flags.trigger);
return 0;
+ }
+
+ if (acpi_skip_timer_override &&
+ intsrc->bus_irq == 0 && intsrc->global_irq == 2) {
+ printk(PREFIX "BIOS IRQ0 pin2 override ignored.\n");
+ return 0;
}
mp_override_legacy_irq (
next prev parent reply other threads:[~2004-04-14 1:02 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-13 1:17 IO-APIC on nforce2 Ross Dickson
2004-04-13 4:01 ` really bensoo_at_soo_dot_com
2004-04-13 4:55 ` Ross Dickson
2004-04-13 17:22 ` Christian Kröner
2004-04-13 21:18 ` really bensoo_at_soo_dot_com
2004-04-14 4:24 ` really bensoo_at_soo_dot_com
2004-04-13 5:08 ` Len Brown
2004-04-13 7:03 ` Ross Dickson
2004-04-13 13:46 ` Maciej W. Rozycki
2004-04-14 1:02 ` Len Brown [this message]
2004-04-14 5:02 ` IO-APIC on nforce2 [PATCH] Ross Dickson
2004-04-14 6:30 ` Jamie Lokier
2004-04-14 10:37 ` Maciej W. Rozycki
2004-04-15 19:28 ` Len Brown
2004-04-14 19:57 ` Christian Kröner
2004-04-15 0:17 ` Len Brown
2004-04-15 1:48 ` Ross Dickson
2004-04-15 17:09 ` Christian Kröner
2004-04-15 15:10 ` IO-APIC on nforce2 [PATCH] + [PATCH] for nmi_debug=1 + [PATCH] for idle=C1halt, 2.6.5 Ross Dickson
2004-04-15 20:17 ` Len Brown
2004-04-15 21:04 ` Craig Bradney
2004-04-21 20:22 ` Len Brown
2004-04-21 20:33 ` Ian Kumlien
2004-04-21 20:45 ` Craig Bradney
2004-04-21 21:28 ` Prakash K. Cheemplavam
2004-04-21 22:41 ` Len Brown
2004-04-22 7:26 ` Prakash K. Cheemplavam
2004-04-22 14:58 ` Len Brown
2004-04-22 8:45 ` Craig Bradney
2004-04-22 15:03 ` Len Brown
2004-04-22 20:50 ` Craig Bradney
2004-04-22 8:50 ` Arjen Verweij
2004-04-22 16:39 ` Jesse Allen
2004-04-22 17:21 ` Len Brown
2004-04-22 21:29 ` Len Brown
2004-04-23 8:48 ` Prakash K. Cheemplavam
2004-04-23 9:01 ` Arjen Verweij
2004-04-23 9:08 ` Prakash K. Cheemplavam
2004-04-23 9:11 ` Prakash K. Cheemplavam
2004-04-23 12:18 ` Maciej W. Rozycki
2004-04-27 7:57 ` ACPI broken on nforce2? Prakash K. Cheemplavam
2004-04-26 11:41 ` IO-APIC on nforce2 [PATCH] + [PATCH] for nmi_debug=1 + [PATCH] for idle=C1halt, 2.6.5 Ross Dickson
2004-04-27 17:02 ` Arjen Verweij
2004-04-27 17:35 ` Ian Kumlien
2004-04-27 18:00 ` Len Brown
2004-04-27 18:24 ` Arjen Verweij
2004-04-27 18:51 ` Jussi Laako
2004-04-28 11:33 ` Ross Dickson
2004-04-28 20:59 ` Jesse Allen
2004-04-29 11:44 ` Ross Dickson
2004-04-29 11:54 ` Maciej W. Rozycki
2004-04-29 12:00 ` Jamie Lokier
2004-04-29 12:26 ` Maciej W. Rozycki
2004-04-29 11:57 ` Jamie Lokier
2004-04-29 12:16 ` Craig Bradney
2004-04-29 20:24 ` Jesse Allen
2004-04-29 20:31 ` Prakash K. Cheemplavam
2004-05-03 20:45 ` Jesse Allen
2004-05-17 15:26 ` Prakash K. Cheemplavam
2004-05-17 19:32 ` Craig Bradney
2004-05-17 19:37 ` Prakash K. Cheemplavam
2004-05-17 19:57 ` Craig Bradney
2004-04-27 21:31 ` Prakash K. Cheemplavam
2004-04-28 11:26 ` Prakash K. Cheemplavam
2004-05-01 6:51 ` Prakash K. Cheemplavam
2004-04-15 21:56 ` Arjen Verweij
2004-04-15 15:21 ` IO-APIC on nforce2 [PATCH] Zwane Mwaikambo
-- strict thread matches above, loose matches on Subject: below --
2004-04-14 21:01 Christian Kröner
2004-04-15 0:35 ` Peter Clifton
2004-04-15 0:29 ` Craig Bradney
2004-04-15 0:41 ` Ross Dickson
2004-04-15 18:33 Allen Martin
2004-04-15 19:20 ` Craig Bradney
2004-04-15 19:50 ` Len Brown
2004-04-16 8:27 ` Jamie Lokier
2004-04-22 4:00 ` Len Brown
2004-04-22 13:22 ` Maciej W. Rozycki
2004-04-22 13:53 ` Christian Kröner
2004-04-22 15:27 ` Len Brown
2004-04-22 15:40 ` Maciej W. Rozycki
2004-04-22 16:15 ` Christian Kröner
2004-04-16 16:41 Allen Martin
2004-04-23 1:23 Allen Martin
2004-04-23 15:39 ` Maciej W. Rozycki
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=1081893978.2251.653.camel@dhcppc4 \
--to=len.brown@intel.com \
--cc=christian.kroener@tu-harburg.de \
--cc=linux-kernel@vger.kernel.org \
--cc=macro@ds2.pg.gda.pl \
--cc=ross@datscreative.com.au \
/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.