linux/drivers/net/ethernet/freescale
Fugang Duan 178e5f57a8 net: fec: unmap the xmit buffer that are not transferred by DMA
The enet IP only support 32 bit, it will use swiotlb buffer to do dma
mapping when xmit buffer DMA memory address is bigger than 4G in i.MX
platform. After stress suspend/resume test, it will print out:

log:
[12826.352864] fec 5b040000.ethernet: swiotlb buffer is full (sz: 191 bytes)
[12826.359676] DMA: Out of SW-IOMMU space for 191 bytes at device 5b040000.ethernet
[12826.367110] fec 5b040000.ethernet eth0: Tx DMA memory map failed

The issue is that the ready xmit buffers that are dma mapped but DMA still
don't copy them into fifo, once MAC restart, these DMA buffers are not unmapped.
So it should check the dma mapping buffer and unmap them.

Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-12-27 10:55:55 -05:00
..
dpaa dpaa_eth: fix error return code in dpaa_eth_probe() 2017-11-08 13:24:44 +09:00
fman fsl/fman_port: mark expected switch fall-throughs 2017-11-11 18:50:33 +09:00
fs_enet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00
fec_main.c net: fec: unmap the xmit buffer that are not transferred by DMA 2017-12-27 10:55:55 -05:00
fec_mpc52xx_phy.c
fec_mpc52xx.c net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
fec_mpc52xx.h
fec_ptp.c net: fec: Let fec_ptp have its own interrupt routine 2017-11-08 10:36:11 +09:00
fec.h net: fec: Let fec_ptp have its own interrupt routine 2017-11-08 10:36:11 +09:00
fsl_pq_mdio.c net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
gianfar_ethtool.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
gianfar_ptp.c net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
gianfar.c gianfar: Disable EEE autoneg by default 2017-12-08 13:23:01 -05:00
gianfar.h Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
Kconfig Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-12 19:56:15 -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
ucc_geth_ethtool.c net: phy: Make phy_ethtool_ksettings_get return void 2017-06-13 12:59:06 -04:00
ucc_geth.c net/ethernet/freescale: fix warning for ucc_geth 2017-09-18 14:56:34 -07:00
ucc_geth.h
xgmac_mdio.c