diff options
| author | Torne Wuff <torne@wolfpuppy.org.uk> | 2010-01-31 11:07:29 +0000 |
|---|---|---|
| committer | Torne Wuff <torne@wolfpuppy.org.uk> | 2010-01-31 11:07:29 +0000 |
| commit | 533cf7737bae4363edefbfb202cb44e9eb30cd3f (patch) | |
| tree | abfb69b76b46fc8d22c14023969ba3fcaad4809d /firmware/export | |
| parent | c0e2d9fe1bb87730d9a8a7cac3cb8f6cd39ce630 (diff) | |
| download | rockbox-533cf7737bae4363edefbfb202cb44e9eb30cd3f.zip rockbox-533cf7737bae4363edefbfb202cb44e9eb30cd3f.tar.gz rockbox-533cf7737bae4363edefbfb202cb44e9eb30cd3f.tar.bz2 rockbox-533cf7737bae4363edefbfb202cb44e9eb30cd3f.tar.xz | |
Enable ATA DMA on pp5020 based players with ATA drives.
DMA is only used for reading because writing seems to be slower with DMA.
Only requests which are cacheline aligned (16 bytes) will use DMA, so many
requests will still use PIO at this point; a later change will align more
reads.
Part of FS#9708, original DMA code by Boris Gjenero (dreamlayers).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24405 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/config/gogearhdd1630.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipod4g.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipodcolor.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipodmini1g.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipodmini2g.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipodnano1g.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/ipodvideo.h | 4 | ||||
| -rw-r--r-- | firmware/export/config/iriverh10.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/iriverh10_5gb.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/mrobe100.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/samsungyh820.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/samsungyh920.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/samsungyh925.h | 5 | ||||
| -rw-r--r-- | firmware/export/config/tatungtpj1022.h | 5 |
14 files changed, 69 insertions, 0 deletions
diff --git a/firmware/export/config/gogearhdd1630.h b/firmware/export/config/gogearhdd1630.h index 912ba42..8bb1480 100644 --- a/firmware/export/config/gogearhdd1630.h +++ b/firmware/export/config/gogearhdd1630.h @@ -200,3 +200,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipod4g.h b/firmware/export/config/ipod4g.h index e6bdc35..cd71434 100644 --- a/firmware/export/config/ipod4g.h +++ b/firmware/export/config/ipod4g.h @@ -207,3 +207,8 @@ #define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */ + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipodcolor.h b/firmware/export/config/ipodcolor.h index 0f1de4f..c0168d9 100644 --- a/firmware/export/config/ipodcolor.h +++ b/firmware/export/config/ipodcolor.h @@ -182,3 +182,8 @@ #define IPOD_ACCESSORY_PROTOCOL #define HAVE_SERIAL + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipodmini1g.h b/firmware/export/config/ipodmini1g.h index 129829f..3ab96e3 100644 --- a/firmware/export/config/ipodmini1g.h +++ b/firmware/export/config/ipodmini1g.h @@ -193,3 +193,8 @@ #define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */ + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipodmini2g.h b/firmware/export/config/ipodmini2g.h index 8087269..72e04a3 100644 --- a/firmware/export/config/ipodmini2g.h +++ b/firmware/export/config/ipodmini2g.h @@ -203,3 +203,8 @@ #define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */ + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipodnano1g.h b/firmware/export/config/ipodnano1g.h index 5f63c26..562c940 100644 --- a/firmware/export/config/ipodnano1g.h +++ b/firmware/export/config/ipodnano1g.h @@ -192,3 +192,8 @@ #define IPOD_ACCESSORY_PROTOCOL #define HAVE_SERIAL + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/ipodvideo.h b/firmware/export/config/ipodvideo.h index 9aa1d49..d188696 100644 --- a/firmware/export/config/ipodvideo.h +++ b/firmware/export/config/ipodvideo.h @@ -224,3 +224,7 @@ #define IPOD_ACCESSORY_PROTOCOL #define HAVE_SERIAL +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/iriverh10.h b/firmware/export/config/iriverh10.h index cde1b60..5365c83 100644 --- a/firmware/export/config/iriverh10.h +++ b/firmware/export/config/iriverh10.h @@ -186,3 +186,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/iriverh10_5gb.h b/firmware/export/config/iriverh10_5gb.h index e69f6c2..bfc9b8a 100644 --- a/firmware/export/config/iriverh10_5gb.h +++ b/firmware/export/config/iriverh10_5gb.h @@ -169,3 +169,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT #endif + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/mrobe100.h b/firmware/export/config/mrobe100.h index 9041991..2bbb039 100644 --- a/firmware/export/config/mrobe100.h +++ b/firmware/export/config/mrobe100.h @@ -200,3 +200,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/samsungyh820.h b/firmware/export/config/samsungyh820.h index 4968960..0ca244a 100644 --- a/firmware/export/config/samsungyh820.h +++ b/firmware/export/config/samsungyh820.h @@ -181,3 +181,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/samsungyh920.h b/firmware/export/config/samsungyh920.h index 310fa13..a6a57f7 100644 --- a/firmware/export/config/samsungyh920.h +++ b/firmware/export/config/samsungyh920.h @@ -187,3 +187,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/samsungyh925.h b/firmware/export/config/samsungyh925.h index 55d46ae..c19901c 100644 --- a/firmware/export/config/samsungyh925.h +++ b/firmware/export/config/samsungyh925.h @@ -185,3 +185,8 @@ #define ICODE_ATTR_TREMOR_NOT_MDCT + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA diff --git a/firmware/export/config/tatungtpj1022.h b/firmware/export/config/tatungtpj1022.h index 079be73..aca131d 100644 --- a/firmware/export/config/tatungtpj1022.h +++ b/firmware/export/config/tatungtpj1022.h @@ -137,3 +137,8 @@ #define BOOTFILE "rockbox." BOOTFILE_EXT #define BOOTDIR "/.rockbox" + +/* DMA is used only for reading on PP502x because although reads are ~8x faster + * writes appear to be ~25% slower. + */ +#define HAVE_ATA_DMA |