This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10798 - Unify ata_read_sectors and ata_write_sectors
Attached to Project:
Rockbox
Opened by Torne Wuff (torne) - Sunday, 22 November 2009, 00:36 GMT+2
Last edited by Torne Wuff (torne) - Tuesday, 24 November 2009, 19:04 GMT+2
Opened by Torne Wuff (torne) - Sunday, 22 November 2009, 00:36 GMT+2
Last edited by Torne Wuff (torne) - Tuesday, 24 November 2009, 19:04 GMT+2
|
DetailsThis patch unifies the ATA driver's read/write sector implementation. This should have no effect on reading, but has several functional changes to writing:
1) Writes will be retried if they fail, with the same timeout as reads. 2) Write errors which previously caused panics now return regular error codes (but the FAT code will panic anyway when it sees the error). 3) PIO writes are now done with multi-sector transfers, which should be a little faster. This is intended to be a precursor, or perhaps a substitute, to submitting This affects all players with regular ATA hard disks (anything that uses firmware/drivers/ata.c) and thus I'd like to see some test results from a number of players before committing it - testing with/without LBA48, with/without large physical sectors, and with/without DMA at a minimum... Commentary on the actual code would also be welcomed... |
This task depends upon
Closed by Torne Wuff (torne)
Tuesday, 24 November 2009, 19:04 GMT+2
Reason for closing: Fixed
Additional comments about closing: r23740
Tuesday, 24 November 2009, 19:04 GMT+2
Reason for closing: Fixed
Additional comments about closing: r23740
Renamed _readwrite_sectors to ata_transfer_sectors, and removed the extra layer of shim functions _read_sectors and _write_sectors on large physical sector builds, since they are already wrapped. No functional changes.
Oops, spoke too soon, this version actually compiles on non-large-physical-sector builds.