summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf561
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2009-01-07 23:14:39 +0800
committerBryan Wu <cooloney@kernel.org>2009-01-07 23:14:39 +0800
commitdbc895f95500a73ebf1ff12fe85f2e2b3790f52f (patch)
tree8b60024a7725c559767295b2b3ef143a39111f8b /arch/blackfin/mach-bf561
parentf994607a2e118aedf1116a58ecd16126dbb83d28 (diff)
downloadblackbird-op-linux-dbc895f95500a73ebf1ff12fe85f2e2b3790f52f.tar.gz
blackbird-op-linux-dbc895f95500a73ebf1ff12fe85f2e2b3790f52f.zip
Blackfin arch: smp patch cleanup from LKML review
1. Use inline get_l1_... functions instead of macro 2. Fix compile issue about smp barrier functions Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-bf561')
-rw-r--r--arch/blackfin/mach-bf561/include/mach/mem_map.h42
-rw-r--r--arch/blackfin/mach-bf561/smp.c11
2 files changed, 4 insertions, 49 deletions
diff --git a/arch/blackfin/mach-bf561/include/mach/mem_map.h b/arch/blackfin/mach-bf561/include/mach/mem_map.h
index 488c3bda65bf..419dffdc96eb 100644
--- a/arch/blackfin/mach-bf561/include/mach/mem_map.h
+++ b/arch/blackfin/mach-bf561/include/mach/mem_map.h
@@ -85,47 +85,7 @@
#define L1_SCRATCH_START COREA_L1_SCRATCH_START
#define L1_SCRATCH_LENGTH 0x1000
-#ifndef __ASSEMBLY__
-
-#ifdef CONFIG_SMP
-
-#define get_l1_scratch_start_cpu(cpu) \
- ({ unsigned long __addr; \
- __addr = (cpu) ? COREB_L1_SCRATCH_START : COREA_L1_SCRATCH_START;\
- __addr; })
-
-#define get_l1_code_start_cpu(cpu) \
- ({ unsigned long __addr; \
- __addr = (cpu) ? COREB_L1_CODE_START : COREA_L1_CODE_START; \
- __addr; })
-
-#define get_l1_data_a_start_cpu(cpu) \
- ({ unsigned long __addr; \
- __addr = (cpu) ? COREB_L1_DATA_A_START : COREA_L1_DATA_A_START;\
- __addr; })
-
-#define get_l1_data_b_start_cpu(cpu) \
- ({ unsigned long __addr; \
- __addr = (cpu) ? COREB_L1_DATA_B_START : COREA_L1_DATA_B_START;\
- __addr; })
-
-#define get_l1_scratch_start() get_l1_scratch_start_cpu(blackfin_core_id())
-#define get_l1_code_start() get_l1_code_start_cpu(blackfin_core_id())
-#define get_l1_data_a_start() get_l1_data_a_start_cpu(blackfin_core_id())
-#define get_l1_data_b_start() get_l1_data_b_start_cpu(blackfin_core_id())
-
-#else /* !CONFIG_SMP */
-#define get_l1_scratch_start_cpu(cpu) L1_SCRATCH_START
-#define get_l1_code_start_cpu(cpu) L1_CODE_START
-#define get_l1_data_a_start_cpu(cpu) L1_DATA_A_START
-#define get_l1_data_b_start_cpu(cpu) L1_DATA_B_START
-#define get_l1_scratch_start() L1_SCRATCH_START
-#define get_l1_code_start() L1_CODE_START
-#define get_l1_data_a_start() L1_DATA_A_START
-#define get_l1_data_b_start() L1_DATA_B_START
-#endif /* !CONFIG_SMP */
-
-#else /* __ASSEMBLY__ */
+#ifdef __ASSEMBLY__
/*
* The following macros both return the address of the PDA for the
diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c
index 23fd4c13897f..9b27e698c0b2 100644
--- a/arch/blackfin/mach-bf561/smp.c
+++ b/arch/blackfin/mach-bf561/smp.c
@@ -27,11 +27,6 @@
#include <asm/smp.h>
#include <asm/dma.h>
-#define COREB_SRAM_BASE 0xff600000
-#define COREB_SRAM_SIZE 0x4000
-
-extern char coreb_trampoline_start, coreb_trampoline_end;
-
static DEFINE_SPINLOCK(boot_lock);
static cpumask_t cpu_callin_map;
@@ -54,15 +49,15 @@ void __init platform_prepare_cpus(unsigned int max_cpus)
int len;
len = &coreb_trampoline_end - &coreb_trampoline_start + 1;
- BUG_ON(len > COREB_SRAM_SIZE);
+ BUG_ON(len > L1_CODE_LENGTH);
- dma_memcpy((void *)COREB_SRAM_BASE, &coreb_trampoline_start, len);
+ dma_memcpy((void *)COREB_L1_CODE_START, &coreb_trampoline_start, len);
/* Both cores ought to be present on a bf561! */
cpu_set(0, cpu_present_map); /* CoreA */
cpu_set(1, cpu_present_map); /* CoreB */
- printk(KERN_INFO "CoreB bootstrap code to SRAM %p via DMA.\n", (void *)COREB_SRAM_BASE);
+ printk(KERN_INFO "CoreB bootstrap code to SRAM %p via DMA.\n", (void *)COREB_L1_CODE_START);
}
int __init setup_profiling_timer(unsigned int multiplier) /* not supported */
OpenPOWER on IntegriCloud