- Status Closed
- Percent Complete
- Task Type Patches
- Category Operating System/Drivers
- Assigned To No-one
- Operating System All players
- Severity Low
- Priority Very Low
- Reported Version Daily build (which?)
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#10798 - Unify ata_read_sectors and ata_write_sectors
This 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 FS#9721 .
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…
2009-11-24 18:04
Reason for closing: Fixed
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
r23740
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
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.