mirror_ubuntu-kernels/drivers/net/ethernet/xilinx
Esben Haabendal 28d9fab458 net: ll_temac: Add memory-barriers for TX BD access
Add a couple of memory-barriers to ensure correct ordering of read/write
access to TX BDs.

In xmit_done, we should ensure that reading the additional BD fields are
only done after STS_CTRL_APP0_CMPLT bit is set.

When xmit_done marks the BD as free by setting APP0=0, we need to ensure
that the other BD fields are reset first, so we avoid racing with the xmit
path, which writes to the same fields.

Finally, making sure to read APP0 of next BD after the current BD, ensures
that we see all available buffers.

Signed-off-by: Esben Haabendal <esben@geanix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-18 12:11:51 -07:00
..
Kconfig net: xilinx: drivers need/depend on HAS_IOMEM 2021-04-19 15:36:00 -07:00
ll_temac_main.c net: ll_temac: Add memory-barriers for TX BD access 2021-06-18 12:11:51 -07:00
ll_temac_mdio.c net: ll_temac: Prepare indirect register access for multicast support 2019-05-23 09:33:57 -07:00
ll_temac.h net: ll_temac: Add ethtool support for coalesce parameters 2020-02-29 21:30:43 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xilinx_axienet_main.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
xilinx_axienet_mdio.c net: axienet: Enable more clocks 2021-03-26 15:17:17 -07:00
xilinx_axienet.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-04-09 20:48:35 -07:00
xilinx_emaclite.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00