diff options
author | Tomasz Moń <desowin@gmail.com> | 2011-12-20 13:36:43 +0000 |
---|---|---|
committer | Tomasz Moń <desowin@gmail.com> | 2011-12-20 13:36:43 +0000 |
commit | 44d1a262715d0f4891e499661a89a6cd49bbb440 (patch) | |
tree | f7fe7d6f1eee80c031db7c285659362fa21c7afe /firmware/target/arm/tms320dm320/system-dm320.c | |
parent | 4aec0012440ceeeee45913cfe5ce8869597db1f6 (diff) | |
download | rockbox-44d1a262715d0f4891e499661a89a6cd49bbb440.tar.gz rockbox-44d1a262715d0f4891e499661a89a6cd49bbb440.zip |
Sansa Connect: use udelay() in AVR spi_txrx().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31377 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tms320dm320/system-dm320.c')
-rw-r--r-- | firmware/target/arm/tms320dm320/system-dm320.c | 8 |
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 | ||