diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-07-19 02:51:31 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-07-19 02:51:31 -0400 |
commit | 5d481f497559245ecfb1b95cafe39bfbf037fda5 (patch) | |
tree | 2fda653110eee285def1a063bde65c3a45e7bc5f /arch/blackfin/mm/init.c | |
parent | 1a8caeebe3689ad4ef67d7ff5d4143f7748deedd (diff) |
Blackfin arch: change L1 malloc to base on slab cache and lists.
Remove the sram piece limitation and improve the performance to
alloc/free sram piece data.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mm/init.c')
-rw-r--r-- | arch/blackfin/mm/init.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/blackfin/mm/init.c b/arch/blackfin/mm/init.c index ec3141fefd20..4aab21f44096 100644 --- a/arch/blackfin/mm/init.c +++ b/arch/blackfin/mm/init.c | |||
@@ -164,11 +164,14 @@ void __init mem_init(void) | |||
164 | "(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n", | 164 | "(%uk init code, %uk kernel code, %uk data, %uk dma, %uk reserved)\n", |
165 | (unsigned long) freepages << (PAGE_SHIFT-10), _ramend >> 10, | 165 | (unsigned long) freepages << (PAGE_SHIFT-10), _ramend >> 10, |
166 | initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10))); | 166 | initk, codek, datak, DMA_UNCACHED_REGION >> 10, (reservedpages << (PAGE_SHIFT-10))); |
167 | } | ||
168 | |||
169 | static int __init sram_init(void) | ||
170 | { | ||
171 | unsigned long tmp; | ||
167 | 172 | ||
168 | /* Initialize the blackfin L1 Memory. */ | 173 | /* Initialize the blackfin L1 Memory. */ |
169 | l1sram_init(); | 174 | bfin_sram_init(); |
170 | l1_data_sram_init(); | ||
171 | l1_inst_sram_init(); | ||
172 | 175 | ||
173 | /* Allocate this once; never free it. We assume this gives us a | 176 | /* Allocate this once; never free it. We assume this gives us a |
174 | pointer to the start of L1 scratchpad memory; panic if it | 177 | pointer to the start of L1 scratchpad memory; panic if it |
@@ -179,7 +182,10 @@ void __init mem_init(void) | |||
179 | tmp, (unsigned long)L1_SCRATCH_TASK_INFO); | 182 | tmp, (unsigned long)L1_SCRATCH_TASK_INFO); |
180 | panic("No L1, time to give up\n"); | 183 | panic("No L1, time to give up\n"); |
181 | } | 184 | } |
185 | |||
186 | return 0; | ||
182 | } | 187 | } |
188 | pure_initcall(sram_init); | ||
183 | 189 | ||
184 | static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) | 190 | static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) |
185 | { | 191 | { |