LKML Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/5] Boot IRQ quirks and rerouting [repost]
@ 2008-06-11 14:35 Stefan Assmann
  2008-06-11 14:35 ` [PATCH 1/5] Add PCI IDs for devices that need boot irq quirks Stefan Assmann
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Stefan Assmann @ 2008-06-11 14:35 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: Ingo Molnar, H. Peter Anvin, Jon Masters, Olaf Dabrunz,
	Stefan Assmann, LKML, Ihno Krumreich, Sven Dietrich,
	Daniel Gollub, Felix Foerster

These patches are against linux-2.6-tip, auto-x86-next.

The AMD/ATI and Broadcomm patches are not included yet, we're working
on getting things ready for submission.

The patch for the bootirqquirk= parameter will be released later.


When IRQ lines on secondary or higher IO-APICs are masked (as done by
RT and others), many chipsets redirect IRQs on this line to the PIC, and
thereby regularly to the first IO-APIC in the system. This causes
spurious interrupts and can lead to disabled IRQ lines.

Disabling this "boot interrupt" (as it is mostly used to supply all
IRQs to the legacy PIC during boot) is chipset-specific. It is also not
possible for all chips. This patchset disables the boot interrupt on
chipsets where this is possible and where we know how to do it.

Where disabling the boot interrupt is not possible, the patches provide a boot
parameter pci=ioapicreroute to only use the boot interrupt (on the first
IO-APIC) instead of the "original" line on the secondary (tertiary ...)
IO-APIC. The original line remains masked, and IRQs always appear on the boot
interrupt line on the first IO-APIC instead.

A second boot parameter pci=noioapicquirk allows to disable all quirks that
disable boot interrupts.

All patches are co-authored by Stefan Assmann and Olaf Dabrunz. But
according to Documentation/SubmittingPatches, the patch submission format
allows only for one author.

Documentation/kernel-parameters.txt |    7 ++++
arch/x86/pci/common.c               |    9 +++++
drivers/acpi/pci_irq.c              |   56 ++++++++++++++++++++++++++++++++++
drivers/pci/quirks.c                |   59 +++++++++++++++++++++++++++++++++++-
include/asm-x86/io_apic.h           |    8 ++++
include/asm-x86/pci.h               |    4 +-
include/linux/pci.h                 |    7 +++-
include/linux/pci_ids.h             |    6 +++
8 files changed, 151 insertions(+), 5 deletions(-)


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, back to index

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-06-11 14:35 [PATCH 0/5] Boot IRQ quirks and rerouting [repost] Stefan Assmann
2008-06-11 14:35 ` [PATCH 1/5] Add PCI IDs for devices that need boot irq quirks Stefan Assmann
2008-06-11 14:35 ` [PATCH 2/5] Introduce pci=noioapicquirk kernel cmdline option Stefan Assmann
2008-06-11 14:35 ` [PATCH 3/5] Introduce pci=ioapicreroute " Stefan Assmann
2008-06-11 14:35 ` [PATCH 4/5] Add quirk to disable boot interrupt generation on intel 6300ESB Stefan Assmann
2008-06-11 14:35 ` [PATCH 5/5] reroute PCI interrupt to legacy boot interrupt equivalent Stefan Assmann
2008-06-18 11:58 ` [PATCH 0/5] Boot IRQ quirks and rerouting [repost] Ingo Molnar
2008-06-18 12:52   ` Ingo Molnar
2008-06-18 13:22   ` Olaf Dabrunz

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git
	git clone --mirror https://lore.kernel.org/lkml/10 lkml/git/10.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git