1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/export
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
..
config ipod6g: Reworking the bespoke ATA driver 2024-10-17 20:30:37 -04:00
adc.h adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
aic3x.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
ak4376.h FiiO M3K: audio recording 2022-01-29 19:28:03 +00:00
ak4537.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
akcodec.h
as3514.h as3514: document hardware setting based on as3514.c 2016-12-12 13:10:52 +01:00
as3525.h Move usb-s3c6400 register comments to usb-s3c6400.h 2011-12-13 04:21:06 +00:00
as3525v2.h as3525v2: use the new USB DesignWare driver 2016-08-15 02:56:23 +02:00
ascodec.h AMS: Return ascodec to interrupt-based I2C2 driver 2017-01-25 00:05:13 +01:00
at91sam9260.h
ata-defines.h Bulk convert all DOS line endings to UNIX. 2011-11-06 22:44:25 +00:00
ata-driver.h Add STORAGE_INIT_ATTR to some target-specific ATA functions. 2011-12-09 02:07:24 +00:00
ata.h ata: SSDs: Only check for _legal_ "rotational rate" values 2024-10-15 17:00:46 -04:00
ata_idle_notify.h events: Rework event subsystem (add_event, send_event) to be more versatile. 2014-03-14 23:36:30 +01:00
ata_mmc.h Unify storage threads into one 2017-10-26 14:35:41 -04:00
audio.h Remove obsolete alias for audio_record function 2023-08-17 13:40:09 +02:00
audiohw.h ErosQ New Revision HW volume 2024-01-02 06:51:07 -05:00
audiohw_settings.h Add new audiohw capability: POWER_MODE_CAP 2021-03-22 13:00:11 +00:00
axp-pmu.h axp-pmu: adc refactor 2022-01-09 20:12:41 +00:00
backlight-sw-fading.h
backlight.h Ability to control backlight for soft lock action 2023-09-09 22:00:14 -04:00
backtrace.h mips: add native backtrace implementation 2022-05-22 07:16:11 -04:00
bidi.h
bitswap.h
bootchart.h bootchart.h doesn't need _ansi.h, especially not in a relative path 2010-07-25 15:28:24 +00:00
bootdata.h multiboot: Add v1 boot protocol 2024-03-31 16:57:19 +01:00
button.h checkwps: Validate translated strings (%Sx) 2024-05-24 21:37:54 -04:00
codec-dx50.h Fix checkwps build for dx50 & dx90 targets 2020-04-14 08:15:19 +02:00
codec-dx90.h Fix checkwps build for dx50 & dx90 targets 2020-04-14 08:15:19 +02:00
config.h simulator: Make sure we define the right stuff for sigaltstack() 2024-09-21 19:08:32 -04:00
config_caps.h audio: Add support for 192 and 176KHz playback 2020-09-30 21:37:11 -04:00
cpu.h x1000: Centralize common definitions, memory layout 2021-04-28 20:04:10 +01:00
cs42l55.h iPod Classic: capture support for CS42L55 codec 2015-10-07 06:15:03 +02:00
cs4398.h cs4398: Change default volume to -25 dB (from 0 dB) 2020-08-29 08:51:35 -04:00
cscodec.h New port: iPod Classic (also known as iPod 6G/6.5G/7G) 2011-01-02 23:16:27 +00:00
cw2015.h New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
dac3550a.h Straighten out the mad twisted state of sound.c and related areas. 2013-04-15 12:02:05 -04:00
debug.h Hosted: Merge debugf() implementations. Cleanup debug.h. 2012-01-21 18:39:19 +01:00
devicedata.h Add DeviceData to bootloaders 2024-09-02 13:29:43 -04:00
df1704.h ma9: Slightly change df1704 driver API. 2013-11-05 09:59:45 +04:00
disk.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
dm320.h DM320: Regorganize LCD and TTB memory layout 2021-07-09 09:24:38 +00:00
ds2411.h
dsp-util.h Add rbcodecplatform.h and rbcodecconfig.h. 2012-05-03 14:49:35 +02:00
dummy_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
eeprom_24cxx.h
eeprom_settings.h iriver_flash: update valid bootloaders table 2020-11-16 11:57:18 +00:00
enc_base.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
eros_qn_codec.h ErosQ New Revision HW volume 2024-01-02 06:51:07 -05:00
erosqlinux_codec.h ErosQ (both): avoid clipping due to DC offset bandaid 2021-09-05 15:50:21 +00:00
es9018.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
es9018k2m.h ErosQ Native ES9018K2M: Add digital filters capability 2024-01-02 08:19:23 -05:00
es9218.h New port: Shanling Q1 native 2021-07-13 22:01:33 +01:00
events.h USB add Insertion and Extraction callback events 2021-10-31 12:02:38 -04:00
fat.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
fiiolinux_codec.h pcm: Get rid of pcm_play_pause() and associated APIs 2020-10-31 01:18:27 +00:00
fmradio.h
fmradio_3wire.h Radio and radio recording for Samsung YH-920. 2014-06-18 18:06:17 +00:00
fmradio_i2c.h mark some functions as init functions (discarded after init() has run) 2010-05-27 12:00:29 +00:00
font.h font.c cleanup 2023-02-15 23:02:36 -05:00
ft6x06.h Shanling Q1: enable multi-touch reporting 2021-11-24 18:49:03 -05:00
gdb_api.h Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
general.h [3/4] Completely remove HWCODEC support 2020-07-24 21:20:13 +00:00
generic_i2c.h Sansa Connect: Use deviceid in USB Serial Number 2021-07-10 08:56:32 +02:00
hangul.h
hd66789r.h
hosted_codec.h iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
hostfs.h More red fixes: 2024-07-07 15:40:27 -04:00
hwcompat.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
i2c-async.h Make inline functions in headers 'static inline' 2021-12-02 21:31:54 +00:00
i2c-coldfire.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-pp.h
i2c-rk27xx.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-s5l8700.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c-s5l8702.h Add INIT_ATTR to i2c_init() 2023-01-12 06:33:50 -05:00
i2c.h Fix red in 7e5fc4076a 2023-01-12 11:56:47 +00:00
i2s.h
iap.h iAP: lingo 1 (microphone) 2015-10-07 06:15:04 +02:00
imx31l.h Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead. 2011-02-02 17:43:32 +00:00
imx233-codec.h imx233: slightly rework 3D audio setting 2016-12-12 12:15:24 +01:00
imx233.h imx233: fix soc header for stmp3600 and stmp3700 2013-06-18 15:33:07 +02:00
ipod_remote_tuner.h Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
isp1362.h
isp1583.h creative zvm isp1583 defines: move to isp1583.h 2011-12-31 18:44:32 +00:00
jz4740-codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
jz4740.h fix red from #641e91aa2f 2023-01-13 17:02:23 -05:00
jz4760b.h jz47x0: Minor code quality improvements in the jz47xx USB drivers 2021-11-22 08:08:12 -05:00
jz_mxu.h
lcd-remote.h lcd_framebuffer bugfixes, sanity checks 2020-10-31 01:11:30 -04:00
lcd.h Fix red in c36d7768c5 2024-04-01 16:30:41 +01:00
led.h
linuxboot.h x1000: bootloader: fix Linux self-extracting kernel boot 2022-03-24 23:40:07 +00:00
load_code.h Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
logdiskf.h logdiskf.h - fix wrong cpp conditionals 2012-10-22 22:36:11 +02:00
logf.h logf: Fix two issues with logf_panic_dump() 2021-08-06 10:08:00 -04:00
ltv350qv.h
lv24020lp.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
m5636.h
m66591.h
mc13783.h imx31: Work around an apparently not-quite-kosher abuse of CPP 2020-10-13 15:48:31 -04:00
mcf5249.h
mcf5250.h
mi4-loader.h multiboot: Refactor duplicated functions to a separate file 2022-03-11 10:58:20 -05:00
mips-archdefs.h
mips.h
mipsregs.h
mmc.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
mpr121.h zenxfi3: rewrite mpr121 driver 2016-06-01 23:09:27 +02:00
multiboot.h multiboot: Refactor boot data validation, add version numbers 2024-03-31 16:57:19 +01:00
mv.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
nand.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
nand_id.h
nwzlinux_codec.h nwzlinux: add support for radio 2017-11-06 21:37:06 +01:00
ohci.h
panic.h panicf doesn't return so why not tell GCC and $AVE : 2014-08-25 13:55:16 -04:00
pathfuncs.h talk: Voice the volume name when browsing and when voicing full paths 2024-07-28 16:54:33 -04:00
pca9555.h Introduce HiFi E.T MA9 port. 2013-05-06 14:09:24 +04:00
pcf5060x.h
pcf5063x.h iPod Classic: ADC updates 2016-08-12 14:17:46 +02:00
pcf50605.h
pcf50606.h
pcf50635.h
pcm-internal.h pcm: Remove unused function pcm_play_dma_get_peak_buffer() 2021-07-25 14:07:41 +00:00
pcm.h pcm: Further cleanup of unused bits of the PCM ACPI: 2020-11-12 15:59:09 +00:00
pcm1792.h Introduce HiFi E.T. MA8/MA8C ports. 2013-11-05 09:59:45 +04:00
pcm_mixer.h hosted: Improve buffer underrun handling in the ALSA driver 2020-11-18 14:38:12 -05:00
pcm_sampr.h [BugFix] Fix some Shif related UB -- ASAN 2023-01-04 22:00:25 -05:00
pcm_sw_volume.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
pl080.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
pl081.h
pl180.h
pnx0101.h
power.h Rework powermgmt to enable code re-use on appliation and sims. 2012-01-03 23:44:38 +00:00
powermgmt.h powermgmt: Remove CURRENT_USB 2023-09-30 03:21:52 -04:00
pp5002.h Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
pp5020.h H10 PP Crash -- Fixed 2021-04-01 00:52:57 -04:00
pp5024.h
pp6100.h sansaview: fix lcd code 2014-05-11 19:56:43 +02:00
profile.h
qt1106.h
r61509.h
ramdisk.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
rbpaths.h Fix typo inadvertantly introduced in 89b4cd59ef 2024-07-24 09:01:57 -04:00
rda5802.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
rds.h Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
rectangle.h Add rectangle utility functions 2022-12-01 12:36:28 -05:00
rk27xx.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
rk27xx_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
rkw-loader.h rename rkw.h header file 2012-03-04 00:36:02 +01:00
rocker_codec.h pcm: Get rid of pcm_play_pause() and associated APIs 2020-10-31 01:18:27 +00:00
rolo.h hosted: Add ROLO support for hosted targets 2020-10-11 14:18:42 +00:00
rtc.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
s3c2440.h
s5l8700.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
s5l8702.h headers: Don't blindly include <inttypes.h> in files used by ASM 2020-03-29 00:49:06 +01:00
screendump.h firmware: allow screendump in bootloader 2022-03-24 18:59:50 -04:00
scroll_engine.h Fix red in 5fd5f56cac 2024-03-31 16:57:19 +01:00
sd.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
sdmmc.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
serial.h
si4700.h RFT: convert Gigabeat RDS to thread 2022-02-07 22:01:20 +01:00
sound.h Revert "sound: add sound_numdecimals() to round out the sound setting query API" 2021-04-09 10:52:02 +00:00
spdif.h
spi.h Clean spi.h and spi-target.h 2012-01-07 22:04:12 +00:00
stfm1000.h zenxfi3&stfm1000: implement fmradio i2c and debug screen 2012-05-19 18:04:25 +02:00
storage.h storage: 64-bit sector offsets 2024-08-12 14:23:44 -04:00
sw_i2c.h
synaptics-mep.h SA9200: Adjust touchpad sensitivities so that actual contact with the player is needed to cause button presses and hopefully those settings will work nicely. Add a parameter read function to the MEP driver for debugging and RE purposes; enable compilation of it if you want to use it. Make a note in power-sa9200.c about button inits. 2011-01-11 23:48:29 +00:00
synaptics-rmi.h fuze+: rewrite touchpad driver 2016-06-01 23:08:17 +02:00
system.h Sansa e200v2: bootloader: fit size 2024-04-01 11:02:04 -04:00
tcc780x.h Define CACHEALIGN_BITS for missing ARM CPUs for later use. 2010-11-19 07:17:20 +00:00
tea5760.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
tea5767.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
timer.h Fix timer Agptek Rocker (other hosted players) 2019-10-17 21:19:00 +02:00
tlv320.h tlv320: document audiohw setting based on tlv320.c 2016-12-12 13:13:52 +01:00
touchpad.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
touchscreen.h fix red 2013-09-05 20:35:51 +02:00
tsc200x.h
tsc2100.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
tuner.h [1/4] Remove SH support and all archos targets 2020-07-24 21:20:13 +00:00
uc870x.h iPod Classic: updates for uc8702 driver 2016-05-13 23:21:42 +02:00
ucl_decompress.h Add standalone UCL decompressor 2021-05-12 10:35:20 +00:00
uda1341.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
uda1380.h uda1380: document audiohw setting based on uda1380.c 2016-12-12 13:14:22 +01:00
udacodec.h
usb-designware.h usb-designware: port to new USB API 2021-10-16 21:14:42 +01:00
usb-s3c6400x.h GHWCFG* are not as3525v2 specific 2012-01-01 19:21:49 +00:00
usb-tcc.h
usb.h usb: remove "Ask" USB Mode (FS#13317) 2022-06-21 18:11:53 -04:00
usb_ch9.h gcc9: Move structure packing to the struct definition 2024-10-12 09:23:37 -04:00
usb_core.h usb: introduce new control request API 2021-10-16 15:58:43 -04:00
usb_drv.h usb: introduce new control request API 2021-10-16 15:58:43 -04:00
wifi.h Sansa Connect: Initial libertas WiFi driver port 2021-07-04 07:41:44 +00:00
wm8731.h wm8731: document audiohw settings 2016-12-12 13:11:25 +01:00
wm8740.h Add Xuelin iHIFI 770/770C/800 support 2019-01-02 08:10:01 -05:00
wm8751.h wm8751: document and fix audiohw settings 2016-12-12 13:12:15 +01:00
wm8758.h wm8758: document and fix audiohw settings 2016-12-12 13:12:47 +01:00
wm8975.h wm8975: document audiohw settings 2016-12-12 13:13:13 +01:00
wm8978.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8985.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wmcodec.h
x1000-codec.h x1000: internal codec audio driver 2022-01-16 19:17:25 -05:00
x1000.h x1000: Clarify definition & usage of RAM areas 2022-03-11 11:15:56 -05:00
xduoolinux_codec.h xduoox3ii: Add "Super Slow" filter roll-off 2021-07-17 08:18:31 -04:00