Merge pull request #1345 from dbasehore/udelay

rockchip/rk3399: Fix sram_udelay
This commit is contained in:
Dimitris Papastamos 2018-04-26 14:14:28 +01:00 committed by GitHub
commit a8d9550b52
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 3 deletions

View File

@ -85,10 +85,11 @@ static __pmusramfunc uint32_t sram_get_timer_value(void)
static __pmusramfunc void sram_udelay(uint32_t usec) static __pmusramfunc void sram_udelay(uint32_t usec)
{ {
uint32_t start, cnt, delta, delta_us; uint32_t start, cnt, delta, total_ticks;
/* counter is decreasing */ /* counter is decreasing */
start = sram_get_timer_value(); start = sram_get_timer_value();
total_ticks = usec * SYS_COUNTER_FREQ_IN_MHZ;
do { do {
cnt = sram_get_timer_value(); cnt = sram_get_timer_value();
if (cnt > start) { if (cnt > start) {
@ -96,8 +97,7 @@ static __pmusramfunc void sram_udelay(uint32_t usec)
delta += start; delta += start;
} else } else
delta = start - cnt; delta = start - cnt;
delta_us = (delta * SYS_COUNTER_FREQ_IN_MHZ); } while (delta <= total_ticks);
} while (delta_us < usec);
} }
static __pmusramfunc void configure_sgrf(void) static __pmusramfunc void configure_sgrf(void)