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/loongson/common/reset.c | |
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/loongson/common/reset.c')
-rw-r--r-- | arch/mips/loongson/common/reset.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/mips/loongson/common/reset.c b/arch/mips/loongson/common/reset.c index 65bfbb5d06f4..a60715e11306 100644 --- a/arch/mips/loongson/common/reset.c +++ b/arch/mips/loongson/common/reset.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/reboot.h> | 16 | #include <asm/reboot.h> |
17 | 17 | ||
18 | #include <loongson.h> | 18 | #include <loongson.h> |
19 | #include <boot_param.h> | ||
19 | 20 | ||
20 | static inline void loongson_reboot(void) | 21 | static inline void loongson_reboot(void) |
21 | { | 22 | { |
@@ -37,17 +38,37 @@ static inline void loongson_reboot(void) | |||
37 | 38 | ||
38 | static void loongson_restart(char *command) | 39 | static void loongson_restart(char *command) |
39 | { | 40 | { |
41 | #ifndef CONFIG_LEFI_FIRMWARE_INTERFACE | ||
40 | /* do preparation for reboot */ | 42 | /* do preparation for reboot */ |
41 | mach_prepare_reboot(); | 43 | mach_prepare_reboot(); |
42 | 44 | ||
43 | /* reboot via jumping to boot base address */ | 45 | /* reboot via jumping to boot base address */ |
44 | loongson_reboot(); | 46 | loongson_reboot(); |
47 | #else | ||
48 | void (*fw_restart)(void) = (void *)loongson_sysconf.restart_addr; | ||
49 | |||
50 | fw_restart(); | ||
51 | while (1) { | ||
52 | if (cpu_wait) | ||
53 | cpu_wait(); | ||
54 | } | ||
55 | #endif | ||
45 | } | 56 | } |
46 | 57 | ||
47 | static void loongson_poweroff(void) | 58 | static void loongson_poweroff(void) |
48 | { | 59 | { |
60 | #ifndef CONFIG_LEFI_FIRMWARE_INTERFACE | ||
49 | mach_prepare_shutdown(); | 61 | mach_prepare_shutdown(); |
50 | unreachable(); | 62 | unreachable(); |
63 | #else | ||
64 | void (*fw_poweroff)(void) = (void *)loongson_sysconf.poweroff_addr; | ||
65 | |||
66 | fw_poweroff(); | ||
67 | while (1) { | ||
68 | if (cpu_wait) | ||
69 | cpu_wait(); | ||
70 | } | ||
71 | #endif | ||
51 | } | 72 | } |
52 | 73 | ||
53 | static void loongson_halt(void) | 74 | static void loongson_halt(void) |