Commit Graph

948 Commits

Author SHA1 Message Date
Eugene Surovegin
37448f7d39 [PATCH] New PowerPC 4xx on-chip ethernet controller driver
This patch replaces current PowerPC 4xx EMAC driver with
new, re-written from the scratch version. This patch is quite big
(~234K) because there is virtualy 0% of common code between old and
new version.

New driver uses NAPI, it solves stability problems under heavy packet
load and low memory, corrects chip register access and fixes numerous
small bugs I don't even remember now.

This patch has been tested on all supported in 2.6 PPC 4xx boards.
It's been used in production for almost a year now on custom
4xx hardware. PPC32 specific parts are already upstream.

Patch was acked by the current EMAC driver maintainer (Matt Porter). I
will be maintaining this new version.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
--

 Kconfig                   |   72
 ibm_emac/Makefile         |   13
 ibm_emac/ibm_emac.h       |  418 +++--
 ibm_emac/ibm_emac_core.c  | 3414 ++++++++++++++++++++++++----------------------
 ibm_emac/ibm_emac_core.h  |  313 ++--
 ibm_emac/ibm_emac_debug.c |  377 ++---
 ibm_emac/ibm_emac_debug.h |   63
 ibm_emac/ibm_emac_mal.c   |  674 +++++----
 ibm_emac/ibm_emac_mal.h   |  336 +++-
 ibm_emac/ibm_emac_phy.c   |  335 ++--
 ibm_emac/ibm_emac_phy.h   |  105 -
 ibm_emac/ibm_emac_rgmii.c |  201 ++
 ibm_emac/ibm_emac_rgmii.h |   68
 ibm_emac/ibm_emac_tah.c   |  111 +
 ibm_emac/ibm_emac_tah.h   |   96 -
 ibm_emac/ibm_emac_zmii.c  |  255 +++
 ibm_emac/ibm_emac_zmii.h  |  114 -
 17 files changed, 4114 insertions(+), 2851 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:42:01 -04:00
Philippe De Muyter
b71b95efa5 [PATCH] sundance: fix DFE-580TX Tx Underrun
Under heavy PCI bus load, ports of the DFE-580TX 4-ethernet port board stop
working, with currently no other cure than a powercycle.  Here is a tested
fix.  By the way, I also fixed some references and attribution.

Signed-off-by: Philippe De Muyter <phdm@macqel.be>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:40:33 -04:00
Andrew Morton
89358f90ab [netdrvr b44] include linux/dma-mapping.h to eliminate warning 2005-10-28 16:38:02 -04:00
Pantelis Antoniou
48257c4f16 Add fs_enet ethernet network driver, for several embedded platforms. 2005-10-28 16:25:58 -04:00
Alexey Dobriyan
d8840ac907 [PATCH] starfire: free_irq() on error path of netdev_open()
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:16:59 -04:00
Deepak Saxena
712cb1ebb1 [PATCH] Fix CS89x0 KConfig for IXDP2X01
IXDP2x01 systems can be built without PCI network cards, so we should not
require NET_PCI to build CS89x0 on these systems.

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:16:19 -04:00
Nicolas Pitre
99e1baf869 [PATCH] smc91x: shut down power after probing
If the interface is not used right away after being probed it wastes
power needlessly. Noted by Holger Schurig.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:16:19 -04:00
Aurelien Jarno
8fee5f51a5 [PATCH] sis190.c: fix multicast MAC filter
Here is a patch that changes the way the MAC filter is computed for the
multicast addresses. The computation is taken from the SiS GPL driver.

This patch is necessary to get IPv6 working.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:14:11 -04:00
Matthew Wilcox
adf6e00064 [PATCH] b44 reports wrong advertised flags
Looks like someone used the MII constants instead of the ethtool constants.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:14:10 -04:00
Akinobu Mita
9eb343aeb3 [PATCH] s2io: kconfig help fix
The documentation about s2io is available at
Documentation/networking/s2io.txt.

Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:12:59 -04:00
Roger While
008d55903a [wireless prism54] Fix frame length
prism54 is leaking information when passing transmits to the firmware.
There is no requirement to adjust the length to >= ETH_ZLEN.
Just pass the skb length (after possible adjustment).

