u-boot-brain/drivers
Remy Bohmer 850ba7555d 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>
2008-06-04 23:47:31 -07:00
..
bios_emulator Big white-space cleanup. 2008-05-21 00:14:08 +02:00
block Big white-space cleanup. 2008-05-21 00:14:08 +02:00
dma Big white-space cleanup. 2008-05-21 00:14:08 +02:00
hwmon LM73 bug fix for negative temperatures and cleanup 2008-04-13 08:58:36 -07:00
i2c Big white-space cleanup. 2008-05-21 00:14:08 +02:00
input Big white-space cleanup. 2008-05-21 00:14:08 +02:00
misc Big white-space cleanup. 2008-05-21 00:14:08 +02:00
mtd Big white-space cleanup. 2008-05-21 00:14:08 +02:00
net DM9000: Make driver work properly for DM9000A 2008-06-04 23:47:31 -07:00
pci Big white-space cleanup. 2008-05-21 00:14:08 +02:00
pcmcia Big white-space cleanup. 2008-05-21 00:14:08 +02:00
qe Big white-space cleanup. 2008-05-21 00:14:08 +02:00
rtc Big white-space cleanup. 2008-05-21 00:14:08 +02:00
serial Big white-space cleanup. 2008-05-21 00:14:08 +02:00
spi Big white-space cleanup. 2008-05-21 00:14:08 +02:00
usb Fix endianess conversion in usb_ohci.c 2008-05-22 17:14:17 +02:00
video Big white-space cleanup. 2008-05-21 00:14:08 +02:00