1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/drivers
Solomon Peachy aab72f969f 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
2021-04-23 13:07:45 +00:00
..
audio erosq: Tweak volume scale to be approximately correct 2021-04-17 12:09:19 +00:00
rtc New port: FiiO M3K on bare metal 2021-03-28 00:01:37 +00:00
tuner [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
adc-as3514.c AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
ata.c ata: Rework power management behavior a bit 2021-04-23 13:07:45 +00:00
ata_flash.c Limit more variables to file scope 2015-01-11 21:40:51 +01:00
axp173.c Minor enhancements to axp173 driver 2021-04-21 18:31:55 +00:00
button.c erosq: When mucking with the clickwheel, ensure we keep the screen awake! 2021-04-09 19:21:02 -04:00
eeprom_24cxx.c Various files: make function implementations consistent with their declaration in the header file or static if 2009-01-31 23:51:11 +00:00
fat.c Use STORAGE_NEEDS_BOUNCE_BUFFER instead of STORAGE_NEEDS_ALIGN 2021-03-27 15:02:18 -04:00
generic_i2c.c Apply FS #11423 - Use udelay in AMS driver for FM radio I2C 2010-06-21 21:41:07 +00:00
i2c-async.c Add asynchronous I2C bus API 2021-03-23 15:42:54 +00:00
isp1362.c Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
isp1583.c Fix more red. 2020-10-13 19:45:03 -04:00
lcd-1bit-vert.c Revert "lcd framebuffer - Bugfix ensure proper alignment" 2021-03-24 18:44:35 +00:00
lcd-2bit-horz.c Revert "lcd framebuffer - Bugfix ensure proper alignment" 2021-03-24 18:44:35 +00:00
lcd-2bit-vert.c Revert "lcd framebuffer - Bugfix ensure proper alignment" 2021-03-24 18:44:35 +00:00
lcd-2bit-vi.c Revert "lcd framebuffer - Bugfix ensure proper alignment" 2021-03-24 18:44:35 +00:00
lcd-16bit-common.c 16 bit lcd_mono_bitmap 2021-04-17 15:33:58 +00:00
lcd-16bit-vert.c lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd-16bit.c lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd-24bit.c lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd-bitmap-common.c lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd-color-common.c Revert "lcd framebuffer - Bugfix ensure proper alignment" 2021-03-24 18:44:35 +00:00
lcd-memframe.c lcd drivers: Convert lcd_[remote_]framebuffer to a pointer 2012-02-28 11:44:59 +11:00
lcd-remote-1bit-v.c lcd drivers: Convert lcd_[remote_]framebuffer to a pointer 2012-02-28 11:44:59 +11:00
lcd-remote-2bit-vi.c lcd drivers: Convert lcd_[remote_]framebuffer to a pointer 2012-02-28 11:44:59 +11:00
lcd-scroll.c LCD core move buf ptr and address look up function viewport struct 2020-10-26 12:28:48 -04:00
led.c YH92x: Use the led near the lcd as the ATA led, instead of shine all the time. 2014-06-18 18:06:17 +00:00
m5636.c Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
m66591.c m66591: Fix out-of-bounds array access 2020-05-12 21:52:40 +02:00
nand_id.c Add cleaned-up xDuoo X3 support 2018-07-28 10:56:31 -04:00
pca9555.c Introduce HiFi E.T MA9 port. 2013-05-06 14:09:24 +04:00
pcf50605.c Ensure consistency between header file and implementation for iPod drivers, by #including the appropriate header file and #ifdef'fing out unused code 2008-07-16 11:02:14 +00:00
pcf50606.c tcc77x targets: various minor cleanups 2010-08-28 10:17:19 +00:00
pcf50635.c Commit FS#12352 by Stanislav Chizhik. Add support for the PCF50635. Enables detection of USB power sources. 2011-11-15 20:37:47 +00:00
qt1106.c Make the meizu m3 load from flash, so interrupts work. More work is needed to get the m6sl "working" again 2008-10-18 22:28:59 +00:00
ramdisk.c Unify storage threads into one 2017-10-26 14:35:41 -04:00
rds.c RDS: Fix a few goofs in the unicode table 2017-04-21 19:47:25 -04:00
sd.c Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
serial.c Add Serial Port 1 support for iPod Photo/Color/4G/Mini2G 2013-04-25 21:02:09 +02:00
sw_i2c.c Updated our source code header to explicitly mention that we are GPL v2 or 2008-06-28 18:10:04 +00:00
synaptics-mep.c HDD6330: introduce a new button (BUTTON_TAP), based on the hardware support for gestures. From now on some things are accessible by tapping on the vertical scroll strip. Reorganize, fix and remap some of the keymaps, add missing keymap for the recording. 2011-12-03 23:13:17 +00:00
touchpad.c touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
touchscreen.c Introducing Targets iBasso DX50 & iBasso DX90 2014-09-18 18:19:01 +02:00
tsc200x.c Touchscreen support for newer Cowon D2+ hardware revisions (using TSC200x touchscreen controller). 2009-10-15 20:13:29 +00:00
tsc2100.c TSC2100: Sample multiple times and provide an average to clean up touch detection. 2011-02-06 19:26:31 +00:00
usb-designware.c FiiO M3K/X1000: add USB support 2021-04-21 18:31:55 +00:00