Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
 */
#include <linux/clocksource.h>
#include <linux/init.h>
#include <linux/sched_clock.h>

#include <asm/time.h>

@@ -22,6 +23,11 @@ static struct clocksource clocksource_mips = {
	.flags		= CLOCK_SOURCE_IS_CONTINUOUS,
};

static u64 notrace r4k_read_sched_clock(void)
{
	return read_c0_count();
}

int __init init_r4k_clocksource(void)
{
	if (!cpu_has_counter || !mips_hpt_frequency)
@@ -32,5 +38,7 @@ int __init init_r4k_clocksource(void)

	clocksource_register_hz(&clocksource_mips, mips_hpt_frequency);

	sched_clock_register(r4k_read_sched_clock, 32, mips_hpt_frequency);

	return 0;
}