What could that be?
VIA VT6421A mini-PCI card and SATA SSD from Transcend. IXP425 (ARM)
little-endian CPU. 128 MB RAM - VT6421A can access only the first 64 MB
of system RAM, but there is bounce buffering (a la swiotlb) for the
rest.
Sometimes it produces:
ata1.00: exception Emask 0x12 SAct 0x0 SErr 0x1000500 action 0x6
ata1.00: BMDMA stat 0x5
ata1: SError: { UnrecovData Proto TrStaTrns }
ata1.00: cmd c8/00:20:b7:18:38/00:00:00:00:00/e0 tag 0 dma 16384 in
res 51/40:20:b7:18:38/00:00:00:00:00/e0 Emask 0x12 (ATA bus error)
ata1.00: status: { DRDY ERR }
ata1.00: error: { UNC }
ata1: hard resetting link
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata1.00: configured for UDMA/100
ata1: EH complete
Any ideas?
--
Krzysztof Halasa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Try again with a known good SATA disk instead of the SSD.
What is the make and model of that mini-PCI card?
Presumably a SATA bus communication error. Are you sure the SATA
connections and cable are good?
I got (in private) a request to help debug a similar issue
a few months ago:
> the other problem is vt6421a(SATA port contorller) on ixp425
> platform with 256MB ram. the driver in 2.6.28 is sata_via.c.
> the controller has two SATA ports.
> when i connect one harddisk to IXP425 mainboard, Reading & Writing
> is all right. but when i connected two drives to the mainboard,
> and transfer a big file(more than 200MB) from one harddisk to another one.
> and the problem will happen.
...
> ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> ata2.00: cmd c8/00:00:3f:d6:02/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 0x24 (host bus error)
> ata2.00: status: { DRDY }
> ata2: hard resetting link
> ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> ata2.00: configured for UDMA/133
> ata2: EH complete
...
> ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
> ata1.00: cmd c8/00:20:c7:6a:03/00:00:00:00:00/e0 tag 0 dma 16384 in
> res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x24 (host bus error)
> ata1.00: status: { DRDY }
> ata1: hard resetting link
> ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
> ata1.00: configured for UDMA/133
> ata1: EH complete
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.
> Presumably a SATA bus communication error. Are you sure the SATA
> connections and cable are good?
It seems so. At least they are ok with different hw, and different ones
give the same results.
--
Krzysztof Halasa
> Try again with a known good SATA disk instead of the SSD.
Will do.
> What is the make and model of that mini-PCI card?
It's Commell MP-6421:
http://www.commell.com.tw/product/Peripheral/MiniPCI/MP-6421.HTM
I wonder if the BIOS (which isn't used on IXP4xx) does some fixups to
this chip?
--
Krzysztof Halasa
> 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.
Well.
IXP4xx has some special properties like ability of PCI masters to access
only 64 MB of RAM (there is bounce buffering) and emulated inb/outb
operations. It's PCI bus can operate at 66 MHz, though in this case it's
set at 33 MHz (many mini-PCI cards assume 33 MHz while not grounding
M66EN line, it may result in 66 MHz).
ARM is bi-endian, though this machine runs little-endian.
--
Krzysztof Halasa
Alan Cox <al...@lxorguk.ukuu.org.uk> writes:
> These two may be worth playing with, especially latency. Forcing the
> latency on the problem board would be interesting given that it is a DMA
> transfer that is failing.
Changing the latency byte doesn't seem to change anything. OTOH the
VT6421A mini-PCI card is the only PCI device in system (not counting the
on-CPU AHB-PCI bridge). The problem is also present (to a lesser extent)
when I plug it into x86-64 machine (using mini-PCI adapter). The SSD
works fine if connected to motherboard's NVidia MCP55 SATA controller.
I have read the datasheet and tried some changes to PCI registers but it
doesn't fix it.
I'm going to test x86-64 + VT6421A + Kingston SSD combination soon.
Unfortunately I don't have a (mini) PCI analyser... I will look at
REQ/GNT and similar signals on PCI, though.
--
Krzysztof Halasa