@@ -101,16 +101,16 @@ static inline void __omap_dm_timer_init_regs(struct omap_dm_timer *timer)
101
101
tidr = readl_relaxed (timer -> io_base );
102
102
if (!(tidr >> 16 )) {
103
103
timer -> revision = 1 ;
104
- timer -> irq_stat = timer -> io_base + OMAP_TIMER_V1_STAT_OFFSET ;
105
- timer -> irq_ena = timer -> io_base + OMAP_TIMER_V1_INT_EN_OFFSET ;
106
- timer -> irq_dis = timer -> io_base + OMAP_TIMER_V1_INT_EN_OFFSET ;
104
+ timer -> irq_stat = OMAP_TIMER_V1_STAT_OFFSET ;
105
+ timer -> irq_ena = OMAP_TIMER_V1_INT_EN_OFFSET ;
106
+ timer -> irq_dis = OMAP_TIMER_V1_INT_EN_OFFSET ;
107
107
timer -> pend = timer -> io_base + _OMAP_TIMER_WRITE_PEND_OFFSET ;
108
108
timer -> func_base = timer -> io_base ;
109
109
} else {
110
110
timer -> revision = 2 ;
111
- timer -> irq_stat = timer -> io_base + OMAP_TIMER_V2_IRQSTATUS ;
112
- timer -> irq_ena = timer -> io_base + OMAP_TIMER_V2_IRQENABLE_SET ;
113
- timer -> irq_dis = timer -> io_base + OMAP_TIMER_V2_IRQENABLE_CLR ;
111
+ timer -> irq_stat = OMAP_TIMER_V2_IRQSTATUS - OMAP_TIMER_V2_FUNC_OFFSET ;
112
+ timer -> irq_ena = OMAP_TIMER_V2_IRQENABLE_SET - OMAP_TIMER_V2_FUNC_OFFSET ;
113
+ timer -> irq_dis = OMAP_TIMER_V2_IRQENABLE_CLR - OMAP_TIMER_V2_FUNC_OFFSET ;
114
114
timer -> pend = timer -> io_base +
115
115
_OMAP_TIMER_WRITE_PEND_OFFSET +
116
116
OMAP_TIMER_V2_FUNC_OFFSET ;
@@ -165,13 +165,13 @@ static inline void __omap_dm_timer_stop(struct omap_dm_timer *timer,
165
165
}
166
166
167
167
/* Ack possibly pending interrupt */
168
- writel_relaxed ( OMAP_TIMER_INT_OVERFLOW , timer -> irq_stat );
168
+ dmtimer_write ( timer , timer -> irq_stat , OMAP_TIMER_INT_OVERFLOW );
169
169
}
170
170
171
171
static inline void __omap_dm_timer_int_enable (struct omap_dm_timer * timer ,
172
172
unsigned int value )
173
173
{
174
- writel_relaxed ( value , timer -> irq_ena );
174
+ dmtimer_write ( timer , timer -> irq_ena , value );
175
175
dmtimer_write (timer , OMAP_TIMER_WAKEUP_EN_REG , value );
176
176
}
177
177
@@ -184,7 +184,7 @@ __omap_dm_timer_read_counter(struct omap_dm_timer *timer)
184
184
static inline void __omap_dm_timer_write_status (struct omap_dm_timer * timer ,
185
185
unsigned int value )
186
186
{
187
- writel_relaxed ( value , timer -> irq_stat );
187
+ dmtimer_write ( timer , timer -> irq_stat , value );
188
188
}
189
189
190
190
static void omap_timer_restore_context (struct omap_dm_timer * timer )
@@ -196,7 +196,7 @@ static void omap_timer_restore_context(struct omap_dm_timer *timer)
196
196
dmtimer_write (timer , OMAP_TIMER_LOAD_REG , timer -> context .tldr );
197
197
dmtimer_write (timer , OMAP_TIMER_MATCH_REG , timer -> context .tmar );
198
198
dmtimer_write (timer , OMAP_TIMER_IF_CTRL_REG , timer -> context .tsicr );
199
- writel_relaxed (timer -> context . tier , timer -> irq_ena );
199
+ dmtimer_write (timer , timer -> irq_ena , timer -> context . tier );
200
200
dmtimer_write (timer , OMAP_TIMER_CTRL_REG , timer -> context .tclr );
201
201
}
202
202
@@ -208,7 +208,7 @@ static void omap_timer_save_context(struct omap_dm_timer *timer)
208
208
timer -> context .twer = dmtimer_read (timer , OMAP_TIMER_WAKEUP_EN_REG );
209
209
timer -> context .tldr = dmtimer_read (timer , OMAP_TIMER_LOAD_REG );
210
210
timer -> context .tmar = dmtimer_read (timer , OMAP_TIMER_MATCH_REG );
211
- timer -> context .tier = readl_relaxed ( timer -> irq_ena );
211
+ timer -> context .tier = dmtimer_read ( timer , timer -> irq_ena );
212
212
timer -> context .tsicr = dmtimer_read (timer , OMAP_TIMER_IF_CTRL_REG );
213
213
}
214
214
@@ -722,9 +722,9 @@ static int omap_dm_timer_set_int_disable(struct omap_dm_timer *timer, u32 mask)
722
722
omap_dm_timer_enable (timer );
723
723
724
724
if (timer -> revision == 1 )
725
- l = readl_relaxed ( timer -> irq_ena ) & ~mask ;
725
+ l = dmtimer_read ( timer , timer -> irq_ena ) & ~mask ;
726
726
727
- writel_relaxed ( l , timer -> irq_dis );
727
+ dmtimer_write ( timer , timer -> irq_dis , l );
728
728
l = dmtimer_read (timer , OMAP_TIMER_WAKEUP_EN_REG ) & ~mask ;
729
729
dmtimer_write (timer , OMAP_TIMER_WAKEUP_EN_REG , l );
730
730
@@ -741,7 +741,7 @@ static unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer)
741
741
return 0 ;
742
742
}
743
743
744
- l = readl_relaxed ( timer -> irq_stat );
744
+ l = dmtimer_read ( timer , timer -> irq_stat );
745
745
746
746
return l ;
747
747
}
0 commit comments