Commit 829dd811 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen Committed by Linus Torvalds

atmel_serial: use cpu_relax() when busy-waiting

Replace two instances of barrier() with cpu_relax() since that's the right
thing to do when busy-waiting.  This does not actually change anything since
cpu_relax() is defined as barrier() on both ARM and AVR32.
Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: default avatarAndrew Victor <linux@maxim.org.za>
Tested-by: default avatarMarc Pignat <marc.pignat@hevs.ch>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b843aa21
...@@ -615,7 +615,7 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -615,7 +615,7 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios,
imr = UART_GET_IMR(port); imr = UART_GET_IMR(port);
UART_PUT_IDR(port, -1); UART_PUT_IDR(port, -1);
while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY)) while (!(UART_GET_CSR(port) & ATMEL_US_TXEMPTY))
barrier(); cpu_relax();
/* disable receiver and transmitter */ /* disable receiver and transmitter */
UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS); UART_PUT_CR(port, ATMEL_US_TXDIS | ATMEL_US_RXDIS);
...@@ -794,7 +794,7 @@ void __init atmel_register_uart_fns(struct atmel_port_fns *fns) ...@@ -794,7 +794,7 @@ void __init atmel_register_uart_fns(struct atmel_port_fns *fns)
static void atmel_console_putchar(struct uart_port *port, int ch) static void atmel_console_putchar(struct uart_port *port, int ch)
{ {
while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY)) while (!(UART_GET_CSR(port) & ATMEL_US_TXRDY))
barrier(); cpu_relax();
UART_PUT_CHAR(port, ch); UART_PUT_CHAR(port, ch);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment