Commit e9cef549 authored by Deng-Cheng Zhu's avatar Deng-Cheng Zhu Committed by Ralf Baechle

MIPS: csrc-r4k: Implement read_sched_clock

Use c0 count register for sched_clock source. This implementation will give
high resolution cputime accounting.
Signed-off-by: default avatarDeng-Cheng Zhu <dengcheng.zhu@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: macro@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9478/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 929de4cc
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
*/ */
#include <linux/clocksource.h> #include <linux/clocksource.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/sched_clock.h>
#include <asm/time.h> #include <asm/time.h>
...@@ -22,6 +23,11 @@ static struct clocksource clocksource_mips = { ...@@ -22,6 +23,11 @@ static struct clocksource clocksource_mips = {
.flags = CLOCK_SOURCE_IS_CONTINUOUS, .flags = CLOCK_SOURCE_IS_CONTINUOUS,
}; };
static u64 notrace r4k_read_sched_clock(void)
{
return read_c0_count();
}
int __init init_r4k_clocksource(void) int __init init_r4k_clocksource(void)
{ {
if (!cpu_has_counter || !mips_hpt_frequency) if (!cpu_has_counter || !mips_hpt_frequency)
...@@ -32,5 +38,7 @@ int __init init_r4k_clocksource(void) ...@@ -32,5 +38,7 @@ int __init init_r4k_clocksource(void)
clocksource_register_hz(&clocksource_mips, mips_hpt_frequency); clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);
sched_clock_register(r4k_read_sched_clock, 32, mips_hpt_frequency);
return 0; return 0;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment