linux/drivers/net/ethernet
Niklas Cassel 95eb930a40 net: stmmac: use correct barrier between coherent memory and MMIO
The last memory barrier in stmmac_xmit()/stmmac_tso_xmit() is placed
between a coherent memory write and a MMIO write:

The own bit is written in First Desc (TSO: MSS desc or First Desc).
<barrier>
The DMA engine is started by a write to the tx desc tail pointer/
enable dma transmission register, i.e. a MMIO write.

This barrier cannot be a simple dma_wmb(), since a dma_wmb() is only
used to guarantee the ordering, with respect to other writes,
to cache coherent DMA memory.

To guarantee that the cache coherent memory writes have completed
before we attempt to write to the cache incoherent MMIO region,
we need to use the more heavyweight barrier wmb().

Signed-off-by: Niklas Cassel <niklas.cassel@axis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-02-27 14:28:10 -05:00
..
3com 3c59x: fix missing dma_mapping_error check and bad ring refill logic 2018-01-03 13:44:14 -05:00
8390 net/mac8390: Fix log messages 2018-02-21 14:14:05 -05:00
adaptec
adi
aeroflex
agere
alacritech
allwinner
alteon net: alteon: acenic: clean up indentation issue 2017-12-15 13:28:30 -05:00
altera
amazon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
amd amd-xgbe: Restore PCI interrupt enablement setting on resume 2018-02-21 15:39:54 -05:00
apm
apple
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
arc net: arc_emac: restart stalled EMAC 2017-12-19 13:25:52 -05:00
atheros
aurora
broadcom tg3: APE heartbeat changes 2018-02-19 14:16:52 -05:00
brocade
cadence net: macb: Handle HRESP error 2018-01-29 14:25:47 -05:00
calxeda
cavium Revert "net: thunderx: Add support for xdp redirect" 2018-02-14 14:23:39 -05:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-19 18:46:11 -05:00
cirrus m68k updates for 4.16 2018-01-29 16:37:15 -08:00
cisco enic: add wq clean up budget 2017-12-26 13:10:07 -05:00
cortina net: gemini: Depend on HAS_IOMEM 2018-01-21 18:05:30 -05:00
davicom
dec
dlink
emulex be2net: Handle transmit completion errors in Lancer 2018-02-06 11:48:33 -05:00
ezchip
faraday
freescale dpaa_eth: Add allmulti option 2018-02-27 11:40:03 -05:00
fujitsu
hisilicon net: hns3: add int_gl_idx setup for VF 2018-01-26 10:58:30 -05:00
hp
huawei hinic: Replace PCI pool old API 2018-01-02 16:14:49 -06:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-02-24 00:04:20 -05:00
intel Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2018-02-27 12:56:36 -05:00
marvell mvpp2: fix multicast address filter 2018-02-11 22:37:04 -05:00
mediatek net: mediatek: Explicitly include pinctrl headers 2018-02-05 09:41:54 -08:00
mellanox mlxsw: spectrum_kvdl: avoid uninitialized variable warning 2018-02-26 11:33:02 -05:00
micrel net: ks8851: Support DT-provided MAC address 2017-12-19 13:52:39 -05:00
microchip
moxa
myricom
natsemi net/sonic: Replace custom debug logging with netif_* calls 2018-02-26 14:40:02 -05:00
neterion
netronome nfp: advertise firmware for mixed 10G/25G mode 2018-02-22 15:22:50 -05:00
nuvoton
nvidia forcedeth: remove duplicate structure member in rx 2018-01-23 11:11:41 -05:00
nxp
oki-semi pch_gbe: Deprecate pci_get_bus_and_slot() 2018-01-17 08:16:46 -06:00
packetengines
pasemi net: pasemi: Replace mac address parsing 2017-12-20 12:47:46 -05:00
qlogic net: qlge: use memmove instead of skb_copy_to_linear_data 2018-02-02 19:44:34 -05:00
qualcomm net: qualcomm: rmnet: Fix possible null dereference in command processing 2018-02-19 11:17:34 -05:00
rdc
realtek r8169: improve interrupt handling 2018-02-27 11:47:41 -05:00
renesas sh_eth: fix TSU init on SH7734/R8A7740 2018-02-26 13:59:15 -05:00
rocker rocker: fix possible null pointer dereference in rocker_router_fib_event_work 2018-02-01 09:50:52 -05:00
samsung
seeq
sfc sfc: falcon: remove duplicated bit-wise or of LOOPBACK_SGMII 2018-02-26 11:33:52 -05:00
sgi
silan
sis
smsc net/smc9194: Remove bogus CONFIG_MAC reference 2018-02-22 14:44:37 -05:00
socionext net: netsec: use dma_addr_t for storing dma address 2018-01-14 12:00:23 -05:00
stmicro net: stmmac: use correct barrier between coherent memory and MMIO 2018-02-27 14:28:10 -05:00
sun sun: Add SPDX license tags to Sun network drivers 2018-02-07 21:51:02 -05:00
synopsys net: dwc-xlgmac: Get rid of custom hex_dump_to_buffer() 2017-12-21 15:05:33 -05:00
tehuti
ti net: ethernet: ti: cpsw: fix net watchdog timeout 2018-02-07 21:57:10 -05:00
tile
toshiba
tundra net: tsi108: Use DMA API properly 2018-01-17 18:04:43 -06:00
via
wiznet
xilinx
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: jme: remove unused initialization of 'rxdesc' 2018-02-01 14:54:28 -05:00
jme.h
Kconfig net: ethernet: Add a driver for Gemini gigabit ethernet 2018-01-15 14:38:55 -05:00
korina.c
lantiq_etop.c
Makefile net: ethernet: Add a driver for Gemini gigabit ethernet 2018-01-15 14:38:55 -05:00
netx-eth.c