u-boot-brain/drivers/net
Simon Glass a1ca92eaaf dm: eth: Avoid blocking on packet reception
Some devices can take a long time to work out whether they have a new packet
or now. For example the ASIX USB Ethernet dongle can take 5 seconds to do
this, since it waits until it gets a new packet on the wire before allowing
the USB bulk read packet to be submitted.

At present with driver mode the Ethernet receive code reads 32 packets. This
can take a very long time if we must wait for all 32 packets. The old code
(before driver model) worked by reading a single set of packets from the USB
device, then processing all the packets with in. It would be nice to use
the same behaviour with driver model.

Add a flag to the receive method which indicates that the driver should try
to find a packet if available, by consulting the hardware. When the flag is
not set, it should just return any packet data it has already received. If
there is none, it should return -EAGAIN so that the loop will terminate.

Signed-off-by: Simon Glass <sjg@chromium.org>
2015-07-21 17:39:40 -06:00
..
fm net/memac_phy: reuse driver for little endian SoCs 2015-04-23 08:55:57 -07:00
fsl-mc drivers/fsl-mc: dynamically create ICID pool in DPC 2015-07-20 11:44:37 -07:00
ldpaa_eth driver/ldpaa_eth:Avoid infinite loop in ldpaa_eth_rx 2015-07-20 11:44:37 -07:00
phy net: phy: Add support for all targets which requires MANUAL_RELOC 2015-05-19 13:33:21 -05:00
4xx_enet.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
8390.h drivers/net : move net drivers to drivers/net 2007-11-25 18:35:17 +01:00
altera_tse.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
altera_tse.h miiphy: convert to linux/mii.h 2011-01-09 18:06:50 +01:00
armada100_fec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
armada100_fec.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
at91_emac.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ax88180.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ax88180.h AX88180: use standard I/O accessors 2010-07-12 00:14:29 -07:00
ax88796.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ax88796.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bcm-sf2-eth-gmac.c arm: bcm281xx: net: Add Ethernet Driver 2014-08-30 07:46:39 -04:00
bcm-sf2-eth-gmac.h arm: bcm281xx: net: Add Ethernet Driver 2014-08-30 07:46:39 -04:00
bcm-sf2-eth.c net: Update hardware MAC address if it changes in env 2015-05-19 13:33:21 -05:00
bcm-sf2-eth.h arm: bcm281xx: net: Add Ethernet Driver 2014-08-30 07:46:39 -04:00
bfin_mac.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
bfin_mac.h net: Fix remaining API interface breakage 2012-05-23 14:19:21 -05:00
calxedaxgmac.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
cpsw.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
cs8900.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
cs8900.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
davinci_emac.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
davinci_emac.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
dc2114x.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
designware.c dm: eth: Avoid blocking on packet reception 2015-07-21 17:39:40 -06:00
designware.h dm: net: Adjust designware driver to support driver model 2015-04-18 11:11:37 -06:00
dm9000x.c net: Remove all calls to net_random_ethaddr() 2015-05-20 11:07:27 -05:00
dm9000x.h dm9000 remove dead external phy support, gpio fix 2008-08-26 23:08:19 -07:00
dnet.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
dnet.h dnet: driver for Dave DNET ethernet controller 2009-02-10 00:16:27 +01:00
e1000_spi.c Consolidate bool type 2013-04-01 16:33:52 -04:00
e1000.c drivers/net/e1000.c: Cleanup whitespace 2015-04-23 08:55:54 -07:00
e1000.h net: Add ethernet FCS length macro in net.h 2015-03-24 21:22:37 -06:00
eepro100.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
enc28j60.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
enc28j60.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ep93xx_eth.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ep93xx_eth.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ethoc.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
fec_mxc.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
fec_mxc.h net: fec_mxc: Add support for mx6 solo-lite 2013-09-20 17:55:36 +02:00
fsl_mcdmafec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
fsl_mdio.c net: mdio: Use mb() to be compatible for both ARM and PowerPC 2014-09-08 10:30:33 -07:00
ftgmac100.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ftgmac100.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ftmac100.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ftmac100.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ftmac110.c net: Remove all calls to net_random_ethaddr() 2015-05-20 11:07:27 -05:00
ftmac110.h net: ftmac110: Update tx/rx descriptor format 2013-08-19 12:34:21 -05:00
greth.c net: Remove all references to CONFIG_ETHADDR and friends 2015-05-19 13:33:21 -05:00
greth.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Kconfig Move defaults from config_cmd_default.h to Kconfig 2015-06-25 22:18:34 -04:00
keystone_net.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ks8851_mll.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ks8851_mll.h net: ks8851_mll: add ethernet support 2013-06-24 19:11:14 -05:00
lan91c96.c net: Remove all references to CONFIG_ETHADDR and friends 2015-05-19 13:33:21 -05:00
lan91c96.h arm: remove lubbock board support 2014-04-18 10:42:30 -04:00
lpc32xx_eth.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
macb.c net: Update hardware MAC address if it changes in env 2015-05-19 13:33:21 -05:00
macb.h net: macb: get DMA bus width from design config register 2013-11-04 20:32:31 +01:00
Makefile net/memac_phy: reuse driver for little endian SoCs 2015-04-23 08:55:57 -07:00
mcffec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
mcfmii.c net: Use ARRAY_SIZE at appropriate places 2013-08-19 12:34:18 -05:00
mpc5xxx_fec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
mpc5xxx_fec.h Move MPC5xxx_FEC driver to drivers/net 2008-08-29 13:58:07 -06:00
mpc512x_fec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
mpc512x_fec.h MPC512x: remove include/mpc512x.h 2009-06-12 20:47:16 +02:00
mvgbe.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
mvgbe.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mvneta.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
natsemi.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ne2000_base.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
ne2000_base.h Consolidate bool type 2013-04-01 16:33:52 -04:00
ne2000.c net: Use ARRAY_SIZE at appropriate places 2013-08-19 12:34:18 -05:00
ne2000.h NE2000: Fix regresssion introduced by e710185aae on non AX88796 2008-04-28 22:26:36 -07:00
netconsole.c net: cosmetic: Fix checkpatch.pl failures in net.c 2015-04-18 11:11:35 -06:00
ns8382x.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
pch_gbe.c net: pch_gbe: Fix pch_gbe device name 2015-04-20 17:57:13 -05:00
pch_gbe.h net: Add Intel Topcliff GMAC driver 2015-03-24 21:22:37 -06:00
pcnet.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
rtl8139.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
rtl8169.c dm: eth: Add driver-model support to the rtl8169 driver 2015-07-21 17:39:39 -06:00
sandbox-raw.c dm: eth: Avoid blocking on packet reception 2015-07-21 17:39:40 -06:00
sandbox.c dm: eth: Avoid blocking on packet reception 2015-07-21 17:39:40 -06:00
sh_eth.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
sh_eth.h net: sh-eth: Use memalign instead of orignal memroy alignment function 2014-11-04 09:27:40 +09:00
smc911x.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
smc911x.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
smc91111.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
smc91111.h Add MS7206SE ethernet support 2015-01-30 15:55:00 -06:00
sunxi_emac.c dm: eth: Avoid blocking on packet reception 2015-07-21 17:39:40 -06:00
tsec.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
tsi108_eth.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
uli526x.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
vsc7385.c drivers/net/: sparse fixes 2012-11-04 11:00:36 -07:00
vsc9953.c net/memac_phy: reuse driver for little endian SoCs 2015-04-23 08:55:57 -07:00
xilinx_axi_emac.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
xilinx_emaclite.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
xilinx_ll_temac_fifo.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
xilinx_ll_temac_fifo.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xilinx_ll_temac_mdio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xilinx_ll_temac_mdio.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xilinx_ll_temac_sdma.c net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
xilinx_ll_temac_sdma.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
xilinx_ll_temac.c net: ll_temac: Fix compilation warning because of phys_addr_t 2015-01-21 10:30:36 +01:00
xilinx_ll_temac.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
zynq_gem.c net: gem: Use correct type for casting 2015-04-20 17:57:13 -05:00