Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761608AbZJMXT0 (ORCPT ); Tue, 13 Oct 2009 19:19:26 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1761586AbZJMXTY (ORCPT ); Tue, 13 Oct 2009 19:19:24 -0400 Received: from khc.piap.pl ([195.187.100.11]:56630 "EHLO khc.piap.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1761458AbZJMXTX (ORCPT ); Tue, 13 Oct 2009 19:19:23 -0400 From: Krzysztof Halasa To: Mikael Pettersson Cc: , , Robert Hancock Subject: Re: sata_via: SError: { UnrecovData Proto TrStaTrns } References: <19147.28614.505296.752363@pilspetsen.it.uu.se> Date: Wed, 14 Oct 2009 01:18:43 +0200 In-Reply-To: <19147.28614.505296.752363@pilspetsen.it.uu.se> (Mikael Pettersson's message of "Tue, 6 Oct 2009 18:26:46 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 11237 Lines: 251 Mikael Pettersson writes: > I couldn't do much about it other than ask the person to take > it to linux-ide (which I don't think he did), but it does make > one wonder if there is some issue with the vt6421a when connected > to an ixp4xx. I have performed some tests. Is there anything else I can do to fix this? VIA VT6421A mini-PCI (Commell MP-6421) card and SATA II SSD from Transcend. Machine A: IXP425 (ARM) CPU, 266 MHz. 64 MB RAM - this time all RAM is accessible to VT6421A. PCI 33 MHz (using mini-PCI adapter). Both little-endian and big-endian CPU modes exhibit the problems. Machine B: AMD64 X2, 64-bit kernel, 2 GB RAM. Mini-PCI 33 MHz. I've written a small program which only reads from disk, using the same read pattern that was needed for e2fsck. It constists of about 6500 of (quite random) lseek()s, each followed by read() (sizes from 524 to 32768 bytes). I do ioctl(fd, BLKFLSBUF, 0) first. It seems I can trigger the problems almost reliably on Machine A with rmmod sata_via; modprobe sata_via; test_program. Subsequent runs (without rmmod/modprobe usually don't show any issue). It usually shows up on Machine B but only once after reboot, subsequent rmmod + modprobe doesn't seem to trigger it. The test takes about 4 seconds (if the errors don't show up). The SSD shows no issues when connected directly to SATA port on the machine B motherboard (NVidia MCP-55). Machine A shows no issues when connected to a SATA disk. However, the disk is much slower (seeks are slow, linear transfer from either device is way above IXP425 ability). The test takes about 10 seconds with SSD and 20 seconds with the disk. I wonder if it could be a factor. Machine A (IXP425) doesn't obviously use the card's BIOS, so the VT6421A is configured a bit differently (ignoring differences in addresses etc): --- Machine A (IXP425) +++ Machine B (x86-64) -RAID bus controller: VT6421 IDE RAID Controller (rev 50) +IDE interface: VT6421 IDE RAID Controller (rev 50) (prog-if 8f [Master SecP SecO PriP PriO]) - Control: Mem- FastB2B+ ... + Control: Mem+ FastB2B- ... Mem - I guess x86-64 enables it for BIOS access. This is the only PCI device in machine A (ARM). - Latency: 32 + Latency: 64 Capabilities: [e0] Power Management version 2 - Status: ... + Status: NoSoftRst- ... -00: 06 11 49 32 05 02 90 02 50 00 04 01 00 20 00 00 +00: 06 11 49 32 07 00 90 02 50 8f 01 01 00 40 00 00 -10: 21 14 00 00 31 14 00 00 41 14 00 00 51 14 00 00 +10: 01 dc 00 00 81 d8 00 00 01 d8 00 00 81 d4 00 00 -20: 01 14 00 00 01 10 00 00 00 00 00 00 06 11 49 32 +20: 01 d4 00 00 01 d0 00 00 00 00 00 00 06 11 49 32 -30: 00 00 ff ff e0 00 00 00 00 00 00 00 1d 01 00 00 +30: 00 00 af fe e0 00 00 00 00 00 00 00 0b 01 00 00 -40: 33 03 f1 44 0e af 00 00 00 00 00 03 00 00 00 00 +40: 33 03 f1 44 06 af 00 00 00 00 00 03 00 00 00 00 -70: 00 00 00 00 01 f0 00 00 01 00 01 00 11 00 00 00 +70: 00 00 00 00 01 f0 00 00 01 00 01 00 10 00 00 00 -80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 80 c7 7d 00 00 00 00 Machine A (IXP425): RAID bus controller: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50) Subsystem: VIA Technologies, Inc. VT6421 IDE RAID Controller Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B+ DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- SERR- TAbort- SERR-