Commit 8a024690 authored by Tony Lindgren's avatar Tony Lindgren

ARM: OMAP: Manual merge after updating to 2.6.16

Manual merge after updating to 2.6.16
parent 667a3448
......@@ -488,7 +488,8 @@ unsigned long next_timer_interrupt(void)
tvec_base_t *base;
struct list_head *list;
struct timer_list *nte;
unsigned long expires, hr_expires = MAX_JIFFY_OFFSET;
unsigned long expires;
unsigned long hr_expires = MAX_JIFFY_OFFSET;
ktime_t hr_delta;
tvec_t *varray[4];
int i, j;
......@@ -940,6 +941,8 @@ static inline void update_times(void)
void do_timer(struct pt_regs *regs)
{
jiffies_64++;
/* prevent loading jiffies before storing new jiffies_64 value. */
barrier();
update_times();
softlockup_tick(regs);
}
......@@ -1351,8 +1354,8 @@ void __init init_timers(void)
#ifdef CONFIG_TIME_INTERPOLATION
struct time_interpolator *time_interpolator;
static struct time_interpolator *time_interpolator_list;
struct time_interpolator *time_interpolator __read_mostly;
static struct time_interpolator *time_interpolator_list __read_mostly;
static DEFINE_SPINLOCK(time_interpolator_lock);
static inline u64 time_interpolator_get_cycles(unsigned int src)
......@@ -1366,10 +1369,10 @@ static inline u64 time_interpolator_get_cycles(unsigned int src)
return x();
case TIME_SOURCE_MMIO64 :
return readq((void __iomem *) time_interpolator->addr);
return readq_relaxed((void __iomem *)time_interpolator->addr);
case TIME_SOURCE_MMIO32 :
return readl((void __iomem *) time_interpolator->addr);
return readl_relaxed((void __iomem *)time_interpolator->addr);
default: return get_cycles();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment