|
@@ -42,10 +42,10 @@ static void twd_set_mode(enum clock_event_mode mode,
|
|
|
|
|
|
switch (mode) {
|
|
|
case CLOCK_EVT_MODE_PERIODIC:
|
|
|
- /* timer load already set up */
|
|
|
ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE
|
|
|
| TWD_TIMER_CONTROL_PERIODIC;
|
|
|
- __raw_writel(twd_timer_rate / HZ, twd_base + TWD_TIMER_LOAD);
|
|
|
+ __raw_writel(DIV_ROUND_CLOSEST(twd_timer_rate, HZ),
|
|
|
+ twd_base + TWD_TIMER_LOAD);
|
|
|
break;
|
|
|
case CLOCK_EVT_MODE_ONESHOT:
|
|
|
/* period set, and timer enabled in 'next_event' hook */
|