aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mm/init.c
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2008-07-19 02:51:31 -0400
committerBryan Wu <cooloney@kernel.org>2008-07-19 02:51:31 -0400
commit5d481f497559245ecfb1b95cafe39bfbf037fda5 (patch)
tree2fda653110eee285def1a063bde65c3a45e7bc5f /arch/blackfin/mm/init.c
parent1a8caeebe3689ad4ef67d7ff5d4143f7748deedd (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.c12
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
169static 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}
188pure_initcall(sram_init);
183 189
184static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end) 190static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end)
185{ 191{