net: qlge: Eliminate duplicate barriers on weakly-ordered archs
authorSinan Kaya <okaya@codeaurora.org>
Sun, 25 Mar 2018 14:39:19 +0000 (10:39 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Mar 2018 16:47:56 +0000 (12:47 -0400)
commite42d8cee343a545ac2d9557a3b28708bbca2bd31
treeb48c9e39d600f5230f4b3e3e7261a59a615f5fa3
parent7f883c774e1bad34d5474d8a74989336631ce178
net: qlge: Eliminate duplicate barriers on weakly-ordered archs

Code includes wmb() followed by writel(). writel() already has a barrier on
some architectures like arm64.

This ends up CPU observing two barriers back to back before executing the
register write.

Create a new wrapper function with relaxed write operator. Use the new
wrapper when a write is following a wmb().

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qlge/qlge.h
drivers/net/ethernet/qlogic/qlge/qlge_main.c