2006-09-01 08:15:21

by Johnny Strom

[permalink] [raw]
Subject: Patch to make VIA sata board bootable again.



Hello

The quirks.c update that went into 2.6.16.17 made an VIA machine here
non bootable from an sata drive (via_sata), the error is:

"ATA1 qc timout"
"Failed to set xfermode".

And later kernel panic becouse no sata disk was found.
I tracked it down to the quirk update in 2.6.16.17. Below is a patch
against 2.6.17.11 that reverses the uppdate and makse the system
bootable again.

Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
in question but I could not get that info. Dose someone have an idea how
to find that info? then I can provide an patch that adds the right
PCI_DEVICE_ID_VIA for my motherboard.



diff -ur linux-2.6.17.11-org/drivers/pci/quirks.c
linux-2.6.17.11/drivers/pci/quirks.c
--- linux-2.6.17.11-org/drivers/pci/quirks.c 2006-09-01
10:38:31.135747500 +0300
+++ linux-2.6.17.11/drivers/pci/quirks.c 2006-09-01 10:42:28.870605000 +0300
@@ -652,13 +652,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



Signed-off-by: [email protected]


2006-09-01 08:47:55

by Andrew Morton

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

On Fri, 01 Sep 2006 11:15:17 +0300
Johnny Strom <[email protected]> wrote:

>
>
> Hello
>
> The quirks.c update that went into 2.6.16.17 made an VIA machine here
> non bootable from an sata drive (via_sata), the error is:
>
> "ATA1 qc timout"
> "Failed to set xfermode".

argh.

Does 2.6.18-rc5 work?

> And later kernel panic becouse no sata disk was found.
> I tracked it down to the quirk update in 2.6.16.17. Below is a patch
> against 2.6.17.11 that reverses the uppdate and makse the system
> bootable again.
>
> Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
> in question but I could not get that info. Dose someone have an idea how
> to find that info? then I can provide an patch that adds the right
> PCI_DEVICE_ID_VIA for my motherboard.
>
>
>
> diff -ur linux-2.6.17.11-org/drivers/pci/quirks.c
> linux-2.6.17.11/drivers/pci/quirks.c
> --- linux-2.6.17.11-org/drivers/pci/quirks.c 2006-09-01
> 10:38:31.135747500 +0300
> +++ linux-2.6.17.11/drivers/pci/quirks.c 2006-09-01 10:42:28.870605000 +0300
> @@ -652,13 +652,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);
>

That's wordwrapped.

2006-09-01 10:48:54

by Johnny Strom

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

Andrew Morton wrote:
> On Fri, 01 Sep 2006 11:15:17 +0300
> Johnny Strom <[email protected]> wrote:
>
>
>>
>>Hello
>>
>>The quirks.c update that went into 2.6.16.17 made an VIA machine here
>>non bootable from an sata drive (via_sata), the error is:
>>
>>"ATA1 qc timout"
>>"Failed to set xfermode".
>
>
> argh.
>
> Does 2.6.18-rc5 work?
>

No it is the same problem with 2.6.18-rc5.

>
>>And later kernel panic becouse no sata disk was found.
>>I tracked it down to the quirk update in 2.6.16.17. Below is a patch
>>against 2.6.17.11 that reverses the uppdate and makse the system
>>bootable again.
>>
>>Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
>>in question but I could not get that info. Dose someone have an idea how
>>to find that info? then I can provide an patch that adds the right
>>PCI_DEVICE_ID_VIA for my motherboard.
>
>
> That's wordwrapped.
>

Attached an new diff.


Johnny


Attachments:
quirks.c-via-fix.diff (1.07 kB)

2006-09-01 11:49:16

by Sergio Monteiro Basto

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

Hi, Can you give me the information of interrupts
cat /proc/interrupts

XT_PIC or IO-APIC-edge/level ?


