From: Olaf Dabrunz <od@suse.de>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>,
Jon Masters <jonathan@jonmasters.org>,
linux-kernel@vger.kernel.org, Olaf Dabrunz <od@suse.de>,
Stefan Assmann <sassmann@suse.de>
Subject: [PATCH 4/7] disable broadcomm legacy boot interrupt generation
Date: Mon, 2 Jun 2008 14:45:04 +0200 [thread overview]
Message-ID: <12124107072891-git-send-email-od@suse.de> (raw)
In-Reply-To: <12124107071847-git-send-email-od@suse.de>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1560 bytes --]
From: Olaf Dabrunz <od@suse.de>
Add a quirk to disable legacy boot interrupt generation on broadcomm HT1000.
Signed-off-by: Olaf Dabrunz <od@suse.de>
Signed-off-by: Stefan Assmann <sassmann@suse.de>
---
drivers/pci/quirks.c | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 8f09f8f..e2fed6c 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1377,6 +1377,36 @@ int nobootirqquirk_setup(char *str)
__setup("nobootirqquirk", nobootirqquirk_setup);
/*
+ * disabled boot interrupts on HT-1000
+ */
+static void quirk_disable_broadcom_boot_interrupt(struct pci_dev *dev)
+{
+ u32 feature_enable;
+ u32 saved_feature_enable;
+ u8 irq;
+
+ if (nobootirqquirk)
+ return;
+
+ pci_read_config_dword(dev, 0x64,
+ &feature_enable);
+ saved_feature_enable = feature_enable;
+ feature_enable |= (1<<0);
+ pci_write_config_dword(dev, 0x64, feature_enable);
+
+ for (irq = 0x10; irq < 0x10 + 32; irq++) {
+ outb(irq, 0xC00);
+ outb(0x00, 0xC01);
+ }
+
+ pci_write_config_dword(dev, 0x64, saved_feature_enable);
+
+ printk(KERN_INFO "disabled boot interrupts on PCI device 0x%04x:0x%04x\n",
+ dev->vendor, dev->device);
+}
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000SB, quirk_disable_broadcom_boot_interrupt);
+
+/*
* On some chipsets we can disable the generation of legacy INTx boot
* interrupts.
*/
--
1.5.2.4
--
Olaf Dabrunz (od/odabrunz), SUSE Linux Products GmbH, Nürnberg
next prev parent reply other threads:[~2008-06-02 13:52 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-02 12:45 [PATCH 0/7] Boot IRQ quirks and rerouting Olaf Dabrunz
2008-06-02 12:45 ` [PATCH 1/7] add kernel cmdline option to disable pci-irq quirks Olaf Dabrunz
2008-06-03 10:13 ` Thomas Gleixner
2008-06-03 17:00 ` Stefan Assmann
2008-06-02 12:45 ` [PATCH 2/7] reroute PCI interrupt to legacy boot interrupt equivalent Olaf Dabrunz
2008-06-03 10:37 ` Thomas Gleixner
2008-06-03 22:59 ` Randy Dunlap
2008-06-12 14:14 ` Olaf Dabrunz
2008-06-02 12:45 ` [PATCH 3/7] disable legacy boot interrupt generation Olaf Dabrunz
2008-06-03 10:40 ` Thomas Gleixner
2008-06-02 12:45 ` Olaf Dabrunz [this message]
2008-06-03 10:46 ` [PATCH 4/7] disable broadcomm " Thomas Gleixner
2008-06-03 15:46 ` Jon Masters
2008-06-03 15:59 ` Olaf Dabrunz
2008-06-03 16:05 ` Jon Masters
2008-06-03 17:27 ` Olaf Dabrunz
2008-06-02 12:45 ` [PATCH 5/7] disable AMD/ATI " Olaf Dabrunz
2008-06-03 10:54 ` Thomas Gleixner
2008-06-12 14:14 ` Olaf Dabrunz
2008-06-02 12:45 ` [PATCH 6/7] disable pci legacy boot irq quirks on noapic boot Olaf Dabrunz
2008-06-03 10:55 ` Thomas Gleixner
2008-06-02 12:45 ` [PATCH 7/7] bootirqquirk= parameter to enable bootirq quirks for additional chips Olaf Dabrunz
2008-06-03 10:56 ` Thomas Gleixner
2008-06-04 10:06 ` Olaf Dabrunz
2008-06-02 16:43 ` [PATCH 0/7] Boot IRQ quirks and rerouting Olaf Dabrunz
2008-06-03 10:11 ` Thomas Gleixner
2008-06-03 17:08 ` Olaf Dabrunz
2008-06-03 10:21 ` Olaf Dabrunz
2008-06-03 15:52 ` Jon Masters
2008-06-03 16:17 ` Stefan Assmann
2008-06-03 16:56 ` Olaf Dabrunz
2008-06-04 2:35 ` Eric W. Biederman
2008-06-04 9:49 ` Stefan Assmann
2008-06-04 10:45 ` Eric W. Biederman
2008-06-04 11:33 ` Stefan Assmann
2008-06-04 15:52 ` Maciej W. Rozycki
2008-06-04 16:08 ` Thomas Gleixner
2008-06-04 17:18 ` Maciej W. Rozycki
2008-06-04 17:33 ` Thomas Gleixner
2008-06-04 17:53 ` Maciej W. Rozycki
2008-06-04 18:35 ` Thomas Gleixner
2008-06-04 18:51 ` Maciej W. Rozycki
2010-02-16 0:30 ` Yuhong Bao
2008-06-04 18:57 ` Jon Masters
2008-06-04 19:19 ` Maciej W. Rozycki
2008-06-04 19:59 ` Jon Masters
2008-06-04 22:07 ` Maciej W. Rozycki
2008-06-04 22:27 ` Jon Masters
2008-06-04 23:08 ` Maciej W. Rozycki
2008-06-04 11:37 ` Olaf Dabrunz
2008-06-04 18:44 ` Jon Masters
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=12124107072891-git-send-email-od@suse.de \
--to=od@suse.de \
--cc=hpa@zytor.com \
--cc=jonathan@jonmasters.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=sassmann@suse.de \
--cc=tglx@linutronix.de \
/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.