[haiku-development] ATA stack testing
- From: Marcus Overhagen <marcusoverhagen@xxxxxxxx>
- To: haiku-development@xxxxxxxxxxxxx
- Date: Tue, 28 Apr 2009 18:39:27 +0200 (CEST)
Hi,
I made a couple of changes to the ata stack and the ide_adapter,
because it wouldn't work on my ICH9 based core2quad at all.
Now it's working (here), and in DMA mode manages to write 1GB in
22 seconds, that time includes a sync. This means about 45 MB/sec.
(Which is still slow, because the target was the Gigabyte i-RAM
disk that should offer about 130 MB/sec)
The changes create a compatiblity problem. To use the ata
stack, you now also need to edit the ide_adapter.cpp file.
See http://dev.haiku-os.org/changeset/30475
Can those people using the ata stack please update to r30475
or later, edit the file, and retest please?
ALso, whats the general opinion about switching from ide to ata
stack soon?
Further information:
Some real world (not emulated) hdds don't clear the error bit in
the status register until reporting non-busy. The ata stack wasn't
ignoring the error bit during the busy phase.
The result was simple, after the first failed command (get media
status), all further commands would also be treated as failed.
Also was a bug in ide_adapter that wouldn't clear the bus master
DMA interrupt immediately in the interrupt handler. Instead it was
cleared in finish_dma()
On many systems this would work, on others it didn't, and instead
resulted in a system hang, because the interrupt handler would
be executed again immediately, and finish_dma() wouldn't ever be
reached. This was fixed in r30454 but that change completely broke
DMA transfers, because the interrupt bit not beeing set in finish_dma()
was treated as an error condition. However, the system would now
run in PIO mode and was starting fine.
Changesets:
http://dev.haiku-os.org/changeset/30475
http://dev.haiku-os.org/changeset/30426
http://dev.haiku-os.org/changeset/30443
http://dev.haiku-os.org/changeset/30454
http://dev.haiku-os.org/changeset/30474
regards
Marcus
Arcor.de Gaming Area - kostenfrei daddeln bis der Arzt kommt!
Jetzt checken und aus über 80 Spielen wählen!
http://www.arcor.de/footer-gaming/
Other related posts: