summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/pp/ata-target.h
diff options
context:
space:
mode:
authorChristian Soffke <christian.soffke@gmail.com>2021-02-21 00:53:01 +0100
committerSolomon Peachy <pizza@shaftnet.org>2021-02-27 14:38:49 +0000
commit7d7850368ede94290ef28c2a4abc684a7f6ab467 (patch)
tree550aee043b5d0f2753c1429f9c07a866c9ddf0ee /firmware/target/arm/pp/ata-target.h
parent317908e8c31ad07d1cfeaf0e97d9e95bc9fcc99d (diff)
downloadrockbox-7d7850368ede94290ef28c2a4abc684a7f6ab467.tar.gz
rockbox-7d7850368ede94290ef28c2a4abc684a7f6ab467.tar.bz2
rockbox-7d7850368ede94290ef28c2a4abc684a7f6ab467.zip
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
Diffstat (limited to 'firmware/target/arm/pp/ata-target.h')
-rw-r--r--firmware/target/arm/pp/ata-target.h6
1 files changed, 4 insertions, 2 deletions
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