linux_dsm_epyc7002/drivers/net/ethernet
Niklas Cassel 15d2ee42a3 net: stmmac: ensure that the MSS desc is the last desc to set the own bit
A dma_wmb() is used to guarantee the ordering, with respect to
other writes, to cache coherent DMA memory.

There is a dma_wmb() in prepare_tx_desc()/prepare_tso_tx_desc() which
ensures that TDES0/1/2 is written before TDES3 (which contains the own
bit), for First Desc.

However, in the rare case that MSS changes, there will be a MSS
context descriptor in front of the regular DMA descriptors:

<MSS desc> <- DMA Next Descriptor
<First Desc>
<desc n>
<Last Desc>

Thus, for this special case, we need a dma_wmb()
after prepare_tso_tx_desc()/before writing the own bit to the MSS desc,
so that we flush the write to TDES3 for First Desc,
in order to ensure that the MSS descriptor is the last descriptor to
set the own bit.

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
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
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
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
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: ensure that the MSS desc is the last desc to set the own bit 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