[BK PATCHES] 2.6.x experimental net driver queue

From: Jeff Garzik
Date: Sun Dec 07 2003 - 15:38:58 EST



Another installment in the net-drivers-2.5-exp queue patchkit.

Summary of new changes:
* r8169 bug fixing (Francois Romieu, RealTek, others)
* Make dev->priv calculation a compile-time constant (eliminates extra dereference) (Al Viro)
* More netdev allocation work (Al Viro)
* airo fixes (Javier)
* 8139too minor fixes (OGAWA Hirofumi)
* new nVidia nForce NIC driver "forcedeth" (Manfred Spraul)
* misc net driver fixes/cleanups (Stephen Hemminger)


Summary of patchkit:
* e100 driver rewrite
* new nVidia nForce NIC driver
* r8169 bug fixing
* 8139too NAPI support
* tulip NAPI support
* netconsole / netdump support
* net_device allocation and reference counting work
* e1000 minor updates
* misc bug fixes


Patch:
ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-test11-bk5-netdrvr-exp1.patch.bz2

Full changelog:
ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.6/2.6.0-test11-bk5-netdrvr-exp1.log

BK repo:
http://gkernel.bkbits.net/net-drivers-2.5-exp

Changelog delta attached.

ChangeSet@xxxxxx, 2003-12-07 14:01:09-05:00, jgarzik@xxxxxxxxxx
Merge redhat.com:/spare/repo/net-drivers-2.5
into redhat.com:/spare/repo/net-drivers-2.5-exp

ChangeSet@xxxxxxxxxxx, 2003-12-07 13:58:53-05:00, jgarzik@xxxxxxxxxx
Merge redhat.com:/spare/repo/linux-2.5
into redhat.com:/spare/repo/net-drivers-2.5

ChangeSet@xxxxxx, 2003-12-07 13:50:47-05:00, shemminger@xxxxxxxx
[PATCH] pc300 - get rid of MOD_INC/MOD_DEC

Remove old style mod inc/dec from this WAN driver.

ChangeSet@xxxxxx, 2003-12-07 13:49:20-05:00, shemminger@xxxxxxxx
[PATCH] get rid of MOD INC/DEC for farsync

Get rid of leftover MOD INC/DEC in this driver. Ref counting now done
by network core.

Jeff, please apply to net-drivers-2.5-exp

ChangeSet@xxxxxx, 2003-12-07 13:45:51-05:00, viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[atm clip] convert to using alloc_netdev(), const-offset priv

ChangeSet@xxxxxx, 2003-12-07 13:42:37-05:00, viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[pcmcia] synclink_cs] convert net_device to dynamic allocation

ChangeSet@xxxxxx, 2003-12-07 13:42:04-05:00, viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[char synclinkmp] convert net_device to dynamic allocation

ChangeSet@xxxxxx, 2003-12-07 13:40:52-05:00, viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[hamradio dmascc] convert embedded net_device to dynamic allocation

ChangeSet@xxxxxx, 2003-12-07 13:39:29-05:00, viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
net_device and netdev private struct allocation improvements.

1) Ensure alignment of both net_device and private area.
2) Introduce netdev_priv(), an inline which allows the dynamic private
area (dev->priv) to be calculated as a constant offset from the
base struct net_device at compile time.

ChangeSet@xxxxxx, 2003-12-07 13:21:55-05:00, achirica@xxxxxxxxxxxxxx
[wireless airo] Delay MIC activation to prevent Oops

ChangeSet@xxxxxx, 2003-12-07 13:21:47-05:00, achirica@xxxxxxxxxxxxxx
[wireless airo] Fix PCI registration

ChangeSet@xxxxxx, 2003-12-07 13:18:43-05:00, hirofumi@xxxxxxxxxxxxxxxxxx
[PATCH] 8139too tx queue handling fix

Hi,

netif_stop_queue(dev);
[....]
netif_start_queue(dev);
netif_wake_queue(dev);
and
netif_stop_queue(dev);
[....]
netif_wake_queue(dev);

is not same. After tx_timeout, this was needed for restarting tx work
immediately.

Are you interested in this patch?

drivers/net/8139too.c | 3 +--
1 files changed, 1 insertion(+), 2 deletions(-)

ChangeSet@xxxxxx, 2003-12-07 13:18:34-05:00, hirofumi@xxxxxxxxxxxxxxxxxx
[PATCH] 8139too warning fix (1/2)

drivers/net/8139too.c | 2 ++
1 files changed, 2 insertions(+)

ChangeSet@xxxxxx, 2003-12-07 13:13:24-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] fix RX

Brown paper bag time: the Rx descriptors are contiguous and EORbit only
marks the last descriptor in the array. OWNbit implicitly marks the end
of the Rx descriptors segment which is owned by the nic.

ChangeSet@xxxxxx, 2003-12-07 13:12:27-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Suspend/resume code (Fernando Alencar Marótica).

ChangeSet@xxxxxx, 2003-12-07 13:11:46-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Modification of the interrupt mask (RealTek).

ChangeSet@xxxxxx, 2003-12-07 13:10:49-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Driver forgot to update the transmitted bytes counter.
Originally done in rtl8169_start_xmit() by Realtek.

ChangeSet@xxxxxx, 2003-12-07 13:10:04-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Merge of changes from Realtek:
- register voodoo in rtl8169_hw_start().

ChangeSet@xxxxxx, 2003-12-07 13:08:55-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Merge of timer related changes from Realtek:
- changed their timeout value from 100 to HZ to trigger rtl8169_phy_timer();
- s/TX_TIMEOUT/RTL8169_TX_TIMEOUT/ to have RTL8169_{TX/PHY}_TIMEOUT.

ChangeSet@xxxxxx, 2003-12-07 13:07:25-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one():
- phy capability settings allows lower or equal capability as suggested
in Realtek's changes;
- I/O voodoo;
- no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
- s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
- rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
of code (yep, the u16 -> int conversions should work as expected);
- variable renames and whitepace changes ignored.

ChangeSet@xxxxxx, 2003-12-07 13:05:55-05:00, romieu@xxxxxxxxxxxxx
[netdrvr r8169] Add {mac/phy}_version.
- change of identification logic in rtl8169_init_board();
- {chip/rtl_chip}_info are merged in rtl_chip_info;
- misc style nits (lazy braces, SHOUTING MACROS from realtek converted to
functions).

ChangeSet@xxxxxx, 2003-12-07 12:58:13-05:00, manfred@xxxxxxxxxxxxxxxx
[netdrvr] add "forcedeth" driver for nVidia nForce NICs