Messages in this thread Patch in this message | | | From | Andrey Smirnov <> | Subject | [PATCH v2 14/23] tty: serial: fsl_lpuart: Use cpu_relax() instead of barrier() | Date | Wed, 31 Jul 2019 10:30:36 -0700 |
| |
Use cpu_relax() instead of barrier() in a tight polling loops to make them a bit more idiomatic. Should also improve things on ARM64 a bit since cpu_relax() will expand into "yield" instruction there.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Stefan Agner <stefan@agner.ch> Cc: Chris Healy <cphealy@gmail.com> Cc: Cory Tusar <cory.tusar@zii.aero> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jslaby@suse.com> Cc: linux-imx@nxp.com Cc: linux-serial@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- drivers/tty/serial/fsl_lpuart.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c index eb748ef85da7..58043e01a242 100644 --- a/drivers/tty/serial/fsl_lpuart.c +++ b/drivers/tty/serial/fsl_lpuart.c @@ -553,14 +553,14 @@ static void lpuart_wait_bit_set(struct uart_port *port, unsigned int offset, u8 bit) { while (!(readb(port->membase + offset) & bit)) - barrier(); + cpu_relax(); } static void lpuart32_wait_bit_set(struct uart_port *port, unsigned int offset, u32 bit) { while (!(lpuart32_read(port, offset) & bit)) - barrier(); + cpu_relax(); } #if defined(CONFIG_CONSOLE_POLL) -- 2.21.0
| |