summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-03-12 12:23:02 +0100
committerMarian Balakowicz <m8@semihalf.com>2008-03-12 12:23:02 +0100
commit7e492d8258182e31c988bbf9917d4a3d41949d56 (patch)
treee9c9db79d797cf487107c019537c6bb00b854c6c /drivers/net
parentafe45c87e3c5d77bad76b1a57dccd20764d45b5d (diff)
parent30f1806f60978d707b0cff2d7bf89d141fc24290 (diff)
downloadu-boot-imx-7e492d8258182e31c988bbf9917d4a3d41949d56.zip
u-boot-imx-7e492d8258182e31c988bbf9917d4a3d41949d56.tar.gz
u-boot-imx-7e492d8258182e31c988bbf9917d4a3d41949d56.tar.bz2
Merge branch 'master' of git://www.denx.de/git/u-boot into new-image
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/rtl8169.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c
index d71323f..d39ac7c 100644
--- a/drivers/net/rtl8169.c
+++ b/drivers/net/rtl8169.c
@@ -247,6 +247,15 @@ static struct {
} rtl_chip_info[] = {
{"RTL-8169", 0x00, 0xff7e1880,},
{"RTL-8169", 0x04, 0xff7e1880,},
+ {"RTL-8169", 0x00, 0xff7e1880,},
+ {"RTL-8169s/8110s", 0x02, 0xff7e1880,},
+ {"RTL-8169s/8110s", 0x04, 0xff7e1880,},
+ {"RTL-8169sb/8110sb", 0x10, 0xff7e1880,},
+ {"RTL-8169sc/8110sc", 0x18, 0xff7e1880,},
+ {"RTL-8168b/8111sb", 0x30, 0xff7e1880,},
+ {"RTL-8168b/8111sb", 0x38, 0xff7e1880,},
+ {"RTL-8101e", 0x34, 0xff7e1880,},
+ {"RTL-8100e", 0x32, 0xff7e1880,},
};
enum _DescStatusBit {
@@ -312,6 +321,7 @@ static const unsigned int rtl8169_rx_config =
(RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST << RxCfgDMAShift);
static struct pci_device_id supported[] = {
+ {PCI_VENDOR_ID_REALTEK, 0x8167},
{PCI_VENDOR_ID_REALTEK, 0x8169},
{}
};
@@ -433,6 +443,10 @@ static int rtl_recv(struct eth_device *dev)
tpc->cur_rx = cur_rx;
return 1;
+ } else {
+ ushort sts = RTL_R8(IntrStatus);
+ RTL_W8(IntrStatus, sts & ~(TxErr | RxErr | SYSErr));
+ udelay(100); /* wait */
}
tpc->cur_rx = cur_rx;
return (0); /* initially as this is called to flush the input */