linux/drivers/net/ethernet/freescale
Claudiu Manoil bc60228087 gianfar: Move TxFIFO underrun handling to reset path
Handle TxFIFO underrun exceptions outside the fast path.
A controller reset is more reliable in this exceptional
case, as opposed to re-enabling on-the-fly the Tx DMA.

As the controller reset is handled outside the fast path
by the reset_gfar() workqueue handler, the locking
scheme on the Tx path is significantly simplified.
Because the Tx processing (xmit queues and tx napi) is
disabled during controller reset, tstat access from xmit
does not require locking.  So the scope of the txlock on
the processing path is now reduced to num_txbdfree, which
is shared only between process context (xmit) and softirq
(clean_tx_ring).  As a result, the txlock must not guard
against interrupt context, and the spin_lock_irqsave()
from xmit can be replaced by spin_lock_bh().  Likewise,
the locking has been downgraded for clean_tx_ring().

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-09 17:37:46 -04:00
..
fs_enet net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_main.c net: fec: Fix RGMII-ID mode 2015-04-30 16:48:53 -04:00
fec_mpc52xx_phy.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_mpc52xx.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
fec_mpc52xx.h
fec_ptp.c ptp: fec: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
fec.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
fsl_pq_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00
gianfar_ethtool.c gianfar: correct the bad expression while writing bit-pattern 2015-02-04 13:55:24 -08:00
gianfar_ptp.c ptp: gianfar: use helpers for converting ns to timespec. 2015-03-31 17:19:18 -04:00
gianfar.c gianfar: Move TxFIFO underrun handling to reset path 2015-05-09 17:37:46 -04:00
gianfar.h gianfar: Make FCB access endian safe 2015-03-15 19:56:47 -04:00
Kconfig net/fsl: remove dependency FSL_SOC from MDIO 2015-03-11 16:37:50 -04:00
Makefile
ucc_geth_ethtool.c net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ucc_geth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-02 16:16:53 -04:00
ucc_geth.h
xgmac_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00