diff options
-rw-r--r-- | firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c | 8 | ||||
-rw-r--r-- | firmware/target/arm/tms320dm320/system-dm320.c | 8 |
2 files changed, 7 insertions, 9 deletions
diff --git a/firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c b/firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c index c22bd2c21d..c8b2c9623c 100644 --- a/firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c +++ b/firmware/target/arm/tms320dm320/sansa-connect/avr-sansaconnect.c | |||
@@ -229,8 +229,8 @@ static void spi_txrx(unsigned char *buf_tx, unsigned char *buf_rx, int n) | |||
229 | { | 229 | { |
230 | IO_SERIAL1_TX_DATA = buf_tx[i]; | 230 | IO_SERIAL1_TX_DATA = buf_tx[i]; |
231 | 231 | ||
232 | /* a short wait for AVR to process data */ | 232 | /* 100 us wait for AVR */ |
233 | sleep(0); | 233 | udelay(100); |
234 | 234 | ||
235 | do | 235 | do |
236 | { | 236 | { |
@@ -240,8 +240,8 @@ static void spi_txrx(unsigned char *buf_tx, unsigned char *buf_rx, int n) | |||
240 | if (buf_rx != NULL) | 240 | if (buf_rx != NULL) |
241 | buf_rx[i] = rxdata & 0xFF; | 241 | buf_rx[i] = rxdata & 0xFF; |
242 | 242 | ||
243 | /* seems to be unneccessary */ | 243 | /* 100 us wait to give AVR time to process data */ |
244 | //udelay(100); | 244 | udelay(100); |
245 | } | 245 | } |
246 | 246 | ||
247 | IO_SERIAL1_TX_ENABLE = 0; | 247 | IO_SERIAL1_TX_ENABLE = 0; |
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 | ||