From 6845f8005cc3a028b2fea636a73e0cf11d4da316 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Thu, 19 Apr 2012 15:21:20 +0200 Subject: LEON3: console, lower bus utilization waiting for UART TX ready Signed-off-by: Daniel Hellstrom --- c/src/lib/libbsp/sparc/leon3/console/debugputs.c | 10 +++++++--- 1 file 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 @@ -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; } -- cgit v1.2.3