|
@@ -45,7 +45,7 @@ static void twd_set_mode(enum clock_event_mode mode,
|
|
|
case CLOCK_EVT_MODE_PERIODIC:
|
|
|
ctrl = TWD_TIMER_CONTROL_ENABLE | TWD_TIMER_CONTROL_IT_ENABLE
|
|
|
| TWD_TIMER_CONTROL_PERIODIC;
|
|
|
- __raw_writel(DIV_ROUND_CLOSEST(twd_timer_rate, HZ),
|
|
|
+ writel_relaxed(DIV_ROUND_CLOSEST(twd_timer_rate, HZ),
|
|
|
twd_base + TWD_TIMER_LOAD);
|
|
|
break;
|
|
|
case CLOCK_EVT_MODE_ONESHOT:
|
|
@@ -58,18 +58,18 @@ static void twd_set_mode(enum clock_event_mode mode,
|
|
|
ctrl = 0;
|
|
|
}
|
|
|
|
|
|
- __raw_writel(ctrl, twd_base + TWD_TIMER_CONTROL);
|
|
|
+ writel_relaxed(ctrl, twd_base + TWD_TIMER_CONTROL);
|
|
|
}
|
|
|
|
|
|
static int twd_set_next_event(unsigned long evt,
|
|
|
struct clock_event_device *unused)
|
|
|
{
|
|
|
- unsigned long ctrl = __raw_readl(twd_base + TWD_TIMER_CONTROL);
|
|
|
+ unsigned long ctrl = readl_relaxed(twd_base + TWD_TIMER_CONTROL);
|
|
|
|
|
|
ctrl |= TWD_TIMER_CONTROL_ENABLE;
|
|
|
|
|
|
- __raw_writel(evt, twd_base + TWD_TIMER_COUNTER);
|
|
|
- __raw_writel(ctrl, twd_base + TWD_TIMER_CONTROL);
|
|
|
+ writel_relaxed(evt, twd_base + TWD_TIMER_COUNTER);
|
|
|
+ writel_relaxed(ctrl, twd_base + TWD_TIMER_CONTROL);
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -82,8 +82,8 @@ static int twd_set_next_event(unsigned long evt,
|
|
|
*/
|
|
|
static int twd_timer_ack(void)
|
|
|
{
|
|
|
- if (__raw_readl(twd_base + TWD_TIMER_INTSTAT)) {
|
|
|
- __raw_writel(1, twd_base + TWD_TIMER_INTSTAT);
|
|
|
+ if (readl_relaxed(twd_base + TWD_TIMER_INTSTAT)) {
|
|
|
+ writel_relaxed(1, twd_base + TWD_TIMER_INTSTAT);
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
@@ -211,15 +211,15 @@ static void twd_calibrate_rate(void)
|
|
|
waitjiffies += 5;
|
|
|
|
|
|
/* enable, no interrupt or reload */
|
|
|
- __raw_writel(0x1, twd_base + TWD_TIMER_CONTROL);
|
|
|
+ writel_relaxed(0x1, twd_base + TWD_TIMER_CONTROL);
|
|
|
|
|
|
/* maximum value */
|
|
|
- __raw_writel(0xFFFFFFFFU, twd_base + TWD_TIMER_COUNTER);
|
|
|
+ writel_relaxed(0xFFFFFFFFU, twd_base + TWD_TIMER_COUNTER);
|
|
|
|
|
|
while (get_jiffies_64() < waitjiffies)
|
|
|
udelay(10);
|
|
|
|
|
|
- count = __raw_readl(twd_base + TWD_TIMER_COUNTER);
|
|
|
+ count = readl_relaxed(twd_base + TWD_TIMER_COUNTER);
|
|
|
|
|
|
twd_timer_rate = (0xFFFFFFFFU - count) * (HZ / 5);
|
|
|
|
|
@@ -277,7 +277,7 @@ static void twd_timer_setup(void)
|
|
|
* bother with the below.
|
|
|
*/
|
|
|
if (per_cpu(percpu_setup_called, cpu)) {
|
|
|
- __raw_writel(0, twd_base + TWD_TIMER_CONTROL);
|
|
|
+ writel_relaxed(0, twd_base + TWD_TIMER_CONTROL);
|
|
|
clockevents_register_device(clk);
|
|
|
enable_percpu_irq(clk->irq, 0);
|
|
|
return;
|
|
@@ -290,7 +290,7 @@ static void twd_timer_setup(void)
|
|
|
* The following is done once per CPU the first time .setup() is
|
|
|
* called.
|
|
|
*/
|
|
|
- __raw_writel(0, twd_base + TWD_TIMER_CONTROL);
|
|
|
+ writel_relaxed(0, twd_base + TWD_TIMER_CONTROL);
|
|
|
|
|
|
clk->name = "local_timer";
|
|
|
clk->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT |
|