Commit Graph
8225 Commits
Author SHA1 Message Date
Stephen Hemminger 6ed995bb29 [PATCH] sky2: don't lose multicast addresses
Don't lose multicast addresses when link goes down or ring
parameters change.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:38:35 -05:00
Stephen Hemminger 1b537565a8 [PATCH] sky2: handle out of memory on admin changes
Don't die if we run out of memory on mtu or ring parameter change.
For other admin operations, don't rebuild Rx ring, just restart the PHY.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:38:35 -05:00
Stephen Hemminger edd702e847 [PATCH] skge: error handling on resume
Also have to handle out of memory condition on resume.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:38:35 -05:00
Jens Osterkamp b35de2eb38 [PATCH] spidernet: fix Kconfig after BPA->CELL rename
We changed the name of the Kconfig symbols along with
the move to arch/powerpc. This one hunk got lost during
the conversion.

From: Jens.Osterkamp@de.ibm.com
Cc: netdev@vger.kernel.org
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:37:39 -05:00
Andrew Morton 26b7625c46 [PATCH] git-netdev-all: s2io warning fix
drivers/net/s2io.c: In function `s2io_txdl_getskb':
drivers/net/s2io.c:2023: warning: cast from pointer to integer of different size
drivers/net/s2io.c: In function `s2io_open':
drivers/net/s2io.c:3325: warning: long long unsigned int format, u64 arg (arg 3)
drivers/net/s2io.c:3333: warning: long long unsigned int format, u64 arg (arg 3)
drivers/net/s2io.c: In function `s2io_eeprom_test':
drivers/net/s2io.c:4749: warning: long long unsigned int format, long unsigned int arg (arg 3)
drivers/net/s2io.c:4749: warning: long long unsigned int format, u64 arg (arg 4)
drivers/net/s2io.c:4768: warning: long long unsigned int format, long unsigned int arg (arg 3)
drivers/net/s2io.c:4768: warning: long long unsigned int format, u64 arg (arg 4)

I had to update this patch because more warnings have just appeared.

You cannot print a u64 with %l or %ll.  You do not know what type the
architecture is using.  It must be cast to a type which matches the printf
control string - unsigned long long.

The patch also fixes some overly-long strings.  Please try to keep the code
looking neat in an 80-col window.

Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Ananda Raju <Ananda.Raju@neterion.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:37:38 -05:00
Stephen Hemminger f15943f500 [PATCH] skge: version number (1.3)
Enough changes for one version.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:06 -05:00
Stephen Hemminger 3b8bb472ad [PATCH] skge: handle out of memory on ring parameter change
If changing ring parameters is unable to allocate memory, we need
to return an error and take the device down.

Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=5715
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:06 -05:00
Stephen Hemminger 2770b5172e [PATCH] skge: get rid of Yukon2 defines
Don't need to keep Yukon-2 related definitions around for Skge
driver that is only for Yukon-1 and Genesis.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:06 -05:00
Stephen Hemminger 7731a4ea1b [PATCH] skge: handle out of memory on MTU size changes
Changing the MTU size causes the receiver to have to reallocate buffers.
If this allocation fails, then we need to return an error, and take
the device offline. It can then be brought back up or reconfigured
for a smaller MTU.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:05 -05:00
Stephen Hemminger e8df855460 [PATCH] skge: avoid up/down on pause param changes
Change the pause settings doesn't need to cause link to go down/up.
It can be handled by the phy_reset code.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:05 -05:00
Stephen Hemminger ee294dcda1 [PATCH] skge: avoid up/down on speed changes
Change the speed settings doesn't need to cause link to go down/up.
It can be handled by doing the same logic as nway_reset.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:36:05 -05:00
Stephen Hemminger aa84505fb0 [PATCH] chelsio: transmit routine return values
The Chelsio driver does not return the correct values from
the transmit routine. It works because the values don't conflict,
but it is using the wrong defines. And -ENOMEM is not a legal return
value.

Since t1_sge_tx is only called in one place, making it static
allows compiler to be potentially inline it.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-24 09:35:17 -05:00
Adrian Bunk 14904398e5 [SUNGEM]: Fix link error with CONFIG_HOTPLUG disabled.
gem_remove_one() is called from the __devinit gem_init_one().

Therefore, gem_remove_one() mustn't be __devexit.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-22 23:09:44 -08:00
Michael Chan 38690194bc [TG3]: Fix ethtool memory test
Skip the memory 0xb50 to 0x1000 during "ethtool -t" memory test.
Overwriting memory in this region can cause ASF problems.

Update version and release date.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:27:28 -08:00
Michael Chan b401e9e2ec [TG3]: Add tw32_wait_f() for some sensitive registers
The tw32_f() function (register write with immediate read flush) can
hang when used on some registers to switch clock frequencies and
power. A new tw32_wait_f() is added for such registers with the
delay before the read and after the read.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:27:04 -08:00
Michael Chan dc56b7d46d [TG3]: Some low power fixes
Add some missing workarounds in tg3_set_power_state():

1. Workaround to prevent overdrawing current on 5714.

2. Do not power down 5700's PHY because of hw limitation.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:26:28 -08:00
Michael Chan 8c2dc7e1e7 [TG3]: Fix peer device handling
Locate the pdev_peer for dual port 5714 NIC devices in addition to
5704 devices. The name is also changed to tg3_find_peer() from
tg3_find_5704_peer(). It is also necessary to call netdev_priv() to
get to the peer's private tg3 structure.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:26:02 -08:00
Jeff Garzik 418fbfe979 Merge branch 'master' 2005-12-19 00:09:53 -05:00
Al Viro 37eb47ed44 [PATCH] s2io: __iomem annotations for recent changes
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-15 10:04:29 -08:00
Michael Chan 6921d201f7 [TG3]: Fix low power state
Fix the following bugs in tg3_set_power_state():

1. Both WOL and ASF flags require switching to aux power.

2. Add a missing handshake with firmware to enable WOL.

3. Turn off the PHY if both WOL and ASF are disabled.

4. Add nvram arbitration before halting the firmware.

5. Fix tg3_setup_copper_phy() to switch to 100Mbps when
   changing to low power state.

Update revision and date.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:15:53 -08:00
Michael Chan 16fe9d74f1 [TG3]: Fix 5704 single-port mode
If the dual-port 5704 is configured as a single-port device with
only one PCI function, it would trigger a BUG() condition in
tg3_find_5704_peer(). This fixes the problem by returning its
own pdev if the peer cannot be found.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:09:54 -08:00
Michael Chan 6a9eba15f5 [TG3]: Fix suspend and resume
Fix tg3_suspend() and tg3_resume() by clearing and setting the
TG3_FLAG_INIT_COMPLETE flag when appropriate. tg3_set_power_state()
looks at TG3_FLAG_INIT_COMPLETE on the peer device to determine
when to appropriately switch to aux power.  

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:58 -08:00
Michael Chan 381291b7d3 [TG3]: Fix nvram arbitration bugs.
The nvram arbitration rules were not strictly followed in a few places
and this could lead to reading corrupted values from the nvram.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:21 -08:00
Jeff Garzik d22a8ccff7 Merge branch 'upstream-fixes' 2005-12-13 11:36:18 -05:00
Jeff Garzik 98684a9d91 [netdrvr skge] fix build 2005-12-13 11:35:22 -05:00
Jeff Garzik 783e3385a1 Merge branch 'upstream-fixes' 2005-12-13 00:07:46 -05:00
Jeff Kirsher fd80324174 e1000: Fixes for 8357x
- TSO workaround
- Fixes eeprom version reporting
- Fix loopback test
- Fix for WOL

Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
2005-12-13 00:06:22 -05:00
Jeff Garzik ff7eba15ae Merge branch 'e1000' 2005-12-13 00:01:02 -05:00
Stephen Hemminger ee1c81917a [PATCH] skge: get rid of warning on race
Get rid of warning in case of race with ring full and lockless
tx on the skge driver. It is possible to be in the transmit
routine with no available slots and already stopped.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 23:33:03 -05:00
Olaf Hering 016cc85072 [PATCH] pcnet32: use MAC address from prom also on powerpc
The CSR contains garbage after a coldboot on RS/6000.
One some systems (like my 44p 270) the MAC address is all FF,
on others (like my B50) it is ff:ff:ff:fd:ff:6b.

It can eventually be fixed by loading pcnet32, set the interface
into the UP state, rmmod pcnet32 and load it again. But this worked
only on the 270.

Only netbooting after a cold start provides the correct MAC address
via prom and CSR. This makes it very unreliable.
I dont know why the MAC is stored in two different places. Remove
the special case for powerpc, which was added in early 2.4 development.

Signed-off-by: Olaf Hering <olh@suse.de>

 drivers/net/pcnet32.c |    5 -----
 1 files changed, 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:30:38 -05:00
Jeff Garzik 20234989a8 Merge branch 'master' 2005-12-12 15:30:15 -05:00
Stephen Hemminger fed954dafc [PATCH] sky2: version 0.10
Change version number.  Still don't have enough history on this
to call it 1.0 yet.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:22 -05:00
Stephen Hemminger 75d070c56f [PATCH] sky2: disable rx checksum on Yukon XL
Under load, my SysKonnect SK-9S22 sees duplicate checksums from
earlier packets.  Doesn't happen on other platforms so just disable
receive checksum there.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:22 -05:00
Stephen Hemminger 585b56012f [PATCH] sky2: turn on tx flow control
Turn symmetric flow control on by default. This was an oversight
in the initial versions.

Signed-off-by: Stephen HEmminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:22 -05:00
Stephen Hemminger d70cd51ac0 [PATCH] sky2: prefetch tuning
Add a couple more prefetches to where we walk the rings.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 8c463ef792 [PATCH] sky2: quiet ring full message in case of race
Don't print ring full message if we lose race.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 8cc048e338 [PATCH] sky2: handle tx timeout
Put more logic in to try and handle transmit timeout recovery.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 69634ee736 [PATCH] sky2: interrupt coalescing tuning
Adjust interrupt deferral values for better performance and avoid
starvation issues under stress.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 3e4b32e116 [PATCH] sky2: interrupt/poll optimization
Optimize poll routine by not clearing interrupt till after
processing, and checking for more work before re-enable.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger af2a58acb1 [PATCH] sky2: transmit complete routine optimization
Hand optimize transmit completion routine.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 13b97b74b9 [PATCH] sky2: transmit complete index optimization
Change transmit complete handling to use the status values
in the poll list because they are in-cache, rather than reading
non-cached memory for chips status.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 0e3ff6aab1 [PATCH] sky2: transmit logic fixes
Some transmit side small fixes:
 * When computing number of list elements per transmit, do full
   comparision to check for checksuming.
 * Get rid of racy check for tx_complete
 * Change stop test to match wake condition.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:21 -05:00
Stephen Hemminger 6cdbbdf305 [PATCH] sky2: tx/rx ring data structure split
Split Tx and Rx ring into two different data structures.
Tx needs the next value (to handle partial status), and
Rx always needs the mapaddr (to handle resubmitting same buffer).

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 734d186846 [PATCH] sky2: map length optimization
Don't need to keep track of mapping length in ring structure
because we can get the same info from other info.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 129372d052 [PATCH] sky2: ring distance optimization
Faster way to compute ring distance.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger f2e46561cc [PATCH] sky2: no irq disable needed during tx
Don't need to disable interrupts during the transmit routine.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 91c86df5a8 [PATCH] sky2: phy processing in workqueue rather than tasklet
Do phy processing in a work queue rather than a tasklet.
This means we can let bottom halves run.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger fb17358fe3 [PATCH] sky2: ethtool get/set interrupt coalescing
Add support for get/set the interrupt coalescing settings.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger bdb5c58ebe [PATCH] sky2: copy threshold as module parameter
Make the copy threshold a module parameter for those who
may want to turn it off.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00
Stephen Hemminger 6e23231b65 [PATCH] sky2: device structure alignment
It is a useful optimization to rearrange the structure
slightly to align receive and transmit portions.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:27:20 -05:00