All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
       [not found] <200606242219.k5OMIxxY006085@shell0.pdx.osdl.net>
@ 2006-06-24 22:40 ` Jeff Garzik
  2006-06-25  9:11   ` Sergey Vlasov
  2006-06-25 10:14   ` Roger Luethi
  0 siblings, 2 replies; 3+ messages in thread
From: Jeff Garzik @ 2006-06-24 22:40 UTC (permalink / raw)
  To: akpm; +Cc: Linux Kernel, enrico.scholz, greg, rl

akpm@osdl.org 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: <enrico.scholz@informatik.tu-chemnitz.de>
> 
> 
> 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 <greg@kroah.com>
> Cc: Roger Luethi <rl@hellgate.ch>
> Cc: Jeff Garzik <jeff@garzik.org>
> Signed-off-by: Andrew Morton <akpm@osdl.org>
> ---
> 
>  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.

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.

	Jeff



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
  2006-06-24 22:40 ` + via-rhine-on-epia-pd-needs.patch added to -mm tree Jeff Garzik
@ 2006-06-25  9:11   ` Sergey Vlasov
  2006-06-25 10:14   ` Roger Luethi
  1 sibling, 0 replies; 3+ messages in thread
From: Sergey Vlasov @ 2006-06-25  9:11 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: akpm, Linux Kernel, enrico.scholz, greg, rl

[-- Attachment #1: Type: text/plain, Size: 3347 bytes --]

On Sat, 24 Jun 2006 18:40:08 -0400 Jeff Garzik wrote:

> akpm@osdl.org 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: <enrico.scholz@informatik.tu-chemnitz.de>
> > 
> > 
> > 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 <greg@kroah.com>
> > Cc: Roger Luethi <rl@hellgate.ch>
> > Cc: Jeff Garzik <jeff@garzik.org>
> > Signed-off-by: Andrew Morton <akpm@osdl.org>
> > ---
> > 
> >  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 #2: Type: application/pgp-signature, Size: 190 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + via-rhine-on-epia-pd-needs.patch added to -mm tree
  2006-06-24 22:40 ` + via-rhine-on-epia-pd-needs.patch added to -mm tree Jeff Garzik
  2006-06-25  9:11   ` Sergey Vlasov
@ 2006-06-25 10:14   ` Roger Luethi
  1 sibling, 0 replies; 3+ messages in thread
From: Roger Luethi @ 2006-06-25 10:14 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: akpm, Linux Kernel, enrico.scholz, greg

On Sat, 24 Jun 2006 18:40:08 -0400, Jeff Garzik wrote:
> akpm@osdl.org wrote:
> >     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
> 
> 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.

There are PCI cards for each of Rhine-I, -II, and -III.

> The VIA quirk is only for on-motherboard devices, which have special PCI 
> interrupt line behavior (makes some internal PIC connections).

What exactly does on-motherboard mean in this context? Separate chip
soldered to the motherboard? Or integrated into the south bridge? Or both?

> How can we solve this conditionally?  I agree this is needed...  for 

VIA uses the PCI revision number to identify their chips. In fact, I have
some patch lying around that identifies the model of every Rhine ever
produced (at the time, anyway): VT86C100A, VT6102, VT8231, VT8233, VT8235,
VT8237, VT6105, VT6105L, VT6107, and VT6105M. I am not sure whether this
can be used to identify the models with this particular quirk, though.

> on-mobo devices.  But 0x3065 is not always glued in, AFAIK.

Correct. But 0x3065 is fairly meaningless in VIA world.

Roger

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-06-25 10:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200606242219.k5OMIxxY006085@shell0.pdx.osdl.net>
2006-06-24 22:40 ` + via-rhine-on-epia-pd-needs.patch added to -mm tree Jeff Garzik
2006-06-25  9:11   ` Sergey Vlasov
2006-06-25 10:14   ` Roger Luethi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.