On Thursday 20 June 2013, Srinivas KANDAGATLA wrote: > +static u64 gt_counter_read(void) > +{ > + u64 counter; > + u32 lower; > + u32 upper, old_upper; > + > + upper = __raw_readl(gt_base + GT_COUNTER1); > + do { > + old_upper = upper; > + lower = __raw_readl(gt_base + GT_COUNTER0); > + upper = __raw_readl(gt_base + GT_COUNTER1); > + } while (upper != old_upper); > + > + counter = upper; > + counter <<= 32; > + counter |= lower; > + return counter; > +} Please replace __raw_readl etc with the non-__raw variants throughout the code. The __raw accessors are not endian safe and are not meant for device drivers. If you are worried about latency from extra barriers, use readl_relaxed(). Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html