On 6 July 2015 at 16:47, Simon Glass <s...@chromium.org> wrote:
> 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 <s...@chromium.org>
> ---
>
>  drivers/net/designware.c  |  2 +-
>  drivers/net/sandbox-raw.c |  2 +-
>  drivers/net/sandbox.c     |  2 +-
>  drivers/net/sunxi_emac.c  |  2 +-
>  include/net.h             | 10 +++++++++-
>  net/eth.c                 |  5 ++++-
>  6 files changed, 17 insertions(+), 6 deletions(-)

Applied to u-boot-dm.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to