* [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
* 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
* 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
* 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