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 Fix reds. 2014-03-14 23:43:45 +01:00
backlight-sw-fading.c For backlights that have a wide control, support skipping steps. 2020-10-02 02:45:43 +00:00
backlight.c [Fix Red] Ability to control backlight for soft lock action 2023-09-09 23:04:55 -04:00
bidi.c bidi.c: Check buffer sizes. 2014-01-09 23:30:32 +01:00
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 [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
eeprom_settings.c
enc_base.c
events.c events.c clean-up 2022-12-30 07:23:29 -05:00
firmware.make fonts: Use '08-Rockfont' as FONT_SYSFIXED on targets with 128x64 screens 2020-08-31 13:32:24 -04:00
font.c [coverity] font.c load_cache_entry check for successful read 2024-06-02 10:32:47 -04:00
font_cache.c fonts: Do not unload completely on USB. 2014-01-15 23:37:39 +01:00
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 Fix various reds. Some includes needed fixup. 2014-03-03 19:10:48 +01:00
logf.c logf: Fix an incorrect fix in 835d0c737a 2021-08-15 09:03:16 -04:00
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_mixer: Fix an idle frame calculation bug introduced in 2e708c48c5 2020-10-24 02:00:50 +00:00
pcm_sampr.c pcm: Missed a file for the 192/176K playback. 2020-09-30 22:03:34 -04:00
pcm_sw_volume.c move PCM_NATIVE_BITDEPTH definiton into global config code 2021-08-07 11:18:19 -04:00
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 h300: add support for ROM image generation 2020-10-26 01:37:42 +00:00
screendump.c Fix path buffer overflow in screendump 2021-08-06 15:46:53 +00:00
scroll_engine.c Fix red fbc8b2156f 2024-08-28 21:26:06 -04:00
sdmmc.c
sound.c Revert "sound: add sound_numdecimals() to round out the sound setting query API" 2021-04-09 10:52:02 +00:00
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 Add ability to dump cpu boost log to disk, include thread names 2021-09-30 21:13:22 -04:00
timer.c Fix timer Agptek Rocker (other hosted players) 2019-10-17 21:19:00 +02:00
tuner.c [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
usb.c usb: add debounce interval for USB status by event 2022-09-25 06:49:11 -04:00

See docs/README