* [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode (resend)
@ 2005-05-24 15:44 Bjorn Helgaas
[not found] ` <200505240944.46633.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Bjorn Helgaas @ 2005-05-24 15:44 UTC (permalink / raw)
To: linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/
Cc: Stian Jordet, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
I posted the patch below a few weeks ago. Greg, would you
consider putting it in your tree so it trickles into -mm?
At least some VIA chipsets require the fixup even in IO-APIC mode.
This was found and debugged with the patient assistance of Stian
Jordet <liste-NI9zH3lwcMKHXe+LvDLADg@public.gmane.org> on an Asus CUV266-DLS motherboard.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
--- 2.6.12-rc3-mm3/drivers/pci/quirks.c.orig 2005-05-05 10:52:42.000000000 -0600
+++ 2.6.12-rc3-mm3/drivers/pci/quirks.c 2005-05-10 09:56:18.000000000 -0600
@@ -460,17 +460,6 @@
/*
- * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip
- * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature:
- * when written, it makes an internal connection to the PIC.
- * For these devices, this register is defined to be 4 bits wide.
- * Normally this is fine. However for IO-APIC motherboards, or
- * non-x86 architectures (yes Via exists on PPC among other places),
- * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
- * interrupts delivered properly.
- */
-
-/*
* FIXME: it is questionable that quirk_via_acpi
* is needed. It shows up as an ISA bridge, and does not
* support the PCI_INTERRUPT_LINE register at all. Therefore
@@ -492,28 +481,30 @@
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_acpi );
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_acpi );
-static void __devinit quirk_via_irqpic(struct pci_dev *dev)
+/*
+ * Via 686A/B: The PCI_INTERRUPT_LINE register for the on-chip
+ * devices, USB0/1, AC97, MC97, and ACPI, has an unusual feature:
+ * when written, it makes an internal connection to the PIC.
+ * For these devices, this register is defined to be 4 bits wide.
+ * Normally this is fine. However for IO-APIC motherboards, or
+ * non-x86 architectures (yes Via exists on PPC among other places),
+ * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get
+ * interrupts delivered properly.
+ */
+static void __devinit quirk_via_irq(struct pci_dev *dev)
{
u8 irq, new_irq;
-#ifdef CONFIG_X86_IO_APIC
- if (nr_ioapics && !skip_ioapic_setup)
- return;
-#endif
-#ifdef CONFIG_ACPI
- if (acpi_irq_model != ACPI_IRQ_MODEL_PIC)
- return;
-#endif
new_irq = dev->irq & 0xf;
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
if (new_irq != irq) {
- printk(KERN_INFO "PCI: Via PIC IRQ fixup for %s, from %d to %d\n",
+ printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
pci_name(dev), irq, new_irq);
udelay(15); /* unknown if delay really needed */
pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
}
}
-DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irqpic);
+DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq);
/*
* PIIX3 USB: We have to disable USB interrupts that are
-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode (resend)
[not found] ` <200505240944.46633.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
@ 2005-05-28 4:18 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2005-05-28 4:18 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/, Stian Jordet,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
On Tue, May 24, 2005 at 09:44:46AM -0600, Bjorn Helgaas wrote:
> I posted the patch below a few weeks ago. Greg, would you
> consider putting it in your tree so it trickles into -mm?
Hm, this doesn't apply properly to the -mm tree, as it looks like others
have already touched this function. Care to rediff it?
thanks,
greg k-h
-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-05-28 4:18 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-24 15:44 [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode (resend) Bjorn Helgaas
[not found] ` <200505240944.46633.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
2005-05-28 4:18 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox