From 6a812210666bf38d1954280a1cc958eb8590f344 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Tue, 7 Dec 2010 18:45:49 +0800 Subject: [PATCH] rk29: timer: enable oneshot features --- arch/arm/mach-rk29/timer.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-rk29/timer.c b/arch/arm/mach-rk29/timer.c index e1396f27bd3d..8debd38050f9 100644 --- a/arch/arm/mach-rk29/timer.c +++ b/arch/arm/mach-rk29/timer.c @@ -56,9 +56,11 @@ static int rk29_timer_set_next_event(unsigned long cycles, struct clock_event_device *evt) { - RK_TIMER_DISABLE(TIMER_CLKEVT); - RK_TIMER_SETCOUNT(TIMER_CLKEVT, cycles); - RK_TIMER_ENABLE(TIMER_CLKEVT); + do { + RK_TIMER_DISABLE(TIMER_CLKEVT); + RK_TIMER_SETCOUNT(TIMER_CLKEVT, cycles); + RK_TIMER_ENABLE(TIMER_CLKEVT); + } while (RK_TIMER_READVALUE(TIMER_CLKEVT) > cycles); return 0; } @@ -81,7 +83,7 @@ static void rk29_timer_set_mode(enum clock_event_mode mode, struct clock_event_d static struct clock_event_device rk29_timer_clockevent = { .name = TIMER_CLKEVT_NAME, - .features = CLOCK_EVT_FEAT_PERIODIC /*| CLOCK_EVT_FEAT_ONESHOT*/, + .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .shift = 32, .rating = 200, .set_next_event = rk29_timer_set_next_event, -- 2.34.1