summaryrefslogtreecommitdiff
path: root/firmware/storage.c
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-10-23 14:16:15 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-10-31 12:51:54 -0400
commite829ea9a5ea05c6dedd91f741f91cb8723e50b19 (patch)
treebb554a4ec31b3b5501189993de990d2419306c2f /firmware/storage.c
parent825e4069655065ffd49bcc9ec64b53f1225e8186 (diff)
downloadrockbox-e829ea9a5ea05c6dedd91f741f91cb8723e50b19.tar.gz
rockbox-e829ea9a5ea05c6dedd91f741f91cb8723e50b19.zip
ata: Rework how flushing, sleeping, and power off interacts
* FLUSH_EXT is used if featureflag is set and we are using LBA48 (unconditionally used for CE-ATA on ipod6g) * FLUSH is used if featureflag is set (ATA6+) or if device claims to be ATA5+ * Rename ata_disk_can_power_off() to ata_disk_can_sleep() as that is what it actually tests for. Only use it to gate issuing the STANDBY IMMEDIATE command. * Restore behavior of ata_disk_is_active() to return 1 if drive is "spinning" or powered up. * Allow poweroff if drive claims PM support OR we are able to issue FLUSH/FLUSH_EXT commands. * Added ata_flush() to explicitly trigger a flush operation, and hook it up to storage_flush() in the device shutdown path. (Flushes were only previously used in the storage device power management path) * After issuing all settings, re-issue IDENTIFY_DEVICE to make sure it reflects everything we've enabled. * Update manual section on Flash/SSD mods. Change-Id: I6770a54ef3a87f4c47120bcb96c944a6652f1bf4
Diffstat (limited to 'firmware/storage.c')
-rw-r--r--firmware/storage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/storage.c b/firmware/storage.c
index da3e06146d..2d4490369e 100644
--- a/firmware/storage.c
+++ b/firmware/storage.c
@@ -555,7 +555,7 @@ int storage_flush(void)
555 int rc=0; 555 int rc=0;
556 556
557#if (CONFIG_STORAGE & STORAGE_ATA) 557#if (CONFIG_STORAGE & STORAGE_ATA)
558 //if ((rc=ata_flush())) return rc; 558 if ((rc=ata_flush())) return rc;
559#endif 559#endif
560 560
561#if (CONFIG_STORAGE & STORAGE_MMC) 561#if (CONFIG_STORAGE & STORAGE_MMC)