Krzysztof Halasa writes: > Mikael Pettersson <mikpe@xxxxxxxx> 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). I guess you didn't see Alan Cox' recent comment about the vt6421: <http://marc.info/?l=linux-ide&m=125526699500519&w=2>. You should probably look for a mini-PCI card with a different chipset. /Mikael > 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- <TAbort- <MAbort- >SERR- <PERR- INTx- > Latency: 32 > Interrupt: pin A routed to IRQ 29 > Region 0: I/O ports at 1420 [size=16] > Region 1: I/O ports at 1430 [size=16] > Region 2: I/O ports at 1440 [size=16] > Region 3: I/O ports at 1450 [size=16] > Region 4: I/O ports at 1400 [size=32] > Region 5: I/O ports at 1000 [size=256] > Expansion ROM at 48000000 [disabled] [size=64K] > Capabilities: [e0] Power Management version 2 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > Status: D0 PME-Enable- DSel=0 DScale=0 PME- > Kernel driver in use: sata_via > Kernel modules: sata_via > 00: 06 11 49 32 05 02 90 02 50 00 04 01 00 20 00 00 > 10: 21 14 00 00 31 14 00 00 41 14 00 00 51 14 00 00 > 20: 01 14 00 00 01 10 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 > 40: 33 03 f1 44 0e af 00 00 00 00 00 03 00 00 00 00 > 50: 00 00 00 00 00 00 00 00 00 10 10 00 05 00 10 00 > 60: 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff > 70: 00 00 00 00 01 f0 00 00 01 00 01 00 11 00 00 00 > 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > a0: 0b f2 c9 35 10 ac c0 00 a8 a8 a8 a8 ff 00 b6 b6 > b0: 0f 0f 1f 1f 34 00 00 00 00 00 20 00 00 00 00 00 > c0: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 > d0: 82 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00 > e0: 01 00 02 00 00 00 00 00 50 01 49 32 06 11 49 32 > f0: 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 > > ata7: SATA max UDMA/133 port i16@0x1420 bmdma 0x1400 irq 29 > ata8: SATA max UDMA/133 port i16@0x1430 bmdma 0x1408 irq 29 > ata9: PATA max UDMA/133 port i16@0x1440 bmdma 0x1410 irq 29 > ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata7.00: ATA-8: TS32GSSD25S-M, V1210, max UDMA/100 > ata7.00: 62586880 sectors, multi 0: LBA48 NCQ (depth 0/1) > ata7.00: applying bridge limits > ata7.00: configured for UDMA/100 > scsi 6:0:0:0: Direct-Access ATA TS32GSSD25S-M V121 PQ: 0 ANSI: 5 > sd 6:0:0:0: [sda] 62586880 512-byte logical blocks: (32.0 GB/29.8 GiB) > sd 6:0:0:0: [sda] Write Protect is off > sd 6:0:0:0: [sda] Mode Sense: 00 3a 00 00 > sd 6:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA > sd 6:0:0:0: [sda] Attached SCSI disk > ata8: SATA link down (SStatus 0 SControl 310) > > *** running the test program *** > > ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 > ata7: SError: { UnrecovData Proto TrStaTrns } > ata7.00: cmd c8/00:98:38:04:74/00:00:00:00:00/e0 tag 0 dma 77824 in > res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x32 (host bus error) > ata7.00: status: { DRDY } > ata7: hard resetting link > ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata7.00: configured for UDMA/100 > ata7.00: device reported invalid CHS sector 0 > ata7: EH complete > ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 > ata7.00: BMDMA stat 0x65 > ata7: SError: { UnrecovData Proto TrStaTrns } > ata7.00: cmd c8/00:00:d0:05:a8/00:00:00:00:00/e1 tag 0 dma 131072 in > res 51/40:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x12 (ATA bus error) > ata7.00: status: { DRDY ERR } > ata7.00: error: { UNC } > ata7: hard resetting link > ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata7.00: configured for UDMA/100 > ata7: EH complete > ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 > ata7: SError: { UnrecovData Proto TrStaTrns } > ata7.00: cmd c8/00:40:10:00:2c/00:00:00:00:00/e2 tag 0 dma 32768 in > res 40/00:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x32 (host bus error) > ata7.00: status: { DRDY } > ata7: hard resetting link > ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata7.00: configured for UDMA/100 > ata7: EH complete > ata7.00: limiting speed to UDMA/66:PIO4 > ata7.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 > ata7: SError: { UnrecovData Proto TrStaTrns } > ata7.00: cmd c8/00:00:d0:05:30/00:00:00:00:00/e2 tag 0 dma 131072 in > res 40/00:00:d0:05:a8/00:00:00:00:00/e1 Emask 0x32 (host bus error) > ata7.00: status: { DRDY } > ata7: hard resetting link > ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata7.00: configured for UDMA/66 > ata7: EH complete > > > > Machine B (x86-64): > > IDE interface: VIA Technologies, Inc. VT6421 IDE RAID Controller (rev 50) (prog-if 8f [Master SecP SecO PriP PriO]) > 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- <TAbort- <MAbort- >SERR- <PERR- INTx- > Latency: 64 > Interrupt: pin A routed to IRQ 19 > Region 0: I/O ports at dc00 [size=16] > Region 1: I/O ports at d880 [size=16] > Region 2: I/O ports at d800 [size=16] > Region 3: I/O ports at d480 [size=16] > Region 4: I/O ports at d400 [size=32] > Region 5: I/O ports at d000 [size=256] > Expansion ROM at 88000000 [disabled] [size=64K] > Capabilities: [e0] Power Management version 2 > Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) > Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- > Kernel driver in use: sata_via > Kernel modules: sata_via > 00: 06 11 49 32 07 00 90 02 50 8f 01 01 00 40 00 00 > 10: 01 dc 00 00 81 d8 00 00 01 d8 00 00 81 d4 00 00 > 20: 01 d4 00 00 01 d0 00 00 00 00 00 00 06 11 49 32 > 30: 00 00 af fe e0 00 00 00 00 00 00 00 0b 01 00 00 > 40: 33 03 f1 44 06 af 00 00 00 00 00 03 00 00 00 00 > 50: 00 00 00 00 00 00 00 00 00 10 10 00 05 00 10 00 > 60: 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff > 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 80 c7 7d 00 00 00 00 > 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 > a0: 0b f2 c9 35 10 ac c0 00 a8 a8 a8 a8 ff 00 b6 b6 > b0: 0f 0f 1f 1f 34 00 00 00 00 00 20 00 00 00 00 00 > c0: 00 02 00 00 00 00 00 00 00 02 00 00 00 00 00 00 > d0: 82 01 00 00 00 00 00 00 02 01 00 00 00 00 00 00 > e0: 01 00 02 00 00 00 00 00 50 01 49 32 06 11 49 32 > f0: 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 00 > > ata5: SATA max UDMA/133 port i16@0xdc00 bmdma 0xd400 irq 19 > ata6: SATA max UDMA/133 port i16@0xd880 bmdma 0xd408 irq 19 > ata7: PATA max UDMA/133 port i16@0xd800 bmdma 0xd410 irq 19 > ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata5.00: ATA-8: TS32GSSD25S-M, V1210, max UDMA/100 > ata5.00: 62586880 sectors, multi 0: LBA48 NCQ (depth 0/1) > ata5.00: applying bridge limits > ata5.00: configured for UDMA/100 > scsi 4:0:0:0: Direct-Access ATA TS32GSSD25S-M V121 PQ: 0 ANSI: 5 > sd 4:0:0:0: Attached scsi generic sg2 type 0 > sd 4:0:0:0: [sdb] 62586880 512-byte hardware sectors: (32.0 GB/29.8 GiB) > sd 4:0:0:0: [sdb] Write Protect is off > sd 4:0:0:0: [sdb] Mode Sense: 00 3a 00 00 > sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA > sd 4:0:0:0: [sdb] Attached SCSI disk > ata6: SATA link down (SStatus 0 SControl 310) > > *** running the test program *** > > ata5.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6 frozen > ata5: SError: { UnrecovData Proto TrStaTrns } > ata5.00: cmd c8/00:00:e0:21:00/00:00:00:00:00/e0 tag 0 dma 131072 in > res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x16 (ATA bus error) > ata5.00: status: { DRDY } > ata5: hard resetting link > ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 310) > ata5.00: configured for UDMA/100 > ata5.00: device reported invalid CHS sector 0 > ata5: EH complete > -- > Krzysztof Halasa > -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html