diff options
Diffstat (limited to 'arch/mips/sibyte')
-rw-r--r-- | arch/mips/sibyte/Kconfig | 3 | ||||
-rw-r--r-- | arch/mips/sibyte/Platform | 5 | ||||
-rw-r--r-- | arch/mips/sibyte/bcm1480/smp.c | 8 | ||||
-rw-r--r-- | arch/mips/sibyte/common/Makefile | 1 | ||||
-rw-r--r-- | arch/mips/sibyte/common/bus_watcher.c (renamed from arch/mips/sibyte/sb1250/bus_watcher.c) | 14 | ||||
-rw-r--r-- | arch/mips/sibyte/common/sb_tbprof.c | 1 | ||||
-rw-r--r-- | arch/mips/sibyte/sb1250/Makefile | 1 | ||||
-rw-r--r-- | arch/mips/sibyte/sb1250/smp.c | 8 |
8 files changed, 25 insertions, 16 deletions
diff --git a/arch/mips/sibyte/Kconfig b/arch/mips/sibyte/Kconfig index 01cc1a749c73..5fbd3605d24f 100644 --- a/arch/mips/sibyte/Kconfig +++ b/arch/mips/sibyte/Kconfig | |||
@@ -147,7 +147,8 @@ config SIBYTE_CFE_CONSOLE | |||
147 | 147 | ||
148 | config SIBYTE_BUS_WATCHER | 148 | config SIBYTE_BUS_WATCHER |
149 | bool "Support for Bus Watcher statistics" | 149 | bool "Support for Bus Watcher statistics" |
150 | depends on SIBYTE_SB1xxx_SOC | 150 | depends on SIBYTE_SB1xxx_SOC && \ |
151 | (SIBYTE_BCM112X || SIBYTE_SB1250) | ||
151 | help | 152 | help |
152 | Handle and keep statistics on the bus error interrupts (COR_ECC, | 153 | Handle and keep statistics on the bus error interrupts (COR_ECC, |
153 | BAD_ECC, IO_BUS). | 154 | BAD_ECC, IO_BUS). |
diff --git a/arch/mips/sibyte/Platform b/arch/mips/sibyte/Platform index d03a07516f83..af117330ce14 100644 --- a/arch/mips/sibyte/Platform +++ b/arch/mips/sibyte/Platform | |||
@@ -13,7 +13,6 @@ cflags-$(CONFIG_SIBYTE_BCM112X) += \ | |||
13 | -I$(srctree)/arch/mips/include/asm/mach-sibyte \ | 13 | -I$(srctree)/arch/mips/include/asm/mach-sibyte \ |
14 | -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALL | 14 | -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALL |
15 | 15 | ||
16 | platform-$(CONFIG_SIBYTE_SB1250) += sibyte/ | ||
17 | cflags-$(CONFIG_SIBYTE_SB1250) += \ | 16 | cflags-$(CONFIG_SIBYTE_SB1250) += \ |
18 | -I$(srctree)/arch/mips/include/asm/mach-sibyte \ | 17 | -I$(srctree)/arch/mips/include/asm/mach-sibyte \ |
19 | -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALL | 18 | -DSIBYTE_HDR_FEATURES=SIBYTE_HDR_FMASK_1250_112x_ALL |
@@ -31,7 +30,8 @@ cflags-$(CONFIG_SIBYTE_BCM1x80) += \ | |||
31 | # Sibyte BCM91120C (CRhine) board | 30 | # Sibyte BCM91120C (CRhine) board |
32 | # Sibyte BCM91125C (CRhone) board | 31 | # Sibyte BCM91125C (CRhone) board |
33 | # Sibyte BCM91125E (Rhone) board | 32 | # Sibyte BCM91125E (Rhone) board |
34 | # Sibyte SWARM board | 33 | # Sibyte BCM91250A (SWARM) board |
34 | # Sibyte BCM91250C2 (LittleSur) board | ||
35 | # Sibyte BCM91x80 (BigSur) board | 35 | # Sibyte BCM91x80 (BigSur) board |
36 | # | 36 | # |
37 | load-$(CONFIG_SIBYTE_CARMEL) := 0xffffffff80100000 | 37 | load-$(CONFIG_SIBYTE_CARMEL) := 0xffffffff80100000 |
@@ -41,3 +41,4 @@ load-$(CONFIG_SIBYTE_RHONE) := 0xffffffff80100000 | |||
41 | load-$(CONFIG_SIBYTE_SENTOSA) := 0xffffffff80100000 | 41 | load-$(CONFIG_SIBYTE_SENTOSA) := 0xffffffff80100000 |
42 | load-$(CONFIG_SIBYTE_SWARM) := 0xffffffff80100000 | 42 | load-$(CONFIG_SIBYTE_SWARM) := 0xffffffff80100000 |
43 | load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000 | 43 | load-$(CONFIG_SIBYTE_BIGSUR) := 0xffffffff80100000 |
44 | load-$(CONFIG_SIBYTE_LITTLESUR) := 0xffffffff80100000 | ||
diff --git a/arch/mips/sibyte/bcm1480/smp.c b/arch/mips/sibyte/bcm1480/smp.c index de88e22694a0..54e2c4de15c1 100644 --- a/arch/mips/sibyte/bcm1480/smp.c +++ b/arch/mips/sibyte/bcm1480/smp.c | |||
@@ -60,7 +60,7 @@ static void *mailbox_0_regs[] = { | |||
60 | /* | 60 | /* |
61 | * SMP init and finish on secondary CPUs | 61 | * SMP init and finish on secondary CPUs |
62 | */ | 62 | */ |
63 | void __cpuinit bcm1480_smp_init(void) | 63 | void bcm1480_smp_init(void) |
64 | { | 64 | { |
65 | unsigned int imask = STATUSF_IP4 | STATUSF_IP3 | STATUSF_IP2 | | 65 | unsigned int imask = STATUSF_IP4 | STATUSF_IP3 | STATUSF_IP2 | |
66 | STATUSF_IP1 | STATUSF_IP0; | 66 | STATUSF_IP1 | STATUSF_IP0; |
@@ -95,7 +95,7 @@ static void bcm1480_send_ipi_mask(const struct cpumask *mask, | |||
95 | /* | 95 | /* |
96 | * Code to run on secondary just after probing the CPU | 96 | * Code to run on secondary just after probing the CPU |
97 | */ | 97 | */ |
98 | static void __cpuinit bcm1480_init_secondary(void) | 98 | static void bcm1480_init_secondary(void) |
99 | { | 99 | { |
100 | extern void bcm1480_smp_init(void); | 100 | extern void bcm1480_smp_init(void); |
101 | 101 | ||
@@ -106,7 +106,7 @@ static void __cpuinit bcm1480_init_secondary(void) | |||
106 | * Do any tidying up before marking online and running the idle | 106 | * Do any tidying up before marking online and running the idle |
107 | * loop | 107 | * loop |
108 | */ | 108 | */ |
109 | static void __cpuinit bcm1480_smp_finish(void) | 109 | static void bcm1480_smp_finish(void) |
110 | { | 110 | { |
111 | extern void sb1480_clockevent_init(void); | 111 | extern void sb1480_clockevent_init(void); |
112 | 112 | ||
@@ -125,7 +125,7 @@ static void bcm1480_cpus_done(void) | |||
125 | * Setup the PC, SP, and GP of a secondary processor and start it | 125 | * Setup the PC, SP, and GP of a secondary processor and start it |
126 | * running! | 126 | * running! |
127 | */ | 127 | */ |
128 | static void __cpuinit bcm1480_boot_secondary(int cpu, struct task_struct *idle) | 128 | static void bcm1480_boot_secondary(int cpu, struct task_struct *idle) |
129 | { | 129 | { |
130 | int retval; | 130 | int retval; |
131 | 131 | ||
diff --git a/arch/mips/sibyte/common/Makefile b/arch/mips/sibyte/common/Makefile index 36aa700cc40c..b3d6bf23a662 100644 --- a/arch/mips/sibyte/common/Makefile +++ b/arch/mips/sibyte/common/Makefile | |||
@@ -1,3 +1,4 @@ | |||
1 | obj-y := cfe.o | 1 | obj-y := cfe.o |
2 | obj-$(CONFIG_SIBYTE_BUS_WATCHER) += bus_watcher.o | ||
2 | obj-$(CONFIG_SIBYTE_CFE_CONSOLE) += cfe_console.o | 3 | obj-$(CONFIG_SIBYTE_CFE_CONSOLE) += cfe_console.o |
3 | obj-$(CONFIG_SIBYTE_TBPROF) += sb_tbprof.o | 4 | obj-$(CONFIG_SIBYTE_TBPROF) += sb_tbprof.o |
diff --git a/arch/mips/sibyte/sb1250/bus_watcher.c b/arch/mips/sibyte/common/bus_watcher.c index 8871e3345bff..5581844c9194 100644 --- a/arch/mips/sibyte/sb1250/bus_watcher.c +++ b/arch/mips/sibyte/common/bus_watcher.c | |||
@@ -37,6 +37,9 @@ | |||
37 | #include <asm/sibyte/sb1250_regs.h> | 37 | #include <asm/sibyte/sb1250_regs.h> |
38 | #include <asm/sibyte/sb1250_int.h> | 38 | #include <asm/sibyte/sb1250_int.h> |
39 | #include <asm/sibyte/sb1250_scd.h> | 39 | #include <asm/sibyte/sb1250_scd.h> |
40 | #if defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80) | ||
41 | #include <asm/sibyte/bcm1480_regs.h> | ||
42 | #endif | ||
40 | 43 | ||
41 | 44 | ||
42 | struct bw_stats_struct { | 45 | struct bw_stats_struct { |
@@ -81,9 +84,15 @@ void check_bus_watcher(void) | |||
81 | #ifdef CONFIG_SB1_PASS_1_WORKAROUNDS | 84 | #ifdef CONFIG_SB1_PASS_1_WORKAROUNDS |
82 | /* Destructive read, clears register and interrupt */ | 85 | /* Destructive read, clears register and interrupt */ |
83 | status = csr_in32(IOADDR(A_SCD_BUS_ERR_STATUS)); | 86 | status = csr_in32(IOADDR(A_SCD_BUS_ERR_STATUS)); |
84 | #else | 87 | #elif defined(CONFIG_SIBYTE_BCM112X) || defined(CONFIG_SIBYTE_SB1250) |
85 | /* Use non-destructive register */ | 88 | /* Use non-destructive register */ |
86 | status = csr_in32(IOADDR(A_SCD_BUS_ERR_STATUS_DEBUG)); | 89 | status = csr_in32(IOADDR(A_SCD_BUS_ERR_STATUS_DEBUG)); |
90 | #elif defined(CONFIG_SIBYTE_BCM1x55) || defined(CONFIG_SIBYTE_BCM1x80) | ||
91 | /* Use non-destructive register */ | ||
92 | /* Same as 1250 except BUS_ERR_STATUS_DEBUG is in a different place. */ | ||
93 | status = csr_in32(IOADDR(A_BCM1480_BUS_ERR_STATUS_DEBUG)); | ||
94 | #else | ||
95 | #error bus watcher being built for unknown Sibyte SOC! | ||
87 | #endif | 96 | #endif |
88 | if (!(status & 0x7fffffff)) { | 97 | if (!(status & 0x7fffffff)) { |
89 | printk("Using last values reaped by bus watcher driver\n"); | 98 | printk("Using last values reaped by bus watcher driver\n"); |
@@ -175,9 +184,6 @@ static irqreturn_t sibyte_bw_int(int irq, void *data) | |||
175 | #ifdef CONFIG_SIBYTE_BW_TRACE | 184 | #ifdef CONFIG_SIBYTE_BW_TRACE |
176 | int i; | 185 | int i; |
177 | #endif | 186 | #endif |
178 | #ifndef CONFIG_PROC_FS | ||
179 | char bw_buf[1024]; | ||
180 | #endif | ||
181 | 187 | ||
182 | #ifdef CONFIG_SIBYTE_BW_TRACE | 188 | #ifdef CONFIG_SIBYTE_BW_TRACE |
183 | csr_out32(M_SCD_TRACE_CFG_FREEZE, IOADDR(A_SCD_TRACE_CFG)); | 189 | csr_out32(M_SCD_TRACE_CFG_FREEZE, IOADDR(A_SCD_TRACE_CFG)); |
diff --git a/arch/mips/sibyte/common/sb_tbprof.c b/arch/mips/sibyte/common/sb_tbprof.c index 2188b39a1251..059e28c8fd97 100644 --- a/arch/mips/sibyte/common/sb_tbprof.c +++ b/arch/mips/sibyte/common/sb_tbprof.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/types.h> | 27 | #include <linux/types.h> |
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <linux/interrupt.h> | 29 | #include <linux/interrupt.h> |
30 | #include <linux/sched.h> | ||
30 | #include <linux/vmalloc.h> | 31 | #include <linux/vmalloc.h> |
31 | #include <linux/fs.h> | 32 | #include <linux/fs.h> |
32 | #include <linux/errno.h> | 33 | #include <linux/errno.h> |
diff --git a/arch/mips/sibyte/sb1250/Makefile b/arch/mips/sibyte/sb1250/Makefile index d3d969de407b..cdc4c56c3e29 100644 --- a/arch/mips/sibyte/sb1250/Makefile +++ b/arch/mips/sibyte/sb1250/Makefile | |||
@@ -1,4 +1,3 @@ | |||
1 | obj-y := setup.o irq.o time.o | 1 | obj-y := setup.o irq.o time.o |
2 | 2 | ||
3 | obj-$(CONFIG_SMP) += smp.o | 3 | obj-$(CONFIG_SMP) += smp.o |
4 | obj-$(CONFIG_SIBYTE_BUS_WATCHER) += bus_watcher.o | ||
diff --git a/arch/mips/sibyte/sb1250/smp.c b/arch/mips/sibyte/sb1250/smp.c index 285cfef4ebc0..d7b942db0ea5 100644 --- a/arch/mips/sibyte/sb1250/smp.c +++ b/arch/mips/sibyte/sb1250/smp.c | |||
@@ -48,7 +48,7 @@ static void *mailbox_regs[] = { | |||
48 | /* | 48 | /* |
49 | * SMP init and finish on secondary CPUs | 49 | * SMP init and finish on secondary CPUs |
50 | */ | 50 | */ |
51 | void __cpuinit sb1250_smp_init(void) | 51 | void sb1250_smp_init(void) |
52 | { | 52 | { |
53 | unsigned int imask = STATUSF_IP4 | STATUSF_IP3 | STATUSF_IP2 | | 53 | unsigned int imask = STATUSF_IP4 | STATUSF_IP3 | STATUSF_IP2 | |
54 | STATUSF_IP1 | STATUSF_IP0; | 54 | STATUSF_IP1 | STATUSF_IP0; |
@@ -83,7 +83,7 @@ static inline void sb1250_send_ipi_mask(const struct cpumask *mask, | |||
83 | /* | 83 | /* |
84 | * Code to run on secondary just after probing the CPU | 84 | * Code to run on secondary just after probing the CPU |
85 | */ | 85 | */ |
86 | static void __cpuinit sb1250_init_secondary(void) | 86 | static void sb1250_init_secondary(void) |
87 | { | 87 | { |
88 | extern void sb1250_smp_init(void); | 88 | extern void sb1250_smp_init(void); |
89 | 89 | ||
@@ -94,7 +94,7 @@ static void __cpuinit sb1250_init_secondary(void) | |||
94 | * Do any tidying up before marking online and running the idle | 94 | * Do any tidying up before marking online and running the idle |
95 | * loop | 95 | * loop |
96 | */ | 96 | */ |
97 | static void __cpuinit sb1250_smp_finish(void) | 97 | static void sb1250_smp_finish(void) |
98 | { | 98 | { |
99 | extern void sb1250_clockevent_init(void); | 99 | extern void sb1250_clockevent_init(void); |
100 | 100 | ||
@@ -113,7 +113,7 @@ static void sb1250_cpus_done(void) | |||
113 | * Setup the PC, SP, and GP of a secondary processor and start it | 113 | * Setup the PC, SP, and GP of a secondary processor and start it |
114 | * running! | 114 | * running! |
115 | */ | 115 | */ |
116 | static void __cpuinit sb1250_boot_secondary(int cpu, struct task_struct *idle) | 116 | static void sb1250_boot_secondary(int cpu, struct task_struct *idle) |
117 | { | 117 | { |
118 | int retval; | 118 | int retval; |
119 | 119 | ||