Signed-off-by: Roger While <simrw@sim-basis.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:11:49 -04:00
Komuro
d89a64bedf pcnet_cs: fix mii init code for older DL10019 based cards
Some older DL10019 based cards need to setup
the auto-negotiation-advertisement register
to advertise 100Full,100Half,10Full and 10Half.

Signed-off-by: <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:09:54 -04:00
Santiago Leon
82702d37a5 [PATCH] ibmveth fix failed addbuf
This patch fixes a bug that happens when the hypervisor can't add a
buffer.  The old code wrote IBM_VETH_INVALID_MAP into the free_map
array, so next time the index was used, a ibmveth_assert() caught it and
called BUG().  The patch writes the right value into the free_map array
so that the index can be reused.

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:31 -04:00
Santiago Leon
60296d9e4b [PATCH] ibmveth lockless TX
This patch adds the lockless TX feature to the ibmveth driver.  The
hypervisor has its own locking so the only change that is necessary is
to protect the statistics counters.

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Santiago Leon
e2adbcb480 [PATCH] ibmveth fix buffer replenishing
This patch removes the allocation of RX skb's  buffers from a workqueue
to be called directly at RX processing time.  This change was suggested
by Dave Miller when the driver was starving the RX buffers and
deadlocking under heavy traffic:

> Allocating RX SKBs via tasklet is, IMHO, the worst way to
> do it.  It is no surprise that there are starvation cases.
>
> If tasklets or work queues get delayed in any way, you lose,
> and it's very easy for a card to catch up with the driver RX'ing
> packets very fast, no matter how aggressive you make the
> replenishing.  By the time you detect that you need to be
> "more aggressive" it is already too late.
> The only pseudo-reliable way is to allocate at RX processing time.
>

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Santiago Leon
b6d35182fe [PATCH] ibmveth fix buffer pool management
This patch changes the way the ibmveth driver handles the receive
buffers.  The old code mallocs and maps all the buffers in the pools
regardless of MTU size and it also limits the number of buffer pools to
three. This patch makes the driver malloc and map the buffers necessary
to support the current MTU. It also changes the hardcoded names of the
buffer pool number, size, and elements to arrays to make it easier to
change (with the hope of making them runtime parameters in the future).

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Santiago Leon
0abe791e94 [PATCH] ibmveth fix bonding
This patch updates dev->trans_start and dev->last_rx so that the ibmveth
driver can be used with the ARP monitor in the bonding driver.

Signed-off-by: Santiago Leon <santil@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Michael Chan
37ff238d68 [PATCH] tg3: update version and minor fixes
Update version and reldate and add more sanity checking to
tg3_set_settings().

Signed-off-by: Gary Zambrano <zambrano@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Michael Chan
28fbef78a4 [PATCH] tg3: fix ASF heartbeat
Change the ASF heart beat to 5 seconds for faster detection of system
crash. The driver sends the heartbeat every 2 seconds and the ASF
firmware will timeout and reset the device if no heartbeat is received
after 5 seconds. The old scheme of 2 minutes is ineffective.

tg3_write_mem_fast() is added to speed up the IO to send the heartbeat.
When no workaround is needed, it will use direct MMIO to memory space
to write to memory.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:30 -04:00
Michael Chan
a4e2b34784 [PATCH] tg3: add 5714/5715 support
Add complete support for 5714/5715. These chips are very similar to
5780 so the changes are very trivial. A TG3_FLG2_5780_CLASS flag is
added to identify these chips.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:07:29 -04:00
Linus Torvalds
e5dfa9282f Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2005-10-28 09:05:25 -07:00
Al Viro
9e24974db6 [PATCH] gfp_t: drivers/net
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-28 08:16:51 -07:00
Ayaz Abdulla
ac9c18974f [netdrvr forcedeth] scatter gather and segmentation offload support
also:
- eliminate use of pointless get_nvpriv() wrapper,
  and use netdev_priv() directly.
- use NETDEV_TX_xxx return codes
2005-10-26 00:51:24 -04:00
Ralf Baechle
59b8182707 [PATCH] sb1250-mac: PHY probing fixes.
Improve sb1250-mac driver to probe for PHYs at addresses other
than 1, such as the PHYs on BigSur.

Signed-Off-By: Andy Isaacson <adi@broadcom.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-20 16:06:11 -04:00
Jeff Garzik
902f90735b Merge branch 'master' 2005-10-20 10:06:09 -04:00
Mallikarjuna R Chilakala
07b8fede6d [PATCH] e1000: Driver version, white space, comments, device id & other
Driver version, white space, comments, device id & other

Originally posted on 8/31 (and perhaps before)...I think it has not
been committed because the patch from that posting was damaged.  I'm
reposting to make sure it gets in... :-)

Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-20 10:05:36 -04:00
John W. Linville
b06c093ed2 [PATCH] sundance: include MII address 0 in PHY probe
Include MII address 0 at the end of the PHY scan.  This covers the
entire range of possible MII addresses.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-20 10:05:36 -04:00
Andrew Morton
c367c21c93 [PATCH] orinoco: limit message rate
Brice Goglin <Brice.Goglin@ens-lyon.org> reports a printk storm from this
driver.  Fix.

Acked-by: David Gibson <hermes@gibson.dropbear.id.au>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-19 23:04:30 -07:00
Ralf Baechle
74b0247fbd [PATCH] sb1250-mac: Whitespace cleanup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/sb1250-mac.c | 1030 +++++++++++++++++++++++------------------------
 1 files changed, 515 insertions(+), 515 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-19 22:14:20 -04:00
Ralf Baechle
2039973af5 [PATCH] sb1250-mac: Get rid of all the funny SBMAC_WRITECSR and SBMAC_READCSR macros.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/sb1250-mac.c |  303 ++++++++++++++++++++---------------------------
 1 files changed, 132 insertions(+), 171 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-19 22:14:20 -04:00
Ralf Baechle
ab7a435a01 [PATCH] Remove unused header.
mkiss.h has been integrated into mkiss.c earlier.

Signed-off-by: Ralf Baechle DL5RB <ralf@linux-mips.org>

 drivers/net/hamradio/mkiss.h |   62 -------------------------------------------
 1 files changed, 62 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-19 22:14:20 -04:00
Andrew Morton
c4cfe567b9 [PATCH] e1000 build fix
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 23:57:26 -04:00
John W. Linville
2aa1d82db7 [PATCH] sundance: expand reset mask
Expand the mask used when reseting the chip to include the GlobalReset
bit.  This fix comes from ICPlus and seems to be required for some
cards.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:29:14 -04:00
John W. Linville
67ec2f805a [PATCH] sundance: remove if (1) { ... } block in sundance_probe1
Remove an if (1) { ... } block in sundance_probe1.  Its purpose seems
to be only to allow for delaring some extra local variables.  But, it also
adds ugly indentation without adding any meaning to the code.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:29:14 -04:00
John W. Linville
36841c9d02 [PATCH] orinoco: remove redundance skb length check before padding
Checking the skb->len value before calling skb_padto is redundant.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:27:14 -04:00
John W. Linville
9f38c636ab [PATCH] b44: alternate allocation option for DMA descriptors
This is a (final?) hack to support the odd DMA allocation requirements
of the b44 hardware.  The b44 hardware has a 30-bit DMA mask.  On x86,
anything less than a 32-bit DMA mask forces allocations into the 16MB
GFP_DMA range.  The memory there is somewhat limited, often resulting
in an inability to initialize the b44 driver.

