Hi,
(Please ignore the previous post patch, the correct DEVICE ID for
VT6105 is 0x3106, and VT6105M chip is 0x3053)
This patch applied to linux kernel 2.4.19-per6 to support VIA's new
NIC chip.
However, VIA don't have any nic chip with pci device id 0x6100 so far,
so this patch also remove the device ID 0x6100.
--- linux/drivers/net/via-rhine.c.orig Fri Apr 12 15:36:38 2002
+++ linux/drivers/net/via-rhine.c Fri Apr 12 15:39:04 2002
@@ -317,7 +317,8 @@
enum via_rhine_chips {
VT86C100A = 0,
VT6102,
- VT3043,
+ VT6105,
+ VT6105M,
};
struct via_rhine_chip_info {
@@ -345,7 +346,9 @@
CanHaveMII | ReqTxAlign },
{ "VIA VT6102 Rhine-II", RHINE_IOTYPE, 256,
CanHaveMII | HasWOL },
- { "VIA VT3043 Rhine", RHINE_IOTYPE, 128,
+ { "VIA VT6105 Rhine-III", RHINE_IOTYPE, 256,
+ CanHaveMII | ReqTxAlign },
+ { "VIA VT6105M Rhine-III", RHINE_IOTYPE, 256,
CanHaveMII | ReqTxAlign }
};
@@ -353,7 +356,8 @@
{
{0x1106, 0x6100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VT86C100A},
{0x1106, 0x3065, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VT6102},
- {0x1106, 0x3043, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VT3043},
+ {0x1106, 0x3106, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VT6105},
+ {0x1106, 0x3053, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VT6105M},
{0,} /* terminate list */
};
MODULE_DEVICE_TABLE(pci, via_rhine_pci_tbl);
@@ -510,7 +514,7 @@
int i;
/* 3043 may need long delay after reset (dlink) */
- if (chip_id == VT3043 || chip_id == VT86C100A)
+ if (chip_id == VT86C100A)
udelay(100);
i = 0;
@@ -531,7 +535,7 @@
static void __devinit enable_mmio(long ioaddr, int chip_id)
{
int n;
- if (chip_id == VT3043 || chip_id == VT86C100A) {
+ if (chip_id == VT86C100A) {
/* More recent docs say that this bit is reserved ... */
n = inb(ioaddr + ConfigA) | 0x20;
outb(n, ioaddr + ConfigA);
--
Chuang Liang-Shing
VIA Technologies, Inc.
+886-2-22185452 Ext. 7523
E-Mail: [email protected]
On Fri, 12 Apr 2002, Shing Chuang wrote:
> This patch applied to linux kernel 2.4.19-per6 to support VIA's new
> NIC chip.
> However, VIA don't have any nic chip with pci device id 0x6100 so far,
> so this patch also remove the device ID 0x6100.
You are removing the entry for 0x3043, not 0x6100 ... Did you mean to also
change "0x1106, 0x6100" to "0x1106, 0x3043" ?
Older revision D-Link DFE530-TX NICs use a chip that identifies itself as
0x3043. This patch will break those.
0x3043 is listed in the VT86C100A03.pdf doc from ftp.via.com.tw. An older
vt86c100a.pdf from 1997 lists the id as 0x6100. Are you sure there are no
cards using 0x6100?
As you perhaps are aware VIA maintain their own linuxfet.c driver, which
is a modified version of the Donald Becker via-rhine.c driver in the
kernel.
http://www.viaarena.com/?PageID=71#lan
6105v10cVIA.zip seems to be the most recent.
If you look at that driver they use 0x30431106. And also that ReqTxAlign
is only on for the VT86C100A.
The driver itself has become quite ugly from all #ifdef'ing that goes on.
It even has two tables for detecting PCI cards, and the tables are not in
sync ... But whoever wrote it knows more than what you can find in the
public datasheets.
/Urban
----- Original Message -----
From: "Urban Widmark" <[email protected]>
> On Fri, 12 Apr 2002, Shing Chuang wrote:
>
> > This patch applied to linux kernel 2.4.19-per6 to support VIA's
new
> > NIC chip.
> > However, VIA don't have any nic chip with pci device id 0x6100 so
far,
> > so this patch also remove the device ID 0x6100.
>
> You are removing the entry for 0x3043, not 0x6100 ... Did you mean to also
> change "0x1106, 0x6100" to "0x1106, 0x3043" ?
>
> Older revision D-Link DFE530-TX NICs use a chip that identifies itself as
> 0x3043. This patch will break those.
Yuck... yes. It will totally break my two DFE530-TX'es... I wonder what
these guys are up to.
/Martin