* [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode
@ 2005-05-10 16:44 Bjorn Helgaas
[not found] ` <200505101044.15654.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2005-05-10 16:44 UTC (permalink / raw)
To: linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/
Cc: Stian Jordet, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
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 Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
^ permalink raw reply [flat|nested] 4+ messages in thread[parent not found: <200505101044.15654.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>]
* Re: [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode [not found] ` <200505101044.15654.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org> @ 2005-05-10 21:07 ` Greg KH [not found] ` <20050510210755.GA3967-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Greg KH @ 2005-05-10 21:07 UTC (permalink / raw) To: Bjorn Helgaas Cc: linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/, Stian Jordet, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f On Tue, May 10, 2005 at 10:44:15AM -0600, Bjorn Helgaas wrote: > 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> This is already present in the 2.6.12-rc4 kernel, right? thanks, greg k-h ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20050510210755.GA3967-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode [not found] ` <20050510210755.GA3967-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org> @ 2005-05-10 22:28 ` Bjorn Helgaas [not found] ` <200505101628.00548.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Bjorn Helgaas @ 2005-05-10 22:28 UTC (permalink / raw) To: Greg KH Cc: linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/, Stian Jordet, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f On Tuesday 10 May 2005 3:07 pm, Greg KH wrote: > On Tue, May 10, 2005 at 10:44:15AM -0600, Bjorn Helgaas wrote: > > 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> > > This is already present in the 2.6.12-rc4 kernel, right? No, I reworked the VIA IRQ patch a while ago, but that rework is in the ACPI BK tree: http://linux-acpi.bkbits.net:8080/26-stable-test/cset%404244603cD6KfNrnIjyYDqv0xzdI8cQ So it's been in -mm for a while, but it's not in 2.6.12-rc4. (I suggested a while ago that we consider it for 2.6.12, but since it's intertwingled in the ACPI tree that might not be easy.) This current patch is incremental and applies to -mm. ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <200505101628.00548.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>]
* Re: Re: [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode [not found] ` <200505101628.00548.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org> @ 2005-05-11 1:23 ` Sergio Monteiro Basto 0 siblings, 0 replies; 4+ messages in thread From: Sergio Monteiro Basto @ 2005-05-11 1:23 UTC (permalink / raw) To: Bjorn Helgaas Cc: Greg KH, linux-pci-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/, Stian Jordet, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Hi, The first part on the patch has been reported on http://bugme.osdl.org/show_bug.cgi?id=3319 This patches, has you may know, can be backported to kernel 2.4, since the code is actually the same. In meanwhile I have made the patch for kernel 2.4.30 and will the reported on bugzilla bug 3319 (http://bugme.osdl.org/show_bug.cgi?id=3319). Thanks , Sérgio M. B. Bjorn Helgaas wrote: >On Tuesday 10 May 2005 3:07 pm, Greg KH wrote: > > >>On Tue, May 10, 2005 at 10:44:15AM -0600, Bjorn Helgaas wrote: >> >> >>>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> >>> >>> >>This is already present in the 2.6.12-rc4 kernel, right? >> >> > >No, I reworked the VIA IRQ patch a while ago, but that rework >is in the ACPI BK tree: > > http://linux-acpi.bkbits.net:8080/26-stable-test/cset%404244603cD6KfNrnIjyYDqv0xzdI8cQ > >So it's been in -mm for a while, but it's not in 2.6.12-rc4. >(I suggested a while ago that we consider it for 2.6.12, but >since it's intertwingled in the ACPI tree that might not be >easy.) > >This current patch is incremental and applies to -mm. > > ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-05-11 1:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-10 16:44 [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode Bjorn Helgaas
[not found] ` <200505101044.15654.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
2005-05-10 21:07 ` Greg KH
[not found] ` <20050510210755.GA3967-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2005-05-10 22:28 ` Bjorn Helgaas
[not found] ` <200505101628.00548.bjorn.helgaas-VXdhtT5mjnY@public.gmane.org>
2005-05-11 1:23 ` Sergio Monteiro Basto
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox