From 7d7850368ede94290ef28c2a4abc684a7f6ab467 Mon Sep 17 00:00:00 2001 From: Christian Soffke Date: Sun, 21 Feb 2021 00:53:01 +0100 Subject: Disable UDMA 2 on iPod4G target ATA DMA was enabled for all PP502x targets in d118f47 after previously reported instabilities were thought to have been fixed. The iPod 4G target remains unstable when UDMA 2 is enabled. File system corruption will eventually occur even using stock hardware in normal usage, according to both my own experience and that of several other forum users. UDMA 1 appears to be stable. Change-Id: I8526bad9e879f5dad5174cfe07cd8828d8b72406 --- firmware/target/arm/pp/ata-target.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'firmware/target') diff --git a/firmware/target/arm/pp/ata-target.h b/firmware/target/arm/pp/ata-target.h index 75570bf3cd..ddf4056db9 100644 --- a/firmware/target/arm/pp/ata-target.h +++ b/firmware/target/arm/pp/ata-target.h @@ -63,13 +63,15 @@ /* Maximum multi-word DMA mode supported by the controller */ #define ATA_MAX_MWDMA 2 -#ifndef BOOTLOADER +#ifndef BOOTLOADER /* The PP5020 supports UDMA 4, but it needs cpu boosting and only * improves performance by ~10% with a stock disk. * UDMA 2 is stable at 30 Mhz. * UDMA 1 is stable at 24 Mhz. + * + * A slower mode is used on iPod 4Gs due to reported instabilities. */ -#if CPUFREQ_NORMAL >= 30000000 +#if CPUFREQ_NORMAL >= 30000000 && !defined(IPOD_4G) #define ATA_MAX_UDMA 2 #elif CPUFREQ_NORMAL >= 24000000 #define ATA_MAX_UDMA 1 -- cgit v1.2.3