public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* [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