lkml.org 
[lkml]   [2019]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/24] tty: serial: fsl_lpuart: Use cpu_relax() instead of barrier()
    Date
    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: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
    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 dde5caf724ff..7a0f96952291 100644
    --- a/drivers/tty/serial/fsl_lpuart.c
    +++ b/drivers/tty/serial/fsl_lpuart.c
    @@ -552,14 +552,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
    \
     
     \ /
      Last update: 2019-07-29 22:10    [W:4.222 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site