1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/drivers
Solomon Peachy 563da70139 ipod6g: Reworking the bespoke ATA driver
ipod6g was configured with SECTOR_SIZE of 4096, but this ATA driver
unconditionally translated these to 512B operations on the actual
storage device.

Rockbox's storage layer already has robust support for "logical sectors
larger than physical storage sectors" through use of
MAX_LOG_SECTOR_SIZE.  So switch to that mechanism, allowing the ipod6g
ATA driver to be simplified.

If we want to support drives with physical sector sizes > 512B, then
we need to port the MAX_PHYS_SECTOR_SIZE logic from the primary ATA driver.

Additional changes:

 * Simplify MWDMA/UDMA selection logic
 * Report CE-ATA mode in debug menu
 * Use LBA48 commands only if drive is over 128GiB.
 * Drop default sleep/poweroff time from 20s to 7s (matching main ATA driver)

Finally, the bulk of the changes are the first phase of a badly needed
style cleanup that made reading this driver a lot harder than it should
be. I intend to split this into a separate patch.

Change-Id: I2feca9fd319c8d6cfb3c2610208970428d2fa947
2024-10-17 20:30:37 -04:00
..
audio Eros Q Native: Add Stereo SW behavior setting 2024-05-12 09:42:02 -04:00
libertas Sansa Connect: Initial libertas WiFi driver port 2021-07-04 07:41:44 +00:00
rtc pdf50606: Fix questionable code that GCC9 complains about 2024-10-11 22:56:44 -04:00
tuner Fix yellow introduced in f7a3b4dfa 2024-06-23 20:58:10 -04:00
adc-as3514.c AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
ata.c ipod6g: Reworking the bespoke ATA driver 2024-10-17 20:30:37 -04:00
axp-pmu.c axp-pmu: adc refactor 2022-01-09 20:12:41 +00:00
button.c clean up button.c optimize !filter_first_keypress 2023-01-02 11:04:47 -05:00
cw2015.c New port: Shanling Q1 native 2021-07-13 22:01:33 +01: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 storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
ft6x06.c Shanling Q1: enable multi-touch reporting 2021-11-24 18:49:03 -05:00
generic_i2c.c Sansa Connect: Use deviceid in USB Serial Number 2021-07-10 08:56:32 +02: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 usb: introduce new control request API 2021-10-16 15:58:43 -04:00
lcd-1bit-vert.c lcd: Fix bug in grayscale clear_display() implementation 2022-10-12 07:58:57 -04:00
lcd-2bit-horz.c lcd: Fix bug in grayscale clear_display() implementation 2022-10-12 07:58:57 -04:00
lcd-2bit-vert.c lcd: Fix bug in grayscale clear_display() implementation 2022-10-12 07:58:57 -04:00
lcd-2bit-vi.c lcd: Fix bug in grayscale clear_display() implementation 2022-10-12 07:58:57 -04:00
lcd-16bit-common.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
lcd-16bit-vert.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
lcd-16bit.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
lcd-24bit.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
lcd-bitmap-common.c [Fix Red] 957920e9 lcd-bitmap-common 16-bit devices 2024-04-02 19:43:58 -04:00
lcd-color-common.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
lcd-memframe.c Revert "Remove YUV blitting functions and LCD modes" 2022-10-13 11:08:06 -04: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 Fix red fbc8b2156f 2024-08-28 21:26:06 -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 usb: introduce new control request API 2021-10-16 15:58:43 -04: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 storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
rds.c rds: make newly added function static 2022-03-16 11:54:26 -04:00
sd.c storage: 64-bit sector offsets 2024-08-12 14:23:44 -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 FS12845: Fix uninitialized read 2021-05-19 17:09:48 -04: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 usb dwc2: Fix a potential garbage string print in an error path. 2022-10-10 08:24:33 -04:00