summaryrefslogtreecommitdiff
path: root/drivers/net/macb.c
diff options
context:
space:
mode:
authorRemy Bohmer <linux@bohmer.net>2008-06-03 15:26:25 +0200
committerBen Warren <biggerbadderben@gmail.com>2008-06-04 23:47:31 -0700
commit850ba7555dbd4ca8d14fc475b864d534797adab3 (patch)
tree497c9dc4c0e24539b998c86f5234c6de602eef89 /drivers/net/macb.c
parentfbcb7ece0ea1e364180f1cf963e0fa0ce7f6560d (diff)
downloadu-boot-imx-850ba7555dbd4ca8d14fc475b864d534797adab3.zip
u-boot-imx-850ba7555dbd4ca8d14fc475b864d534797adab3.tar.gz
u-boot-imx-850ba7555dbd4ca8d14fc475b864d534797adab3.tar.bz2
DM9000: Make driver work properly for DM9000A
The DM9000A network controller does not work with the U-boot DM9000x driver. Analysis showed that many incoming packets are lost. The DM9000A Application Notes V1.20 (section 5.6.1) recommend that the poll to check for a valid rx packet be done on the interrupt status register, not directly by performing the dummy read and the rx status check as is currently the case in the u-boot driver. When the recommended poll is done as suggested the driver starts working correctly on 10Mbit/HD, but on 100MBit/FD packets come in faster so that there can be more than 1 package in the fifo at the same time. The driver must perform the rx-status check in a loop and read and handle all packages until there is no more left _after_ the interrupt RX flag is set. This change has been tested with DM9000A, DM9000E, DM9000EP. Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'drivers/net/macb.c')
0 files changed, 0 insertions, 0 deletions