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

Commit 93bfb769 authored by Vincent Guittot's avatar Vincent Guittot Committed by Kukjin Kim
Browse files

clocksource: exynos_mct: register sched_clock callback



Use the clocksource mct-frc for sched_clock

Signed-off-by: default avatarVincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent c9eaa447
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/of_irq.h>
#include <linux/of_irq.h>
#include <linux/of_address.h>
#include <linux/of_address.h>
#include <linux/clocksource.h>
#include <linux/clocksource.h>
#include <linux/sched_clock.h>


#define EXYNOS4_MCTREG(x)		(x)
#define EXYNOS4_MCTREG(x)		(x)
#define EXYNOS4_MCT_G_CNT_L		EXYNOS4_MCTREG(0x100)
#define EXYNOS4_MCT_G_CNT_L		EXYNOS4_MCTREG(0x100)
@@ -192,12 +193,19 @@ struct clocksource mct_frc = {
	.resume		= exynos4_frc_resume,
	.resume		= exynos4_frc_resume,
};
};


static u64 notrace exynos4_read_sched_clock(void)
{
	return exynos4_frc_read(&mct_frc);
}

static void __init exynos4_clocksource_init(void)
static void __init exynos4_clocksource_init(void)
{
{
	exynos4_mct_frc_start(0, 0);
	exynos4_mct_frc_start(0, 0);


	if (clocksource_register_hz(&mct_frc, clk_rate))
	if (clocksource_register_hz(&mct_frc, clk_rate))
		panic("%s: can't register clocksource\n", mct_frc.name);
		panic("%s: can't register clocksource\n", mct_frc.name);

	sched_clock_register(exynos4_read_sched_clock, 64, clk_rate);
}
}


static void exynos4_mct_comp0_stop(void)
static void exynos4_mct_comp0_stop(void)