Thread (5 messages) flat view 5 messages, 2 authors, 2011-01-10
DORMANTno replies

[PATCH V2] ARM: S5PV310: Implement kernel timers using MCT

From: Kukjin Kim <hidden>
Date: 2011-01-10 04:03:36

Russell King - ARM Linux wrote:
On Fri, Jan 07, 2011 at 09:05:11PM +0900, Kukjin Kim wrote:
quoted
Russell King - ARM Linux wrote:
quoted
On Tue, Jan 04, 2011 at 11:18:47AM +0900, Kukjin Kim wrote:
quoted
From: Changhwan Youn <redacted>

The Multi-Core Timer(MCT) of S5PV310 is designed for implementing
clock source timer and clock event timers. This patch implements
1 clock source timer with 64 bit free running counter of MCT and
2 clock event timers with two of 31-bit tick counters.
I want to wait until after this merge window before commenting too
much
quoted
quoted
on this; some of this patch will be impacted by changes in this merge
window.
Hmmm...Ok, I understood.
That stuff is now in mainline - not only the new sched_clock() support
but also the SMP changes (which impact on your MCT code.)  Please rebase
on latest mainline and re-send.
I found it in mainline...thanks...ok, will do it.
quoted
quoted
quoted
+static void s5pv310_frc_suspend(struct clocksource *cs)
+{
+	time_suspended = s5pv310_frc_read(cs);
+};
+
+static void s5pv310_frc_resume(struct clocksource *cs)
+{
+	s5pv310_mct_frc_start((u32)(time_suspended >> 32),
(u32)time_suspended);
quoted
+};
Is this something which other clocksource drivers need to do, or does
the
quoted
quoted
core automatically deal with the clocksource being irregular across a
suspend/resume event?
Normally this is not necessary because core deals with the irregularity
of
quoted
clocksource, but for sched_clock() implementation, clocksource had
better
be
quoted
regular across a suspend/resume event. One example is "Show timing
information on printks" kernel configuration. Without this code, timing
information resets after suspend/resume event.

Following is not submitted but will be submitted :-)

unsigned long long sched_clock(void)
{
	struct clocksource *cs = &mct_frc;

	return clocksource_cyc2ns(cs->read(NULL), sched_mult, sched_shift);
}
Please use the new sched_clock stuff which guarantees to return a 64-bit
cycle count (which is what sched_clock() is required to do.)
Ok.

Russell one more,
Is it possible that I send 'pull request' to you for 38 merge window on this
Wednesday?

Thanks.

Best regards,
Kgene.
--
Kukjin Kim [off-list ref], Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help