Dear Reinhard Meyer,

In message <4cc67ca1.9090...@emk-elektronik.de> you wrote:
> 
> If implemented with true 64 bits for get_ticks() that function is useable
> for timeout programming:
> 
>       ulong timeval = get_timer (0);
> 
>       do {
>               ...
>       } while (get_timer (timeval) < TIMEOUT);
> 
> It appears that the "base" parameter and return value is in CONFIG_SYS_HZ
> units, and not in native ticks. That causes 64 bit mul/div every
> time get_timer() is called. Won't hurt in a timeout loop, though.

But it will hurt in othe rplaces.

Also, this code _is_ a bit different, as "get_timer(0)" makes sure
the counter starts ticking again at 0, and get_timer() is defined to
have millisecond resolution. So you have a guaranteed 2^32
milliseconds or 4294967 seconds or about 3.3 years available which
indeed should be sufficient to implement standard timeouts.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
(null cookie; hope that's ok)
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to