On Sat, 24 Jun 2006 18:40:08 -0400 Jeff Garzik wrote: > [email protected] wrote: > > The patch titled > > > > via-rhine on epia-pd needs irq-quirk > > > > has been added to the -mm tree. Its filename is > > > > via-rhine-on-epia-pd-needs.patch > > > > See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find > > out what to do about this > > > > ------------------------------------------------------ > > Subject: via-rhine on epia-pd needs irq-quirk > > From: <[email protected]> > > > > > > See http://bugzilla.kernel.org/show_bug.cgi?id=6744 > > > > VT6102 [Rhine-II] needs a routing of IRQ 9 to IRQ 11. > > > > Without it, I get > > > > | irq 9: nobody cared (try booting with the "irqpoll" option) > > | <c0136636> __report_bad_irq+0x36/0x80 <c01367ee> note_interrupt+0x16e/0x1a0 > > | <c01c7f12> acpi_ev_sci_xrupt_handler+0x12/0x20 <c01361a3> handle_IRQ_event+0x23/0x50 > > | <c013623f> __do_IRQ+0x6f/0xa0 <c0105246> do_IRQ+0x36/0x50 > > | ======================= > > | <c010362a> common_interrupt+0x1a/0x20 <c0118fec> __do_softirq+0x2c/0x80 > > | <c0110520> do_page_fault+0x0/0x556 <c0105298> do_softirq+0x38/0x40 > > | ======================= > > | <c0105256> do_IRQ+0x46/0x50 <c010362a> common_interrupt+0x1a/0x20 > > | <c0110520> do_page_fault+0x0/0x556 <c0110651> do_page_fault+0x131/0x556 > > | <c0110520> do_page_fault+0x0/0x556 <c010374f> error_code+0x4f/0x60 > > | handlers: > > | [<c01c2be0>] (acpi_irq+0x0/0x20) > > | Disabling IRQ #9 > > > > Cc: Greg KH <[email protected]> > > Cc: Roger Luethi <[email protected]> > > Cc: Jeff Garzik <[email protected]> > > Signed-off-by: Andrew Morton <[email protected]> > > --- > > > > drivers/pci/quirks.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff -puN drivers/pci/quirks.c~via-rhine-on-epia-pd-needs drivers/pci/quirks.c > > --- a/drivers/pci/quirks.c~via-rhine-on-epia-pd-needs > > +++ a/drivers/pci/quirks.c > > @@ -662,6 +662,7 @@ static void quirk_via_irq(struct pci_dev > > pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); > > } > > } > > +DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, 0x3065, quirk_via_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); > > It strikes me as very unwise to do this. I know that some VIA Rhine > exist on a PCI card, which is a valid case where this quirk should -not- > be executed. And would it break anything? A normal PCI device will just ignore the value in PCI_INTERRUPT_LINE, so the only "problem" which this could cause is an unneeded printk. > The VIA quirk is only for on-motherboard devices, which have special PCI > interrupt line behavior (makes some internal PIC connections). > > How can we solve this conditionally? I agree this is needed... for > on-mobo devices. But 0x3065 is not always glued in, AFAIK. I can think only about checking other devices on the same PCI bus - if this 0x3065 device is at devfn 0x12.0, and there is a VIA ISA bridge at devfn 0x11.0, it is probably a builtin device which needs the quirk.
Attachment:
pgpwxKuGQ9UhV.pgp
Description: PGP signature
- References:
- Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
- From: Jeff Garzik <[email protected]>
- Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
- Prev by Date: Re: 2.6.17-mm2
- Next by Date: Re: + via-pata-controller-xfer-fixes.patch added to -mm tree
- Previous by thread: Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
- Next by thread: Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
- Index(es):