* [PATCH] Fix incorrect Asus k7m irq router detection
@ 2005-07-27 8:16 Giancarlo Formicuccia
2005-07-27 16:48 ` Dave Jones
0 siblings, 1 reply; 3+ messages in thread
From: Giancarlo Formicuccia @ 2005-07-27 8:16 UTC (permalink / raw)
To: Greg KH, akpm; +Cc: linux-kernel, Aleksey Gorelov
Hi,
this patch:
http://marc.theaimsgroup.com/?l=bk-commits-head&m=111955644929114&w=2
uncovered a k7m bios bug, where the VT82C686A router is reported as
being "586-compatible". The two chips have different pirq mapping, so
this leads to "irq routing conflict" on many pci devices.
The suggested fix was discussed with Aleksey Gorelov, who helped me
to identify the problem as a probable bios bug.
Patch for 2.6.13-git4.
Signed-off-by: Giancarlo Formicuccia <giancarlo.formicuccia@gmail.com>
--- linux-2.6.13-rc3-git4/arch/i386/pci/irq.c.org 2005-07-27 08:58:05.000000000 +0200
+++ linux-2.6.13-rc3-git4/arch/i386/pci/irq.c 2005-07-27 08:59:29.000000000 +0200
@@ -550,6 +550,13 @@
static __init int via_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
{
/* FIXME: We should move some of the quirk fixup stuff here */
+
+ if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
+ device == PCI_DEVICE_ID_VIA_82C586_0) {
+ /* Asus k7m bios wrongly reports 82C686A as 586-compatible */
+ device = PCI_DEVICE_ID_VIA_82C686;
+ }
+
switch(device)
{
case PCI_DEVICE_ID_VIA_82C586_0:
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix incorrect Asus k7m irq router detection
2005-07-27 8:16 Giancarlo Formicuccia
@ 2005-07-27 16:48 ` Dave Jones
0 siblings, 0 replies; 3+ messages in thread
From: Dave Jones @ 2005-07-27 16:48 UTC (permalink / raw)
To: Giancarlo Formicuccia; +Cc: Greg KH, akpm, linux-kernel, Aleksey Gorelov
On Wed, Jul 27, 2005 at 10:16:30AM +0200, Giancarlo Formicuccia wrote:
> this patch:
> http://marc.theaimsgroup.com/?l=bk-commits-head&m=111955644929114&w=2
> uncovered a k7m bios bug, where the VT82C686A router is reported as
> being "586-compatible". The two chips have different pirq mapping, so
> this leads to "irq routing conflict" on many pci devices.
>
> The suggested fix was discussed with Aleksey Gorelov, who helped me
> to identify the problem as a probable bios bug.
>
> Patch for 2.6.13-git4.
>
> Signed-off-by: Giancarlo Formicuccia <giancarlo.formicuccia@gmail.com>
>
> --- linux-2.6.13-rc3-git4/arch/i386/pci/irq.c.org 2005-07-27 08:58:05.000000000 +0200
> +++ linux-2.6.13-rc3-git4/arch/i386/pci/irq.c 2005-07-27 08:59:29.000000000 +0200
> @@ -550,6 +550,13 @@
> static __init int via_router_probe(struct irq_router *r, struct pci_dev *router, u16 device)
> {
> /* FIXME: We should move some of the quirk fixup stuff here */
> +
> + if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
> + device == PCI_DEVICE_ID_VIA_82C586_0) {
> + /* Asus k7m bios wrongly reports 82C686A as 586-compatible */
> + device = PCI_DEVICE_ID_VIA_82C686;
> + }
> +
> switch(device)
> {
> case PCI_DEVICE_ID_VIA_82C586_0:
If this really is a problem with that board, it should have a DMI entry
for that board alone, not for every VIA chipset that uses the 586/686 combo,
as I'm fairly certain there are some that legitimately use this combination,
and the patch above will force them all to be reported as 82C686's.
Dave
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Fix incorrect Asus k7m irq router detection
[not found] <0EF82802ABAA22479BC1CE8E2F60E8C33D2D00@scl-exch2k3.phoenix.com>
@ 2005-07-27 17:32 ` Dave Jones
0 siblings, 0 replies; 3+ messages in thread
From: Dave Jones @ 2005-07-27 17:32 UTC (permalink / raw)
To: Aleksey Gorelov; +Cc: Giancarlo Formicuccia, Greg KH, akpm, linux-kernel
On Wed, Jul 27, 2005 at 10:10:35AM -0700, Aleksey Gorelov wrote:
> > > static __init int via_router_probe(struct irq_router *r,
> >struct pci_dev *router, u16 device)
> > > {
> > > /* FIXME: We should move some of the quirk fixup stuff here */
> > > +
> > > + if (router->device == PCI_DEVICE_ID_VIA_82C686 &&
> > > + device == PCI_DEVICE_ID_VIA_82C586_0) {
> > > + /* Asus k7m bios wrongly reports 82C686A as
> >586-compatible */
> > > + device = PCI_DEVICE_ID_VIA_82C686;
> > > + }
> > > +
> > > switch(device)
> > > {
> > > case PCI_DEVICE_ID_VIA_82C586_0:
> >
> >If this really is a problem with that board, it should have a DMI entry
> >for that board alone, not for every VIA chipset that uses the
> >586/686 combo,
> >as I'm fairly certain there are some that legitimately use
> >this combination,
> >and the patch above will force them all to be reported as 82C686's.
>
> How can they use it legitimately if 586 & 686 routers are not
> programming register compatible ? Any board which reports that 686 is
> compatible with 586 will have that issue.
Actually now that I've woken up properly, your patch looks ok to me.
For some reason I was thinking we were comparing a north and south
bridge here.
Dave
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-07-27 17:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <0EF82802ABAA22479BC1CE8E2F60E8C33D2D00@scl-exch2k3.phoenix.com>
2005-07-27 17:32 ` [PATCH] Fix incorrect Asus k7m irq router detection Dave Jones
2005-07-27 8:16 Giancarlo Formicuccia
2005-07-27 16:48 ` Dave Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox