Re: [patch] vt6102 update to the 2.4 via-rhine.c

From: Donald Becker (becker@scyld.com)
Date: Wed Aug 09 2000 - 10:10:23 EST


On Wed, 9 Aug 2000, Urban Widmark wrote:

> On Mon, 7 Aug 2000, Donald Becker wrote:
>
> > Other updated PCI drivers of current interest are
> [snip]
> > via-rhine.c
> > This has been updated for the new Rhine chip, which can now transmit
> > from unaligned regions, avoiding the need for alignment copies.
>
> Does the latest driver take advantage of that? I guess this would allow
> the memcpy in the "if ((long)skb->data & 3) {" in start_tx to be avoided
> (for that chip). Should it?

When updating, make certain that you are looking at the test driver version
as well
     ftp://www.scyld.com/pub/network/test/via-rhine.c

The updated driver has the line
        if ((np->drv_flags & ReqTxAlign) && (long)skb->data & 3) {
                /* Must use alignment buffer. */

Note the following name change: this new 3065 chip is really the Rhine-II.
VIA claims that the 6100 never happened.. MmmK.

> - { "VIA VT86C100A Rhine-II", RHINE_IOTYPE, 128, CanHaveMII },
> + { "VIA VT86C100A Rhine", RHINE_IOTYPE, 128, CanHaveMII },
> + { "VIA VT6102 Rhine-II", RHINE_IOTYPE, 128, CanHaveMII },
> { "VIA VT3043 Rhine", RHINE_IOTYPE, 128, CanHaveMII }
...
> {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},

The 'mii-diag' programs and others can now have the same effect as setting
the options= and full_duplex= module options, or reverse the effect.
I've made this change to all drivers with MII transceivers or MII register
emulation.

> - if (phy_id == np->phys[0] && regnum == 4)
> - np->advertising = value;
> + if (phy_id == np->phys[0]) {
> + switch (regnum) {
> + case 0: /* Is user forcing speed/duplex? */
> + if (value & 0x9000) /* Autonegotiation. */
> + np->duplex_lock = 0;
> + else
> + np->full_duplex = (value & 0x0100) ? 1 : 0;
> + /* fallthrough */
> + case 4:
> + np->advertising = value;

Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Beowulf-II Cluster Distribution
Annapolis MD 21403

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Aug 15 2000 - 21:00:18 EST