summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libspc
diff options
context:
space:
mode:
authorCástor Muñoz <cmvidal@gmail.com>2017-01-13 20:51:07 +0100
committerFranklin Wei <git@fwei.tk>2018-07-30 18:50:27 -0400
commit744274220833e017f3cc3f1b61abd0fc7c3885ec (patch)
tree7b6fcdd7bc9e53bee6f62ed683ddf1db4c0c13ad /lib/rbcodec/codecs/libspc
parent8f38f85fbde2ae78ba50cf9b9f54fbf9d25b4a45 (diff)
downloadrockbox-744274220833e017f3cc3f1b61abd0fc7c3885ec.tar.gz
rockbox-744274220833e017f3cc3f1b61abd0fc7c3885ec.zip
iPod Classic: disable IRAM1
On Classic, IRAM1 (second 128Kb of a total of 256KB available IRAM) is slower than DRAM. Codecs that actually are using regions of IRAM1 runs faster when DRAM is used, so IRAM1 is disabled and only IRAM0 remains enabled: 48KB for core and 80KB for codecs/plugins. The next test_codec results shows how decode time is decreased: file boosted unboosted *.ra ~1.5% ~0.5% *.mpc ~21% ~4.5% *.ogg ~0.5% ~0% nero_he*.m4a ~8% ~1% nero*.m4a ~25% ~7% wmapro*.wma ~4.5% ~0% wma*.wma ~25% ~7% In addition there is a small power save when IRAM1 HW is disabled. Change-Id: I102adee11458e82037f23076d5d5956e23235de8
Diffstat (limited to 'lib/rbcodec/codecs/libspc')
-rw-r--r--lib/rbcodec/codecs/libspc/spc_codec.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/rbcodec/codecs/libspc/spc_codec.h b/lib/rbcodec/codecs/libspc/spc_codec.h
index 446690f726..75c344474e 100644
--- a/lib/rbcodec/codecs/libspc/spc_codec.h
+++ b/lib/rbcodec/codecs/libspc/spc_codec.h
@@ -95,7 +95,7 @@
95/* Not enough IRAM available to move further data to it. */ 95/* Not enough IRAM available to move further data to it. */
96#define IBSS_ATTR_SPC_LARGE_IRAM 96#define IBSS_ATTR_SPC_LARGE_IRAM
97 97
98#elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) 98#elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702)
99#define IBSS_ATTR_SPC IBSS_ATTR 99#define IBSS_ATTR_SPC IBSS_ATTR
100#define ICODE_ATTR_SPC ICODE_ATTR 100#define ICODE_ATTR_SPC ICODE_ATTR
101#define ICONST_ATTR_SPC ICONST_ATTR 101#define ICONST_ATTR_SPC ICONST_ATTR
@@ -103,7 +103,7 @@
103/* Not enough IRAM available to move further data to it. */ 103/* Not enough IRAM available to move further data to it. */
104#define IBSS_ATTR_SPC_LARGE_IRAM 104#define IBSS_ATTR_SPC_LARGE_IRAM
105 105
106#elif defined(CPU_S5L870X) 106#elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701)
107#define IBSS_ATTR_SPC IBSS_ATTR 107#define IBSS_ATTR_SPC IBSS_ATTR
108#define ICODE_ATTR_SPC ICODE_ATTR 108#define ICODE_ATTR_SPC ICODE_ATTR
109#define ICONST_ATTR_SPC ICONST_ATTR 109#define ICONST_ATTR_SPC ICONST_ATTR