summaryrefslogtreecommitdiff
path: root/apps/codecs/demac/libdemac/demac_iram.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-10-03 21:40:32 +0000
committerJens Arnold <amiconn@rockbox.org>2008-10-03 21:40:32 +0000
commitd1b19be423ab5fc62a7d16b26813b9624bf57709 (patch)
tree01ad3fe534efbb614b82712ecf419f99edfc349b /apps/codecs/demac/libdemac/demac_iram.h
parent66fe9a462c5093003a0b65239b54b44f6395b342 (diff)
downloadrockbox-d1b19be423ab5fc62a7d16b26813b9624bf57709.tar.gz
rockbox-d1b19be423ab5fc62a7d16b26813b9624bf57709.zip
Various speedups: (1) Put actual decoding functions into IRAM on PP5002. (2) Put the insane filter buffer into IRAM on coldfire and PP502x (just for completeness, as long as there's no better use). (3) Use the ARMv6 'ssat' instruction for saturation on Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18701 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/demac/libdemac/demac_iram.h')
-rw-r--r--apps/codecs/demac/libdemac/demac_iram.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/apps/codecs/demac/libdemac/demac_iram.h b/apps/codecs/demac/libdemac/demac_iram.h
new file mode 100644
index 0000000000..fb6965a35e
--- /dev/null
+++ b/apps/codecs/demac/libdemac/demac_iram.h
@@ -0,0 +1,42 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2008 Jens Arnold
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22/* Define how IRAM is used on the various targets. Note that this file
23 * is included by both .c and .S files so must not contain any C code. */
24
25#ifndef _LIBDEMAC_IRAM_H
26#define _LIBDEMAC_IRAM_H
27
28#include "config.h"
29
30/* On PP5002 code should go into IRAM. Otherwise put the insane
31 * filter buffer into IRAM as long as there is no better use. */
32#if CONFIG_CPU == PP5002
33#define ICODE_SECTION_DEMAC_ARM .icode
34#define ICODE_ATTR_DEMAC ICODE_ATTR
35#define IBSS_ATTR_DEMAC_INSANEBUF
36#else
37#define ICODE_SECTION_DEMAC_ARM .text
38#define ICODE_ATTR_DEMAC
39#define IBSS_ATTR_DEMAC_INSANEBUF IBSS_ATTR
40#endif
41
42#endif /* _LIBDEMAC_IRAM_H */