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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox