2006-08-01 23:04:18

by J.A. Magallón

[permalink] [raw]
Subject: [2.6.18-rc2-mm1] pata_via fails

Yes, generic subject ;)

After solving the problems with ICH, one other stays. One box has a
VIA controller (in fact, this is a ApolloPro 266 chipset motherboard):

nada:~# lspci
00:00.0 Host bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266] (rev 01)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP]
00:07.0 RAID bus controller: Promise Technology, Inc. PDC20319 (FastTrak S150 TX4) (rev 02)
00:08.0 RAID bus controller: Promise Technology, Inc. PDC20319 (FastTrak S150 TX4) (rev 02)
00:0a.0 SCSI storage controller: Adaptec AIC-7892B U160/m (rev 02)
00:0b.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
00:0c.0 RAID bus controller: Promise Technology, Inc. PDC20267 (FastTrak100/Ultra100) (rev 02)
00:0d.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 08)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8233 PCI to ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
00:11.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1b)
00:11.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1b)
00:11.4 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1b)
01:00.0 VGA compatible controller: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] (rev a4)


I built -rc2-mm1 with modular support for the VT82Cxxxx both through IDE and
libata. The only thing hung there is the burner.

When drived through standard IDE, I got this:

VP_IDE: IDE controller at PCI slot 0000:00:11.1
PCI: VIA IRQ fixup for 0000:00:11.1, from 255 to 0
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8233 (rev 00) IDE UDMA100 controller on pci0000:00:11.1
ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:pio, hdd:pio
Probing IDE interface ide0...
hda: HL-DT-ST DVDRAM GSA-4040B, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: ATAPI 32X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache
Uniform CD-ROM driver Revision: 3.20
Probing IDE interface ide1...

If I load pata-via, I just wait a lot and get this:

Jul 10 15:09:46 nada kernel: pata_via 0000:00:11.1: version 0.1.13
Jul 10 15:09:46 nada kernel: PCI: VIA IRQ fixup for 0000:00:11.1, from 255 to 0
Jul 10 15:09:46 nada kernel: ata9: PATA max UDMA/100 cmd 0x1F0 ctl 0x3F6 bmdma 0xD800 irq 14
Jul 10 15:09:46 nada kernel: scsi9 : pata_via
Jul 10 15:09:46 nada kernel: ata9.00: ATAPI, max UDMA/33
Jul 10 15:10:16 nada kernel: ata9.00: qc timeout (cmd 0xa1)
Jul 10 15:10:16 nada kernel: ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
Jul 10 15:10:16 nada kernel: ata9.00: revalidation failed (errno=-5)
Jul 10 15:10:16 nada kernel: ata9.00: limiting speed to UDMA/25
Jul 10 15:10:16 nada kernel: ata9: failed to recover some devices, retrying in 5 secs
Jul 10 15:10:51 nada kernel: ata9.00: qc timeout (cmd 0xa1)
Jul 10 15:10:51 nada kernel: ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
Jul 10 15:10:51 nada kernel: ata9.00: revalidation failed (errno=-5)
Jul 10 15:10:51 nada kernel: ata9: failed to recover some devices, retrying in 5 secs
Jul 10 15:11:27 nada kernel: ata9.00: qc timeout (cmd 0xa1)
Jul 10 15:11:27 nada kernel: ata9.00: failed to IDENTIFY (I/O error, err_mask=0x4)
Jul 10 15:11:27 nada kernel: ata9.00: revalidation failed (errno=-5)
Jul 10 15:11:27 nada kernel: ata9.00: disabled
Jul 10 15:11:27 nada kernel: ata10: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xD808 irq 15
Jul 10 15:11:27 nada kernel: scsi10 : pata_via
Jul 10 15:11:34 nada kernel: ata10: port is slow to respond, please be patient
Jul 10 15:11:57 nada kernel: ata10: port failed to respond (30 secs)
Jul 10 15:11:57 nada kernel: ata10: SRST failed (status 0xFF)
Jul 10 15:11:57 nada kernel: ata10: SRST failed (err_mask=0x100)
Jul 10 15:11:57 nada kernel: ata10: softreset failed, retrying in 5 secs
Jul 10 15:12:03 nada kernel: ata10: SRST failed (status 0xFF)
Jul 10 15:12:03 nada kernel: ata10: SRST failed (err_mask=0x100)
Jul 10 15:12:03 nada kernel: ata10: softreset failed, retrying in 5 secs
Jul 10 15:12:08 nada kernel: ata10: SRST failed (status 0xFF)
Jul 10 15:12:08 nada kernel: ata10: SRST failed (err_mask=0x100)
Jul 10 15:12:08 nada kernel: ata10: reset failed, giving up

Any ideas ?

TIA

--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2007.0 (Cooker) for i586
Linux 2.6.17-jam05 (gcc 4.1.1 20060724 (prerelease) (4.1.1-3mdk)) #2 SMP PREEMPT


2006-08-01 23:26:00

by Alan

[permalink] [raw]
Subject: Re: [2.6.18-rc2-mm1] pata_via fails

Ar Mer, 2006-08-02 am 01:04 +0200, ysgrifennodd J.A. Magallón:
> Yes, generic subject ;)
>
> After solving the problems with ICH, one other stays. One box has a
> VIA controller (in fact, this is a ApolloPro 266 chipset motherboard):

Known insanity. With some ATAPI devices the VIA delivers the IRQ before
the response is ready when we do a SET_FEATURES. Still being worked on.

Alan

2006-08-02 21:43:54

by J.A. Magallón

[permalink] [raw]
Subject: Re: [2.6.18-rc2-mm1] pata_via fails

On Wed, 02 Aug 2006 00:18:27 +0100, Sergio Monteiro Basto <[email protected]> wrote:

> On Wed, 2006-08-02 at 01:04 +0200, J.A. Magallón wrote:
> > Jul 10 15:09:46 nada kernel: PCI: VIA IRQ fixup for 0000:00:11.1, from
> > 255 to 0
> > Any ideas ?
> yes, try this patch
> http://lkml.org/lkml/2006/7/28/99
> As you are using -mm tree use just hunk #1 above
>
> --- linux-2.6.17.i686/drivers/pci/quirks.c.orig 2006-07-28 12:59:04.000000000 +0100
> +++ linux-2.6.17.i686/drivers/pci/quirks.c 2006-07-28 13:26:49.000000000 +0100
> @@ -648,11 +648,17 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_V
> *
> * Some of the on-chip devices are actually '586 devices' so they are
> * listed here.
> + *
> + * if flags say that we have working apic(s), we don't need to quirk these
> + * devices
> */
> static void quirk_via_irq(struct pci_dev *dev)
> {
> u8 irq, new_irq;
>
> + if ((smp_found_config && !skip_ioapic_setup && nr_ioapics) || cpu_has_apic)
> + return;
> +
> new_irq = dev->irq & 0xf;
> pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
> if (new_irq != irq) {
>

Sorry, it did not help :(.


--
J.A. Magallon <jamagallon()ono!com> \ Software is like sex:
\ It's better when it's free
Mandriva Linux release 2007.0 (Cooker) for i586
Linux 2.6.17-jam05 (gcc 4.1.1 20060724 (prerelease) (4.1.1-3mdk)) #2 SMP PREEMPT

2006-08-01 23:18:36

by Sergio Monteiro Basto

[permalink] [raw]
Subject: Re: [2.6.18-rc2-mm1] pata_via fails

On Wed, 2006-08-02 at 01:04 +0200, J.A. Magall?n wrote:
> Jul 10 15:09:46 nada kernel: PCI: VIA IRQ fixup for 0000:00:11.1, from
> 255 to 0
> Any ideas ?
yes, try this patch
http://lkml.org/lkml/2006/7/28/99
As you are using -mm tree use just hunk #1 above

--- linux-2.6.17.i686/drivers/pci/quirks.c.orig 2006-07-28 12:59:04.000000000 +0100
+++ linux-2.6.17.i686/drivers/pci/quirks.c 2006-07-28 13:26:49.000000000 +0100
@@ -648,11 +648,17 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_V
*
* Some of the on-chip devices are actually '586 devices' so they are
* listed here.
+ *
+ * if flags say that we have working apic(s), we don't need to quirk these
+ * devices
*/
static void quirk_via_irq(struct pci_dev *dev)
{
u8 irq, new_irq;

+ if ((smp_found_config && !skip_ioapic_setup && nr_ioapics) || cpu_has_apic)
+ return;
+
new_irq = dev->irq & 0xf;
pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
if (new_irq != irq) {


--
S?rgio M. B.


Attachments:
smime.p7s (2.12 kB)