Subject: Re: DPWS500/Pyxis bugs, corrupt memory etc.
To: Olaf Seibert <rhialto@polder.ubc.kun.nl>
From: Andrew Gallatin <gallatin@cs.duke.edu>
List: port-alpha
Date: 02/04/2000 20:39:11
Olaf Seibert writes:
 > > Pyxis corruption only happens on DMA read operations (aka disk
 > > writes).  So read-only media would be unaffected.
 > 
 > Could the DMA be disabled only when writing, leaving it enabled when
 > reading?

I just bought myself a miata mx5 for home.  A DPW433a with the buggy
pyxis & no bcache.  I'm running FreeBSD on it with the following
drive:

ad0: <IBM-DJNA-372200/J71OA30K> ATA-4 disk at ata1 as master
ad0: 21557MB (44150400 sectors), 43800 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 32 depth queue, WDMA2
ad0: piomode=4 dmamode=2 udmamode=4 cblid=1
Creating DISK ad0

I see about 14MB/sec reading & writing.  And no corruption.  I'm
typing this from an X window being displayed on the machine right now.

I asked our ATA driver author about the page-crossing bug & he tells
me that all ATA accesses are at max one page, and always page aligned.
And that the chip should not combine multiple transactions if their
DMA addresses are physically contiguous.

Unless this information is in error or the NetBSD driver does
something clever & combines transactions so that they are > PAGE_SIZE,
I'm not sure where the original poster's IDE corruption is coming
from.

------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer	http://www.cs.duke.edu/~gallatin
Duke University				Email: gallatin@cs.duke.edu
Department of Computer Science		Phone: (919) 660-6590