On Thu, 2006-06-22 at 14:29 -0700, Randy.Dunlap wrote: > On Thu, 22 Jun 2006 12:56:25 +0100 Sergio Monteiro Basto wrote: > > > On Wed, 2006-06-21 at 21:08 -0700, Randy.Dunlap wrote: > > > > > > If you have a specific issue/problem, it would probably be > > > better just to focus on that. > > > > on linux-2.6.17/drivers/pci/quirks.c > > > > * we must mask the PCI_INTERRUPT_LINE value versus 0xf to get > > * interrupts delivered properly. > > */ > > > > static void quirk_via_irq(struct pci_dev *dev) > > { > > u8 irq, new_irq; > > > > I want here put something like: if ( dev->irq != XT-PIC) return and don't quirk this dev. > > else > > I don't think the interrupt device mode is known by this code (AFAICT > with a quick look). The function is only called for certain VIA chipsets. > > Do you want the quirk for any particular hardware device? > You might be able to look at the function's <dev> parameter > to decide on using the quirk or not. > > > > new_irq = dev->irq & 0xf; > > pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); yap, in my opinion this function should back to --- orig/drivers/pci/quirks.c 2006-06-21 20:25:41.000000000 +1000 +++ linux-2.6.17-rc6-mm2/drivers/pci/quirks.c 2006-06-21 20:25:08.000000000 +1000 @@ -662,13 +662,7 @@ pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); } } -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); -DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); /* * VIA VT82C598 has its device ID settable and many BIOSes But do you know or not ? how I know if dev->irq is XT-pic ? -- Sérgio M. B.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- Follow-Ups:
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: Chris Wedgwood <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: "Randy.Dunlap" <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- References:
- Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
- From: Johny <[email protected]>
- Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
- From: Andrew Morton <[email protected]>
- Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
- From: Johny <[email protected]>
- who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: Sergio Monteiro Basto <[email protected]>
- Re: who I do know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: "Randy.Dunlap" <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: Sergio Monteiro Basto <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: "Randy.Dunlap" <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: Sergio Monteiro Basto <[email protected]>
- Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- From: "Randy.Dunlap" <[email protected]>
- Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]
- Prev by Date: RE: [patch 2.6.17] s2io driver irq fix
- Next by Date: Re: [PATCH] x86-64 build fix
- Previous by thread: Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- Next by thread: Re: how I know if a interrupt is ioapic_edge_type or ioapic_level_type? [Was Re: [Fwd: Re: [Linux-usb-users] Fwd: Re: 2.6.17-rc6-mm2 - USB issues]]
- Index(es):