diff options
author | Daniel Hellstrom <daniel@gaisler.com> | 2012-04-19 15:21:20 +0200 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2012-04-19 12:34:20 -0400 |
commit | 6845f8005cc3a028b2fea636a73e0cf11d4da316 (patch) | |
tree | 4cc28822d5b6f7702eff077e7c0d3bfe5c38d6d0 /c/src/lib/libbsp/sparc/leon3/console/debugputs.c | |
parent | rbheap: API changes and documentation (diff) | |
download | rtems-6845f8005cc3a028b2fea636a73e0cf11d4da316.tar.bz2 |
LEON3: console, lower bus utilization waiting for UART TX ready
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/console/debugputs.c')
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/console/debugputs.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c index c6e0648fee..951218a22c 100644 --- a/c/src/lib/libbsp/sparc/leon3/console/debugputs.c +++ b/c/src/lib/libbsp/sparc/leon3/console/debugputs.c @@ -13,8 +13,6 @@ * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. - * - * $Id$ */ #include <bsp.h> @@ -94,7 +92,13 @@ void apbuart_outbyte_polled( unsigned char ch ) { - while ( (regs->status & LEON_REG_UART_STATUS_THE) == 0 ); + while ( (regs->status & LEON_REG_UART_STATUS_THE) == 0 ) { + /* Lower bus utilization while waiting for UART */ + asm volatile ("nop"::); asm volatile ("nop"::); + asm volatile ("nop"::); asm volatile ("nop"::); + asm volatile ("nop"::); asm volatile ("nop"::); + asm volatile ("nop"::); asm volatile ("nop"::); + } regs->data = (unsigned int) ch; } |