diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2021-04-22 17:20:00 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2021-04-23 13:07:45 +0000 |
commit | aab72f969f10367d9e74864a6f6b8635d7ebaa1f (patch) | |
tree | 714bc2653574509a81c91c4e8ccc9e76349b8286 /lib/rbcodec/codecs/libopus/silk/fixed/encode_frame_FIX.c | |
parent | 0271c0ed36791df28d793a27926d83a72610f5ef (diff) | |
download | rockbox-aab72f969f10367d9e74864a6f6b8635d7ebaa1f.tar.gz rockbox-aab72f969f10367d9e74864a6f6b8635d7ebaa1f.zip |
ata: Rework power management behavior a bit
After continued reports of corruption using iFlash adapters, I went
digging for more clues, and this combination of changes seemed to
solve data corruption with the iFlash adapters on the ipod video:
1) Instead of SLEEP, use STANDBY_IMMEDIATE when we detect drive
as an SSD or CFA-compliant device. The latter is technically higher
power than the former, but what this means in practice is unclear.
2) Don't check ATA powermanagement flag prior to issuing powermgmt
commands. This reverts the previous "workaround" for the FC1307A --
and PM is a mandatory part of the ATA spec for any CFA device.
3) Prior to issuing SLEEP/STANDBY_IMMEDIATE, issue FLUSH CACHE. The
ATA spec says this is redundant for the latter, but says nothing
about the former. Either way it is always safe to call first.
4) Delete all other FC1307A_WORKAROUND code related to powermgmt flags.
Change-Id: I492d06664c097d9bbd5cccfb9f5b516da165b1ee
Diffstat (limited to 'lib/rbcodec/codecs/libopus/silk/fixed/encode_frame_FIX.c')
0 files changed, 0 insertions, 0 deletions