This hack uses streaming DMA allocation APIs in order to provide an
alternative in case the GFP_DMA allocation fails.  It is somewhat ugly,
but not much worse than the similar existing hacks to support SKB
allocations in the same driver.  FWIW, I have received positive
feedback on this from several Fedora users.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:27:13 -04:00
John W. Linville
df49898a47 [PATCH] bonding: cleanup comment for mode 1 IGMP xmit hack
Expand comment explaining MAC address selection for replicated IGMP
frames transmitted in bonding mode 1 (active-backup).  Also, a small
whitespace cleanup.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:27:13 -04:00
John W. Linville
7645baec58 [PATCH] 8139too: fix resume for Realtek 8100B/8139D
Add "HasHltClk" flag for RTL-8100B/8139D hardware in order to fix
problems resuming from suspend-to-RAM.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:26:01 -04:00
John W. Linville
b7b1d20214 [PATCH] epic100: fix counting of work_done in epic_poll
work_done is overwritten each time through the rx_action loop in
epic_poll.  This screws-up the NAPI accounting if the loop is executed
more than once.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:26:01 -04:00
John W. Linville
6ba98d311d [PATCH] via-rhine: change mdelay to msleep and remove from ISR path
Get rid of the mdelay call in rhine_disable_linkmon.  The function
is called from the via-rhine versions of mdio_read and mdio_write.
Those functions are indirectly called from rhine_check_media and
rhine_tx_timeout, both of which can be called in interrupt context.

So, create tx_timeout_task and check_media_task as instances of struct
work_struct inside of rhine_private.  Then, change rhine_tx_timeout to
invoke schedule_work for tx_timeout_task (i.e. rhine_tx_timeout_task),
moving the work to process context.  Also, change rhine_error (invoked
from rhine_interrupt) to invoke schedule_work for check_media_task
(i.e. rhine_check_media_task), which simply calls rhine_check media
in process context.  Finally, add a call to flush_scheduled_work in
rhine_close to avoid any resource conflicts with pending work items.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 22:26:01 -04:00
Andrew Morton
923833405d [PATCH] s2io build fix
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:33:42 -04:00
Andrew Morton
166d823d39 [PATCH] e1000_intr build fix
drivers/net/e1000/e1000_main.c: In function `e1000_intr':
drivers/net/e1000/e1000_main.c:3156: error: `i' undeclared (first use in this function)
drivers/net/e1000/e1000_main.c:3156: error: (Each undeclared identifier is reported only once
drivers/net/e1000/e1000_main.c:3156: error: for each function it appears in.)

This function is foul.

Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:32:34 -04:00
Ralf Baechle
dcbf847756 [PATCH] mipsnet: Virtual ethernet driver for MIPSsim.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/Kconfig   |    8 +
 drivers/net/Makefile  |    1
 drivers/net/mipsnet.c |  371 ++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/net/mipsnet.h |  127 +++++++++++++++++
 4 files changed, 507 insertions(+)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:48 -04:00
Ralf Baechle
9cc975e00d [PATCH] ne: Support for RBHMA4500 eval board.
Support for Toshiba's RBHMA4500 eval board for the TX4938.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/ne.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:48 -04:00
Ralf Baechle
36156cdff1 [PATCH] declance: Use physical addresses at the interface level.
Use physical addresses at the interface level, letting drivers remap
them as appropriate.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/declance.c |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:48 -04:00
Ralf Baechle
4569504a36 [PATCH] declance: Deal with the bloody KSEG vs CKSEG horror...
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/declance.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:48 -04:00
Ralf Baechle
6684b4e282 [PATCH] declance: Fix mapping of device.
These should really be addresses obtained with ioremap() or some
bus-specific backend, but for now...

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/declance.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:48 -04:00
Ralf Baechle
da848ec37d [PATCH] declance: Convert to irqreturn_t.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/declance.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:47 -04:00
Ralf Baechle
302a5c4b3d [PATCH] sgiseeq: Configure PIO and DMA timing requests.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/sgiseeq.c       |   28 ++++++++++++++--------------
 include/asm-mips/sgi/hpc3.h |   40 ++++++++++++++++++++--------------------
 2 files changed, 34 insertions(+), 34 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:47 -04:00
Ralf Baechle
2891439e73 [PATCH] sgiseeq: Fix resource handling.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

 drivers/net/sgiseeq.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-18 18:03:47 -04:00