-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIPS] Only build r4k clocksource for systems that work ok with it.
In particular as-is it's not suited for multicore and mutiprocessors systems where there is on guarantee that the counter are synchronized or running from the same clock at all. This broke Sibyte and probably others since the "[MIPS] Handle R4000/R4400 mfc0 from count register." commit. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
- Loading branch information
Ralf Baechle
committed
Nov 26, 2007
1 parent
5aa85c9
commit 940f6b4
Showing
9 changed files
with
142 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
* | ||
* Copyright (C) 2007 by Ralf Baechle | ||
*/ | ||
|
||
static cycle_t c0_hpt_read(void) | ||
{ | ||
return read_c0_count(); | ||
} | ||
|
||
static struct clocksource clocksource_mips = { | ||
.name = "MIPS", | ||
.read = c0_hpt_read, | ||
.mask = CLOCKSOURCE_MASK(32), | ||
.flags = CLOCK_SOURCE_IS_CONTINUOUS, | ||
}; | ||
|
||
static void __init init_mips_clocksource(void) | ||
{ | ||
/* Calclate a somewhat reasonable rating value */ | ||
clocksource_mips.rating = 200 + mips_hpt_frequency / 10000000; | ||
|
||
clocksource_set_clock(&clocksource_mips, mips_hpt_frequency); | ||
|
||
clocksource_register(&clocksource_mips); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
* | ||
* Copyright (C) 2006, 07 by Ralf Baechle (ralf@linux-mips.org) | ||
* | ||
* Symmetric Uniprocessor (TM) Support | ||
*/ | ||
#include <linux/kernel.h> | ||
#include <linux/sched.h> | ||
|
||
/* | ||
* Send inter-processor interrupt | ||
*/ | ||
void up_send_ipi_single(int cpu, unsigned int action) | ||
{ | ||
panic(KERN_ERR "%s called", __func__); | ||
} | ||
|
||
static inline void up_send_ipi_mask(cpumask_t mask, unsigned int action) | ||
{ | ||
panic(KERN_ERR "%s called", __func__); | ||
} | ||
|
||
/* | ||
* After we've done initial boot, this function is called to allow the | ||
* board code to clean up state, if needed | ||
*/ | ||
void __cpuinit up_init_secondary(void) | ||
{ | ||
} | ||
|
||
void __cpuinit up_smp_finish(void) | ||
{ | ||
} | ||
|
||
/* Hook for after all CPUs are online */ | ||
void up_cpus_done(void) | ||
{ | ||
} | ||
|
||
/* | ||
* Firmware CPU startup hook | ||
*/ | ||
void __cpuinit up_boot_secondary(int cpu, struct task_struct *idle) | ||
{ | ||
} | ||
|
||
void __init up_smp_setup(void) | ||
{ | ||
} | ||
|
||
void __init up_prepare_cpus(unsigned int max_cpus) | ||
{ | ||
} | ||
|
||
struct plat_smp_ops up_smp_ops = { | ||
.send_ipi_single = up_send_ipi_single, | ||
.send_ipi_mask = up_send_ipi_mask, | ||
.init_secondary = up_init_secondary, | ||
.smp_finish = up_smp_finish, | ||
.cpus_done = up_cpus_done, | ||
.boot_secondary = up_boot_secondary, | ||
.smp_setup = up_smp_setup, | ||
.prepare_cpus = up_prepare_cpus, | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.