rockbox/firmware/target/arm
mojyack e13befb925 pp5020: ata: do not yield in ata_wait_intrq()
Confirmed on iFlash-modded ipodvideo, USB mass storage connections
frequently fail with bus resets during mount on macOS, and trigger
"reset high-speed USB device" errors on Linux during sequential
reads.

The root cause is: storage_read_sectors() calls yield() via
ata_wait_intrq(), which switches to the main thread running
handle_usb_events() loop. This calls send_event(GUI_EVENT_ACTIONUPDATE),
triggering LCD redraw that takes approximately 110ms. This stalls the
ATA DMA completion, causing the USB bulk transfer to time out from the
host's perspective.

This commit removes the yield to prevent the reading thread from being
preempted by the lengthy LCD redraw during DMA completion.

This also improves sequential read throughput from ~13MB/s to ~18MB/s.

Change-Id: Ia552f97aa0169c93c4f21e250d13dc3a626661d4
2026-03-10 18:17:41 -04:00
..
as3525 pcm: introduce pcm_sink 2026-03-02 10:09:11 +09:00
imx31 pcm: introduce pcm_sink 2026-03-02 10:09:11 +09:00
imx233 pcm: introduce pcm_sink 2026-03-02 10:09:11 +09:00
ipod pass event data to usb_acknowledge 2026-01-26 19:47:09 -05:00
iriver
olympus
pbell
philips
pp pp5020: ata: do not yield in ata_wait_intrq() 2026-03-10 18:17:41 -04:00
rk27xx misc: respect standard __ASSEMBLER__ define in CPU headers 2026-03-05 21:13:50 +00:00
s3c2440 pcm: introduce pcm_sink 2026-03-02 10:09:11 +09:00
s5l8700 pcm: introduce pcm_sink 2026-03-02 10:09:11 +09:00
s5l8702 misc: respect standard __ASSEMBLER__ define in CPU headers 2026-03-05 21:13:50 +00:00
samsung
sandisk Remove Sansa View port 2026-02-03 22:04:41 +00:00
stm32 stm32h743: rename CPU header to match other platform conventions 2026-03-06 14:01:38 +00:00
tcc780x Nuke GDB stub 2026-02-03 10:55:53 +00:00
tms320dm320 mrobe500: fix yellow in a24142b234 2026-03-06 16:24:13 -05:00
ata-as-arm.S Remove Creative Zen Vision and Vision:M ports 2026-02-06 07:31:54 -05:00
ata-nand-telechips.c firmware: get rid of unused "xxx_sleep()" storage driver function 2026-01-13 16:59:39 -05:00
bits-armv4.S
bits-armv6.S
cpucache-arm.h
cpucache-armv7m.c arm: handle unaligned addresses in Cortex-M cache ops 2026-01-13 16:20:45 +00:00
cpucache-armv7m.h
crt0.S
i2c-telechips.c
lcd-c200_c200v2.c
lcd-ssd1815.c
mmu-arm.h
mmu-arm.S misc: respect standard __ASSEMBLER__ define in CPU headers 2026-03-05 21:13:50 +00:00
mmu-armv6.S
nvic-arm.h arm: add nvic_disable_irq_sync() 2026-02-22 20:53:53 -05:00
pcm-telechips.c fix yellow in dfa33c246b 2026-03-01 22:58:33 -05:00
powermgmt-ascodec.c
system-arm-classic.c
system-arm-classic.h Remove Creative Zen Vision and Vision:M ports 2026-02-06 07:31:54 -05:00
system-arm-micro.c
system-arm-micro.h arm: fix Cortex-M IRQ masking 2026-01-23 16:47:46 -05:00
system-arm.h
uc87xx.c
usb-drv-arc.c usb: arc: fix unable to receive 64 bytes long control packet 2026-01-12 16:59:34 -05:00
usb-s3c6400x.c usb: implement endpoint allocation 2026-01-03 13:23:53 -05:00
usb-tcc.c pass event data to usb_acknowledge 2026-01-26 19:47:09 -05:00
vectors-arm-micro.S
wmcodec-telechips.c