summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/system-dm320.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/system-dm320.c')
-rw-r--r--firmware/target/arm/tms320dm320/system-dm320.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/firmware/target/arm/tms320dm320/system-dm320.c b/firmware/target/arm/tms320dm320/system-dm320.c
index a2a9ec3661..e455ade590 100644
--- a/firmware/target/arm/tms320dm320/system-dm320.c
+++ b/firmware/target/arm/tms320dm320/system-dm320.c
@@ -426,7 +426,7 @@ void udelay(int usec) {
426 stop = count + usec*((tmp+1)/10000); 426 stop = count + usec*((tmp+1)/10000);
427 stop += (unsigned short)(((unsigned long)(usec)*((tmp%10000)+1))/10000); 427 stop += (unsigned short)(((unsigned long)(usec)*((tmp%10000)+1))/10000);
428 428
429 /* stop values over tmdiv won't ever be reached */ 429 /* stop values over TMDIV won't ever be reached */
430 if (stop > tmp) 430 if (stop > tmp)
431 { 431 {
432 stop -= tmp; 432 stop -= tmp;
@@ -435,15 +435,13 @@ void udelay(int usec) {
435 if (stop < count) 435 if (stop < count)
436 { 436 {
437 /* udelay will end after counter reset (tick) */ 437 /* udelay will end after counter reset (tick) */
438 while ((((tmp = IO_TIMER1_TMCNT) < stop) && 438 while (((IO_TIMER1_TMCNT < stop) && (current_tick != prev_tick)) ||
439 (current_tick != prev_tick)) ||
440 (current_tick == prev_tick)); /* ensure new tick */ 439 (current_tick == prev_tick)); /* ensure new tick */
441 } 440 }
442 else 441 else
443 { 442 {
444 /* udelay will end before counter reset (tick) */ 443 /* udelay will end before counter reset (tick) */
445 while (((tmp = IO_TIMER1_TMCNT) < stop) && 444 while ((IO_TIMER1_TMCNT < stop) && (current_tick == prev_tick));
446 (current_tick == prev_tick));
447 } 445 }
448} 446}
449 447