summaryrefslogtreecommitdiffstats
path: root/common/clock.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2012-01-03 06:00:47 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-01-04 14:10:13 +0100
commit4c4fae147d7aec31f3a4f43cce35b5708c26e0c3 (patch)
tree470a50af20c9d516519e93731754f8a754a9d092 /common/clock.c
parentb5ba23865b30f05ec8a0ce8a165bbf547ef78fd0 (diff)
downloadbarebox-4c4fae147d7aec31f3a4f43cce35b5708c26e0c3.tar.gz
poller_call: move from getc to is_timeout
this will allow to always call poller_call even durring timeout and still the case in getc Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common/clock.c')
-rw-r--r--common/clock.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/common/clock.c b/common/clock.c
index 79c06c8..f322db8 100644
--- a/common/clock.c
+++ b/common/clock.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <asm-generic/div64.h>
#include <clock.h>
+#include <poller.h>
static struct clocksource *current_clock;
static uint64_t time_ns;
@@ -139,6 +140,9 @@ uint32_t clocksource_hz2mult(uint32_t hz, uint32_t shift_constant)
int is_timeout(uint64_t start_ns, uint64_t time_offset_ns)
{
+ if (time_offset_ns >= 100 * USECOND)
+ poller_call();
+
if ((int64_t)(start_ns + time_offset_ns - get_time_ns()) < 0)
return 1;
else