From 4e338159afce8830dec6de27367d70bfbbb2a620 Mon Sep 17 00:00:00 2001 From: Gilles Chanteperdrix Date: Fri, 24 Feb 2012 22:50:50 +0100 Subject: [PATCH] --- yaml --- r: 288315 b: refs/heads/master c: 120213728c6407398428a5692cfa5004b520b274 h: refs/heads/master i: 288313: 76bffb778099acdaef585e1929256ab3a7aa897d 288311: 689add9ee1c43b12afe3007076acfba05b855f2e v: v3 --- [refs] | 2 +- trunk/arch/arm/plat-spear/time.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 005dba8dd089..1ed85c849593 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7e55d0527e4925a49464a5b26fdabae1f7a91a77 +refs/heads/master: 120213728c6407398428a5692cfa5004b520b274 diff --git a/trunk/arch/arm/plat-spear/time.c b/trunk/arch/arm/plat-spear/time.c index 0c77e4298675..abb5bdecd509 100644 --- a/trunk/arch/arm/plat-spear/time.c +++ b/trunk/arch/arm/plat-spear/time.c @@ -145,11 +145,13 @@ static void clockevent_set_mode(enum clock_event_mode mode, static int clockevent_next_event(unsigned long cycles, struct clock_event_device *clk_event_dev) { - u16 val; + u16 val = readw(gpt_base + CR(CLKEVT)); + + if (val & CTRL_ENABLE) + writew(val & ~CTRL_ENABLE, gpt_base + CR(CLKEVT)); writew(cycles, gpt_base + LOAD(CLKEVT)); - val = readw(gpt_base + CR(CLKEVT)); val |= CTRL_ENABLE | CTRL_INT_ENABLE; writew(val, gpt_base + CR(CLKEVT));