diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-02 16:40:50 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-02 16:40:50 -0400 |
commit | bdfc7cbdeef8cadba0e5793079ac0130b8e2220c (patch) | |
tree | 82af0cae4898e259edcc6cbdad639087dc1189a8 /arch/mips/include/asm/smp-ops.h | |
parent | 62d1a3ba5adc5653d43f6cd3a90758bb6ad5d5bd (diff) | |
parent | ade63aada79c61bcd5f51cbd310f237399892268 (diff) |
Merge branch 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr
Pull MIPS updates from Ralf Baechle:
- Support for Imgtec's Aptiv family of MIPS cores.
- Improved detection of BCM47xx configurations.
- Fix hiberation for certain configurations.
- Add support for the Chinese Loongson 3 CPU, a MIPS64 R2 core and
systems.
- Detection and support for the MIPS P5600 core.
- A few more random fixes that didn't make 3.14.
- Support for the EVA Extended Virtual Addressing
- Switch Alchemy to the platform PATA driver
- Complete unification of Alchemy support
- Allow availability of I/O cache coherency to be runtime detected
- Improvments to multiprocessing support for Imgtec platforms
- A few microoptimizations
- Cleanups of FPU support
- Paul Gortmaker's fixes for the init stuff
- Support for seccomp
* 'mips-for-linux-next' of git://git.linux-mips.org/pub/scm/ralf/upstream-sfr: (165 commits)
MIPS: CPC: Use __raw_ memory access functions
MIPS: CM: use __raw_ memory access functions
MIPS: Fix warning when including smp-ops.h with CONFIG_SMP=n
MIPS: Malta: GIC IPIs may be used without MT
MIPS: smp-mt: Use common GIC IPI implementation
MIPS: smp-cmp: Remove incorrect core number probe
MIPS: Fix gigaton of warning building with microMIPS.
MIPS: Fix core number detection for MT cores
MIPS: MT: core_nvpes function to retrieve VPE count
MIPS: Provide empty mips_mt_set_cpuoptions when CONFIG_MIPS_MT=n
MIPS: Lasat: Replace del_timer by del_timer_sync
MIPS: Malta: Setup PM I/O region on boot
MIPS: Loongson: Add a Loongson-3 default config file
MIPS: Loongson 3: Add CPU hotplug support
MIPS: Loongson 3: Add Loongson-3 SMP support
MIPS: Loongson: Add Loongson-3 Kconfig options
MIPS: Loongson: Add swiotlb to support All-Memory DMA
MIPS: Loongson 3: Add serial port support
MIPS: Loongson 3: Add IRQ init and dispatch support
MIPS: Loongson 3: Add HT-linked PCI support
...
Diffstat (limited to 'arch/mips/include/asm/smp-ops.h')
-rw-r--r-- | arch/mips/include/asm/smp-ops.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/mips/include/asm/smp-ops.h b/arch/mips/include/asm/smp-ops.h index ef2a8041e78b..73d35b18fb64 100644 --- a/arch/mips/include/asm/smp-ops.h +++ b/arch/mips/include/asm/smp-ops.h | |||
@@ -13,6 +13,8 @@ | |||
13 | 13 | ||
14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> |
15 | 15 | ||
16 | #include <asm/mips-cm.h> | ||
17 | |||
16 | #ifdef CONFIG_SMP | 18 | #ifdef CONFIG_SMP |
17 | 19 | ||
18 | #include <linux/cpumask.h> | 20 | #include <linux/cpumask.h> |
@@ -43,6 +45,9 @@ static inline void plat_smp_setup(void) | |||
43 | mp_ops->smp_setup(); | 45 | mp_ops->smp_setup(); |
44 | } | 46 | } |
45 | 47 | ||
48 | extern void gic_send_ipi_single(int cpu, unsigned int action); | ||
49 | extern void gic_send_ipi_mask(const struct cpumask *mask, unsigned int action); | ||
50 | |||
46 | #else /* !CONFIG_SMP */ | 51 | #else /* !CONFIG_SMP */ |
47 | 52 | ||
48 | struct plat_smp_ops; | 53 | struct plat_smp_ops; |
@@ -76,6 +81,9 @@ static inline int register_cmp_smp_ops(void) | |||
76 | #ifdef CONFIG_MIPS_CMP | 81 | #ifdef CONFIG_MIPS_CMP |
77 | extern struct plat_smp_ops cmp_smp_ops; | 82 | extern struct plat_smp_ops cmp_smp_ops; |
78 | 83 | ||
84 | if (!mips_cm_present()) | ||
85 | return -ENODEV; | ||
86 | |||
79 | register_smp_ops(&cmp_smp_ops); | 87 | register_smp_ops(&cmp_smp_ops); |
80 | 88 | ||
81 | return 0; | 89 | return 0; |
@@ -97,4 +105,13 @@ static inline int register_vsmp_smp_ops(void) | |||
97 | #endif | 105 | #endif |
98 | } | 106 | } |
99 | 107 | ||
108 | #ifdef CONFIG_MIPS_CPS | ||
109 | extern int register_cps_smp_ops(void); | ||
110 | #else | ||
111 | static inline int register_cps_smp_ops(void) | ||
112 | { | ||
113 | return -ENODEV; | ||
114 | } | ||
115 | #endif | ||
116 | |||
100 | #endif /* __ASM_SMP_OPS_H */ | 117 | #endif /* __ASM_SMP_OPS_H */ |