1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
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
..
asm Only increase sigalthreads stack size for simulator or aarch64 builds. 2024-10-07 12:15:02 -04:00
common Add DeviceData to bootloaders 2024-09-02 13:29:43 -04:00
drivers ipod6g: Reworking the bespoke ATA driver 2024-10-17 20:30:37 -04:00
export ipod6g: Reworking the bespoke ATA driver 2024-10-17 20:30:37 -04:00
include Misc: Compiling under SDL2 uncovered a few issues unrelated to SDL itself 2024-09-21 16:32:58 -04:00
kernel kernel: Add queue_full() API call 2024-10-06 11:17:54 -04:00
libc libc: Correct definition of labs()' and add llabs() 2024-10-12 12:01:36 -04:00
target ipod6g: Reworking the bespoke ATA driver 2024-10-17 20:30:37 -04:00
usbstack gcc9: Move structure packing to the struct definition 2024-10-12 09:23:37 -04:00
arabjoin.c
arabjoin.h
ata_idle_notify.c
backlight-sw-fading.c
backlight.c [Fix Red] Ability to control backlight for soft lock action 2023-09-09 23:04:55 -04:00
bidi.c
buflib_malloc.c buflib_malloc: fixed signed/unsigned comparison 2023-01-16 16:57:23 +00:00
buflib_mempool.c buflib: Add pinned get/put data functions 2023-01-15 11:06:27 +00:00
chunk_alloc.c [BugFix] chunk_alloc pass NULL to buflib_shrink 2023-03-09 20:15:38 -05:00
COPYING
core_alloc.c buflib: Add CONFIG_BUFLIB_BACKEND for selecting a buflib backend 2023-01-15 10:04:13 +00:00
debug.c
eeprom_settings.c
enc_base.c
events.c events.c clean-up 2022-12-30 07:23:29 -05:00
firmware.make
font.c [coverity] font.c load_cache_entry check for successful read 2024-06-02 10:32:47 -04:00
font_cache.c
general.c replace strlcpy with strmemccpy 2022-11-14 23:56:16 -05:00
hangul.c
linuxboot.c buflib_shrink use NULL to signal start isn't changing 2023-01-13 09:50:29 -05:00
load_code.c
logf.c
lru.c
panic.c Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
pcm.c Rework auto playback frequency switch 2023-10-28 15:11:07 -04:00
pcm_mixer.c
pcm_sampr.c
pcm_sw_volume.c
powermgmt.c powermgmt: Don't force shutdown when externally powered 2023-10-29 11:22:01 +00:00
profile.c
README
rolo.c ErosQNative: Add v3 LCD support, conditional on bootloader 2024-09-02 13:29:43 -04:00
rom.lds
screendump.c
scroll_engine.c Fix red fbc8b2156f 2024-08-28 21:26:06 -04:00
sdmmc.c
sound.c
SOURCES Add DeviceData to bootloaders 2024-09-02 13:29:43 -04:00
storage.c storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
system.c
timer.c
tuner.c
usb.c

See docs/README