• Daniel Thompson's avatar
    serial: asc: Adopt readl_/writel_relaxed() · 08177ece
    Daniel Thompson authored
    The architectures supported by this driver, arm and sh, have expensive
    implementations of writel(), reliant on spin locks and explicit L2 cache
    management. These architectures provide a cheaper writel_relaxed() which
    is much better suited to peripherals that do not perform DMA. The
    situation with readl()/readl_relaxed()is similar although less acute.
    
    This driver does not use DMA and will be more power efficient and more
    robust (due to absence of spin locks during console I/O) if it uses the
    relaxed variants.
    
    The driver supports COMPILE_TEST and therefore falls back to writel()
    when writel_relaxed() does not exist.
    Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
    Acked-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@gmail.com>
    Cc: Maxime Coquelin <maxime.coquelin@st.com>
    Cc: Patrice Chotard <patrice.chotard@st.com>
    Cc: Jiri Slaby <jslaby@suse.cz>
    Cc: kernel@stlinux.com
    Cc: linux-serial@vger.kernel.org
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    08177ece
st-asc.c 21.8 KB