|
@@ -73,25 +73,25 @@ void set_timer (ulong t)
|
|
|
timestamp = t;
|
|
|
}
|
|
|
|
|
|
-/* delay x useconds AND perserve advance timstamp value */
|
|
|
+/* delay x useconds AND preserve advance timestamp value */
|
|
|
void __udelay (unsigned long usec)
|
|
|
{
|
|
|
ulong tmo, tmp;
|
|
|
|
|
|
- if (usec >= 1000) { /* if "big" number, spread normalization to seconds */
|
|
|
- tmo = usec / 1000; /* start to normalize for usec to ticks per sec */
|
|
|
- tmo *= CONFIG_SYS_HZ; /* find number of "ticks" to wait to achieve target */
|
|
|
- tmo /= 1000; /* finish normalize. */
|
|
|
- } else { /* else small number, don't kill it prior to HZ multiply */
|
|
|
+ if (usec >= 1000) { /* if "big" number, spread normalization to seconds */
|
|
|
+ tmo = usec / 1000; /* start to normalize for usec to ticks per sec */
|
|
|
+ tmo *= CONFIG_SYS_HZ; /* find number of "ticks" to wait to achieve target */
|
|
|
+ tmo /= 1000; /* finish normalize. */
|
|
|
+ } else { /* else small number, don't kill it prior to HZ multiply */
|
|
|
tmo = usec * CONFIG_SYS_HZ;
|
|
|
tmo /= (1000*1000);
|
|
|
}
|
|
|
|
|
|
tmp = get_timer (0); /* get current timestamp */
|
|
|
- if ( (tmo + tmp + 1) < tmp )/* if setting this forward will roll time stamp */
|
|
|
+ if ( (tmo + tmp + 1) < tmp ) /* if setting this forward will roll time stamp */
|
|
|
reset_timer_masked (); /* reset "advancing" timestamp to 0, set lastinc value */
|
|
|
else
|
|
|
- tmo += tmp; /* else, set advancing stamp wake up time */
|
|
|
+ tmo += tmp; /* else, set advancing stamp wake up time */
|
|
|
while (get_timer_masked () < tmo)/* loop till event */
|
|
|
/*NOP*/;
|
|
|
}
|
|
@@ -100,16 +100,16 @@ void reset_timer_masked (void)
|
|
|
{
|
|
|
/* reset time */
|
|
|
lastinc = READ_TIMER; /* capture current incrementer value time */
|
|
|
- timestamp = 0; /* start "advancing" time stamp from 0 */
|
|
|
+ timestamp = 0; /* start "advancing" time stamp from 0 */
|
|
|
}
|
|
|
|
|
|
ulong get_timer_masked (void)
|
|
|
{
|
|
|
ulong now = READ_TIMER; /* current tick value */
|
|
|
|
|
|
- if (now >= lastinc) /* normal mode (non roll) */
|
|
|
+ if (now >= lastinc) /* normal mode (non roll) */
|
|
|
timestamp += (now - lastinc); /* move stamp fordward with absoulte diff ticks */
|
|
|
- else /* we have rollover of incrementer */
|
|
|
+ else /* we have rollover of incrementer */
|
|
|
timestamp += (0xFFFFFFFF - lastinc) + now;
|
|
|
lastinc = now;
|
|
|
return timestamp;
|