From 8f40cefd3585f15e9b6e54305bb7ad22a23aad7a Mon Sep 17 00:00:00 2001 From: Greg Ungerer Date: Wed, 16 Nov 2011 15:09:02 +1000 Subject: [PATCH] --- yaml --- r: 279711 b: refs/heads/master c: 1f2aab01ba2f6c591dee93daf4b57fd9785f3b41 h: refs/heads/master i: 279709: a731caad3dbcf9e1de6c01e002d2b0fc25e44422 279707: ca4c9e7bb2c33fd4fa0d7414b238a876c7f08d16 279703: d20c8322b1f00554ff981a3e6a645d5782716fa4 279695: 30c9c55f9d97e91813b192e76dfd14595c88c525 279679: 5cbd5879b826933dfe2e6183b47cf1659004d48c v: v3 --- [refs] | 2 +- trunk/arch/m68k/platform/coldfire/sltimers.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 408736ca69a5..ebb1b18a06da 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ec84118795fa687192de04e0dcb63178e4bf63e5 +refs/heads/master: 1f2aab01ba2f6c591dee93daf4b57fd9785f3b41 diff --git a/trunk/arch/m68k/platform/coldfire/sltimers.c b/trunk/arch/m68k/platform/coldfire/sltimers.c index b7f822b552bb..54e1452f853a 100644 --- a/trunk/arch/m68k/platform/coldfire/sltimers.c +++ b/trunk/arch/m68k/platform/coldfire/sltimers.c @@ -98,16 +98,19 @@ static struct irqaction mcfslt_timer_irq = { static cycle_t mcfslt_read_clk(struct clocksource *cs) { unsigned long flags; - u32 cycles; - u16 scnt; + u32 cycles, scnt; local_irq_save(flags); scnt = __raw_readl(TA(MCFSLT_SCNT)); cycles = mcfslt_cnt; + if (__raw_readl(TA(MCFSLT_SSR)) & MCFSLT_SSR_TE) { + cycles += mcfslt_cycles_per_jiffy; + scnt = __raw_readl(TA(MCFSLT_SCNT)); + } local_irq_restore(flags); /* subtract because slice timers count down */ - return cycles - scnt; + return cycles + ((mcfslt_cycles_per_jiffy - 1) - scnt); } static struct clocksource mcfslt_clk = {