@@ -101,16 +101,16 @@ static inline void __omap_dm_timer_init_regs(struct omap_dm_timer *timer)
101101 tidr = readl_relaxed (timer -> io_base );
102102 if (!(tidr >> 16 )) {
103103 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 ;
107107 timer -> pend = timer -> io_base + _OMAP_TIMER_WRITE_PEND_OFFSET ;
108108 timer -> func_base = timer -> io_base ;
109109 } else {
110110 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 ;
114114 timer -> pend = timer -> io_base +
115115 _OMAP_TIMER_WRITE_PEND_OFFSET +
116116 OMAP_TIMER_V2_FUNC_OFFSET ;
@@ -165,13 +165,13 @@ static inline void __omap_dm_timer_stop(struct omap_dm_timer *timer,
165165 }
166166
167167 /* 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 );
169169}
170170
171171static inline void __omap_dm_timer_int_enable (struct omap_dm_timer * timer ,
172172 unsigned int value )
173173{
174- writel_relaxed ( value , timer -> irq_ena );
174+ dmtimer_write ( timer , timer -> irq_ena , value );
175175 dmtimer_write (timer , OMAP_TIMER_WAKEUP_EN_REG , value );
176176}
177177
@@ -184,7 +184,7 @@ __omap_dm_timer_read_counter(struct omap_dm_timer *timer)
184184static inline void __omap_dm_timer_write_status (struct omap_dm_timer * timer ,
185185 unsigned int value )
186186{
187- writel_relaxed ( value , timer -> irq_stat );
187+ dmtimer_write ( timer , timer -> irq_stat , value );
188188}
189189
190190static 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)
196196 dmtimer_write (timer , OMAP_TIMER_LOAD_REG , timer -> context .tldr );
197197 dmtimer_write (timer , OMAP_TIMER_MATCH_REG , timer -> context .tmar );
198198 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 );
200200 dmtimer_write (timer , OMAP_TIMER_CTRL_REG , timer -> context .tclr );
201201}
202202
@@ -208,7 +208,7 @@ static void omap_timer_save_context(struct omap_dm_timer *timer)
208208 timer -> context .twer = dmtimer_read (timer , OMAP_TIMER_WAKEUP_EN_REG );
209209 timer -> context .tldr = dmtimer_read (timer , OMAP_TIMER_LOAD_REG );
210210 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 );
212212 timer -> context .tsicr = dmtimer_read (timer , OMAP_TIMER_IF_CTRL_REG );
213213}
214214
@@ -722,9 +722,9 @@ static int omap_dm_timer_set_int_disable(struct omap_dm_timer *timer, u32 mask)
722722 omap_dm_timer_enable (timer );
723723
724724 if (timer -> revision == 1 )
725- l = readl_relaxed ( timer -> irq_ena ) & ~mask ;
725+ l = dmtimer_read ( timer , timer -> irq_ena ) & ~mask ;
726726
727- writel_relaxed ( l , timer -> irq_dis );
727+ dmtimer_write ( timer , timer -> irq_dis , l );
728728 l = dmtimer_read (timer , OMAP_TIMER_WAKEUP_EN_REG ) & ~mask ;
729729 dmtimer_write (timer , OMAP_TIMER_WAKEUP_EN_REG , l );
730730
@@ -741,7 +741,7 @@ static unsigned int omap_dm_timer_read_status(struct omap_dm_timer *timer)
741741 return 0 ;
742742 }
743743
744- l = readl_relaxed ( timer -> irq_stat );
744+ l = dmtimer_read ( timer , timer -> irq_stat );
745745
746746 return l ;
747747}
0 commit comments