On Fri, 2006-09-01 at 11:15 +0300, Johnny Strom wrote:
>
> Hello
>
> The quirks.c update that went into 2.6.16.17 made an VIA machine here
> non bootable from an sata drive (via_sata), the error is:
>
> "ATA1 qc timout"
> "Failed to set xfermode".
>
> And later kernel panic becouse no sata disk was found.
> I tracked it down to the quirk update in 2.6.16.17. Below is a patch
> against 2.6.17.11 that reverses the uppdate and makse the system
> bootable again.
>
> Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
> in question but I could not get that info. Dose someone have an idea how
> to find that info? then I can provide an patch that adds the right
> PCI_DEVICE_ID_VIA for my motherboard.
>
>
>
> diff -ur linux-2.6.17.11-org/drivers/pci/quirks.c
> linux-2.6.17.11/drivers/pci/quirks.c
> --- linux-2.6.17.11-org/drivers/pci/quirks.c 2006-09-01
> 10:38:31.135747500 +0300
> +++ linux-2.6.17.11/drivers/pci/quirks.c 2006-09-01 10:42:28.870605000 +0300
> @@ -652,13 +652,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
>
>
>
> Signed-off-by: [email protected]
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2006-09-01 12:44:06

by Johnny Strom

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

Sergio Monteiro Basto wrote:
> Hi, Can you give me the information of interrupts
> cat /proc/interrupts
>
> XT_PIC or IO-APIC-edge/level ?
>
>

Here it is.

cat /proc/interrupts
CPU0
0: 1692278 XT-PIC timer
1: 40 XT-PIC i8042
2: 0 XT-PIC cascade
7: 414568 XT-PIC libata, ohci1394, uhci_hcd:usb2,
uhci_hcd:usb3, radeon@pci:0000:01:00.0
8: 4 XT-PIC rtc
9: 0 XT-PIC acpi
10: 534456 XT-PIC sk98lin, ehci_hcd:usb1, VIA8237, eth0
11: 0 XT-PIC uhci_hcd:usb4, uhci_hcd:usb5
12: 130 XT-PIC i8042
14: 53 XT-PIC ide0
15: 101 XT-PIC ide1
NMI: 0
ERR: 0


Johnny


> On Fri, 2006-09-01 at 11:15 +0300, Johnny Strom wrote:
>
>>Hello
>>
>>The quirks.c update that went into 2.6.16.17 made an VIA machine here
>>non bootable from an sata drive (via_sata), the error is:
>>
>>"ATA1 qc timout"
>>"Failed to set xfermode".
>>
>>And later kernel panic becouse no sata disk was found.
>>I tracked it down to the quirk update in 2.6.16.17. Below is a patch
>>against 2.6.17.11 that reverses the uppdate and makse the system
>>bootable again.
>>
>>Another option is to find out the PCI_DEVICE_ID_VIA for the motherboard
>>in question but I could not get that info. Dose someone have an idea how
>>to find that info? then I can provide an patch that adds the right
>>PCI_DEVICE_ID_VIA for my motherboard.
>>
>>
>>
>>diff -ur linux-2.6.17.11-org/drivers/pci/quirks.c
>>linux-2.6.17.11/drivers/pci/quirks.c
>>--- linux-2.6.17.11-org/drivers/pci/quirks.c 2006-09-01
>>10:38:31.135747500 +0300
>>+++ linux-2.6.17.11/drivers/pci/quirks.c 2006-09-01 10:42:28.870605000 +0300
>>@@ -652,13 +652,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
>>
>>
>>
>>Signed-off-by: [email protected]
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>the body of a message to [email protected]
>>More majordomo info at http://vger.kernel.org/majordomo-info.html
>>Please read the FAQ at http://www.tux.org/lkml/
>
>
>

2006-09-01 15:55:16

by Chris Wedgwood

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

On Fri, Sep 01, 2006 at 01:48:51PM +0300, Johnny Strom wrote:

> No it is the same problem with 2.6.18-rc5.

Did either the patches from Daniel Drake or Sergio Monteiro Basto
help?

> Attached an new diff.

Which breaks other a different class of machines. A can you try -mm,
there is a patch in that and tell us if that works?

2006-09-04 12:04:51

by Johnny Strom

[permalink] [raw]
Subject: Re: Patch to make VIA sata board bootable again.

Chris Wedgwood wrote:
> On Fri, Sep 01, 2006 at 01:48:51PM +0300, Johnny Strom wrote:
>
>
>>No it is the same problem with 2.6.18-rc5.
>
>
> Did either the patches from Daniel Drake or Sergio Monteiro Basto
> help?
>
>


hello

I have now tested the patch found here:

http://lkml.org/lkml/2006/9/3/148

And that patchs works fine, I can now boot the system.


I have also tested this patch pci-quirk_via_irq-behaviour-change.patch
and it works fine as well, I can boot the system again.

It is kernel version 2.6.17.11 that I have tested the patches on.

So any of those two patches makes my system boot again.


Johnny




--
VGER BF report: H 0