]> git.baikalelectronics.ru Git - kernel.git/commit
net: ena: Eliminate duplicate barriers on weakly-ordered archs
authorSinan Kaya <okaya@codeaurora.org>
Sun, 25 Mar 2018 14:39:21 +0000 (10:39 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 26 Mar 2018 16:47:56 +0000 (12:47 -0400)
commit15085ce5f02a03092381392c246a88eef2036e10
treedd2b5acaa6a1c2a12456ffc5aa546f707f1a91ee
parent690691f0edab5a7231dff6283790c91aee85d107
net: ena: Eliminate duplicate barriers on weakly-ordered archs

Code includes barrier() 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 barrier().

Since code already has an explicit barrier call, changing writel() to
writel_relaxed() and adding mmiowb() for ordering protection.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/amazon/ena/ena_com.c
drivers/net/ethernet/amazon/ena/ena_eth_com.h
drivers/net/ethernet/amazon/ena/ena_netdev.c