libpayload: Get current tick from high register in generic timer

This fixes the generic timer driver to get the current tick from the
high register, so that comparison with the high count value (obtained
previously from the same register) has a chance to succeed.

Change-Id: I5ce02bfa15a91ad34641b8e24813a5b7ca790ec3
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Reviewed-on: https://review.coreboot.org/17929
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
This commit is contained in:
Paul Kocialkowski 2016-12-19 19:22:39 +01:00 committed by Nico Huber
parent c9b398191e
commit 35562d8b64
1 changed files with 1 additions and 1 deletions

View File

@ -53,7 +53,7 @@ uint64_t timer_raw_value(void)
do {
count_h = readl(phys_to_virt(CONFIG_LP_TIMER_GENERIC_HIGH_REG));
count_l = readl(phys_to_virt(CONFIG_LP_TIMER_GENERIC_REG));
cur_tick = readl(phys_to_virt(CONFIG_LP_TIMER_GENERIC_REG));
cur_tick = readl(phys_to_virt(CONFIG_LP_TIMER_GENERIC_HIGH_REG));
} while (cur_tick != count_h);
return (cur_tick << 32) + count_l;