]> err.no Git - linux-2.6/log
linux-2.6
16 years agolibertas: remove arbitrary typedefs
Holger Schurig [Fri, 23 Nov 2007 14:43:44 +0000 (15:43 +0100)]
libertas: remove arbitrary typedefs

New typedefs are usually frowned upon. This patch changes
libertas_adapter -> struct libertas_adapter
libertas_priv -> struct libertas_priv

While passing, make everything checkpatch.pl-clean that gets touches.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: configurable beacon interval
Brajesh Dave [Tue, 20 Nov 2007 22:44:28 +0000 (17:44 -0500)]
libertas: configurable beacon interval

Requires firmware version 5.110.19.p0 or newer, available here:
http://dev.laptop.org/pub/firmware/libertas/

Signed-off-by: Ashish Shukla <ashishs@marvell.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: separate mesh connectivity from that of the main interface
Brajesh Dave [Tue, 20 Nov 2007 22:44:14 +0000 (17:44 -0500)]
libertas: separate mesh connectivity from that of the main interface

The transmit and receive traffic as soon as the mesh interface is
brought up.

Test case 1:  Bring up only the mesh interface and ping.  No need for
any iwconfig commands on the main interface.

$ ifconfig msh0 192.168.5.3
$ iwconfig msh0 channel X
$ ping 192.168.5.2
If ping succeeds, PASS

Test case 2:  Associate with the main interface, and turn off AP.  Mesh
interface should not lose connectivity.

$ iwconfig eth0 mode managed essid "my_ssid"
$ ifconfig msh0 192.168.5.3
$ ping 192.168.5.2
<turn off access point>
If ping continues uninterrupted, PASS

This feature requires firmware version 5.110.19.p0 or newer, available
here: http://dev.laptop.org/pub/firmware/libertas/

Signed-off-by: Ashish Shukla <ashishs@marvell.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: nuke useless variable usbdriver_name and useless comments
Andres Salomon [Tue, 20 Nov 2007 22:44:04 +0000 (17:44 -0500)]
libertas: nuke useless variable usbdriver_name and useless comments

I think it was pretty obvious what fields in if_usb_driver are...

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: reset devices upon disconnect rather than module unloading
Andres Salomon [Tue, 20 Nov 2007 22:43:55 +0000 (17:43 -0500)]
libertas: reset devices upon disconnect rather than module unloading

1) Do not reset libertas devices upon module unload.  We're unloading
the module, we're not killing off devices.
2) Instead, reset libertas devices inside if_usb_disconnect, as we're
killing off interfaces and so on.
3) Resetting via disconnect callback means we no longer need to keep
track of probed libertas devices; kill off that list (and its wonderful
lack of locking..), as well.

Drop a useless comment as well.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: mark module_init/exit functions as __init/__exit
Andres Salomon [Tue, 20 Nov 2007 22:43:45 +0000 (17:43 -0500)]
libertas: mark module_init/exit functions as __init/__exit

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: drop useless default_fw_name variable
Andres Salomon [Tue, 20 Nov 2007 22:43:32 +0000 (17:43 -0500)]
libertas: drop useless default_fw_name variable

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: add copyright notices
Daniel Drake [Mon, 19 Nov 2007 16:20:12 +0000 (16:20 +0000)]
zd1211rw: add copyright notices

Requested by Michael Wu.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: Add ID for Trendnet TEW-429UB A
Daniel Drake [Mon, 19 Nov 2007 15:29:24 +0000 (15:29 +0000)]
zd1211rw: Add ID for Trendnet TEW-429UB A

Tested by chloubs on IRC
zd1211 chip 157e:300a v4810 high 00-11-e0 AL7230B_RF pa0 g----

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agozd1211rw: port to mac80211
Daniel Drake [Mon, 19 Nov 2007 15:00:29 +0000 (15:00 +0000)]
zd1211rw: port to mac80211

This seems to be working smoothly now. Let's not hold back the mac80211
transition any further. This patch ports the existing driver from softmac
to mac80211.

Many thanks to everyone who helped out with the porting efforts.

Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: clean up association debug messages
Holger Schurig [Mon, 15 Oct 2007 10:55:56 +0000 (12:55 +0200)]
libertas: clean up association debug messages

This makes the debug output of all association stuff clearer by:

* adding some lbs_deb_enter()/lbs_deb_leave() calls
* printing the return level in one place
* lower-casing some string

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agolibertas: move to uniform lbs_/LBS_ namespace
Holger Schurig [Thu, 15 Nov 2007 23:05:47 +0000 (18:05 -0500)]
libertas: move to uniform lbs_/LBS_ namespace

This patch unifies the namespace of variables, functions defines
and structures. It does:

- rename libertas_XXX to lbs_XXX
- rename LIBERTAS_XXX to lbs_XXX
- rename wlan_XXX to lbs_XXX
- rename WLAN_XXX to LBS_XXX (but only those that were
  defined in libertas-local *.h files, e.g. not defines
  from net/ieee80211.h)

While passing, I fixed some checkpatch.pl errors too.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove redundant initialization of final_mode
John W. Linville [Thu, 15 Nov 2007 21:27:36 +0000 (16:27 -0500)]
iwlwifi: remove redundant initialization of final_mode

Problem identified by Miguel Botón <mboton.lkml@gmail.com>, alternate
solution suggested by Zhu Yi <yi.zhu@intel.com>, patch by me. :-)

Cc: Miguel Botón <mboton.lkml@gmail.com>
Cc: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Remove the old, now unused, data structures
Larry Finger [Fri, 9 Nov 2007 22:58:20 +0000 (16:58 -0600)]
ssb: Remove the old, now unused, data structures

The old, now unused, data structures and SPROM extraction routines
are removed.

Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:57:34 +0000 (16:57 -0600)]
b43legacy: Convert to use of the new SPROM structure

The b43legacy driver is modified to use the new SPROM structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:57:18 +0000 (16:57 -0600)]
b43: Convert to use of the new SPROM structure

The b43 driver is modified to use the new SPROM structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob44: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:56:10 +0000 (16:56 -0600)]
b44: Convert to use of the new SPROM structure

The b44 driver is changed to use the new SPROM data structure.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Convert to use of the new SPROM structure
Larry Finger [Fri, 9 Nov 2007 22:56:25 +0000 (16:56 -0600)]
ssb: Convert to use of the new SPROM structure

In disagreement with the SPROM specs, revision 3 devices appear to have
moved the MAC address.

Change ssb to handle the revision 4 SPROM, which is a different size.
This change in size is handled by adding a new variable to the ssb_sprom
struct and using it whenever possible. For those routines that do not
have access to this structure, a 'u16 size' argument is added.

The new PCI_ID for the BCM4328 is also added.

Testing of the Revision 4 SPROM, which is used on the BCM4328, was done
by Michael Gerdau <mgerdau@tiscali.de>.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agossb: Add new SPROM structure while keeping the old
Larry Finger [Fri, 9 Nov 2007 22:54:45 +0000 (16:54 -0600)]
ssb: Add new SPROM structure while keeping the old

The SPROM's for various devices utilizing the Sonics Silicon Backplane come
with various revisions. The Revision 2 SPROM inherited the data layout of 1, and
Revision 3 inherited the layout of 2. The first instance of Revision 4 has
now been found in a BCM4328 wireless LAN card. This device does not inherit any
layout from previous versions. Although it was possible to create a data
structure that kept all the old layouts, we decided to start fresh, keep only
those SPROM variables that are used by the drivers that utilize ssb, and to
do the conversion in such a manner that neither compilation or execution will
be affected if a bisection lands in the middle of these changes, while keeping
the patches as small as possible.

In this patch, the sprom structures are changed while maintaining the old ones.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agort2x00: Move duplicate code into rt2x00pci_txdone()
Ivo van Doorn [Mon, 12 Nov 2007 14:02:40 +0000 (15:02 +0100)]
rt2x00: Move duplicate code into rt2x00pci_txdone()

rt2400pci, rt2500pci and rt61 require different
txdone handling, but the code that pushes the frame
upstream and cleans up the entry is identical to
all of them.
This will create the function rt2x00pci_txdone()
to remove the duplicate code.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed
Zhu Yi [Mon, 12 Nov 2007 03:37:43 +0000 (11:37 +0800)]
iwl4965: fix rxon flags set to wrong value for A mode in .erp_ie_changed

The patch fixes a bug that enables RXON_FLG_TGG_PROTECT_MSK erroneously
for A mode in the erp_ie_changed mac80211 callback.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: silence a bogus gcc warning
Frank Lichtenheld [Mon, 12 Nov 2007 10:12:52 +0000 (11:12 +0100)]
b43: silence a bogus gcc warning

use uninitialized_var() to avoid the following bogus warning:
  CC [M]  drivers/net/wireless/b43/debugfs.o
drivers/net/wireless/b43/debugfs.c: In function ‘b43_debugfs_read’:
drivers/net/wireless/b43/debugfs.c:355: warning: ‘ret’ may be used uninitialized in this function

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: fix kconfig dependecies for rfkill and leds
Stefano Brivio [Wed, 7 Nov 2007 23:28:00 +0000 (00:28 +0100)]
b43legacy: fix kconfig dependecies for rfkill and leds

Fix dependencies for built-in b43legacy.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoMAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200
Reinette Chatre [Wed, 7 Nov 2007 06:06:28 +0000 (22:06 -0800)]
MAINTAINERS: Add Reinette Chatre to iwlwifi & ipw2100/ipw2200

Also fix Zhu Yi's name.

Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
CC: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoremove unused iwl4965_init_hw_rates function
Zhu Yi [Wed, 7 Nov 2007 06:06:27 +0000 (22:06 -0800)]
remove unused iwl4965_init_hw_rates function

The patch removes the unused function to fix a recursive bug caused
by namespace change.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: cleanup namespace
Christoph Hellwig [Mon, 28 Jan 2008 00:41:47 +0000 (16:41 -0800)]
iwlwifi: cleanup namespace

Prefix all symbols with iwl3945_ or iwl4965_ and thus allow building
the driver into the kernel. Also remove all the useless default
statements in Kconfig while we're at it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoiwl4965: fix cannot find a suitable rate issue
Mohamed Abbas [Wed, 7 Nov 2007 06:06:25 +0000 (22:06 -0800)]
iwl4965: fix cannot find a suitable rate issue

This patch fixes the iwl4965 problem for "Can not find a suitable rate
issues." by making rs_switch_to_mimo and rs_switch_to_siso functions
return -1 when CONFIG_IWL4965_HT is not selected. They used to return 0,
which means we can switch to HT rate causing the rate scale problem and
the error message.

The patch also fix another bug reported by Ben Cahill that it uses wrong
value for max_success_limit.

Signed-off-by: Mohamed Abbas <mabbas@linux.intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL
Zhu Yi [Wed, 7 Nov 2007 06:06:24 +0000 (22:06 -0800)]
iwlwifi: replace 0x8086 with PCI_VENDOR_ID_INTEL

Replace 0x8086 with PCI_VENDOR_ID_INTEL for PCI_DEVICE declaration.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43/b43legacy: fix my copyright notices
Stefano Brivio [Tue, 6 Nov 2007 21:49:20 +0000 (22:49 +0100)]
b43/b43legacy: fix my copyright notices

Fix my copyright notices in b43 and b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Cc: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: rewrite A PHY initialization
Stefano Brivio [Tue, 6 Nov 2007 21:49:05 +0000 (22:49 +0100)]
b43: rewrite A PHY initialization

Rewrite and sync A PHY initialization with specs, thus allowing for further
work to be done on 802.11a support. Note that A PHY initialization involves
G PHYs as well.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Acked-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: rewrite and fix rfkill initialization
Stefano Brivio [Tue, 6 Nov 2007 21:48:45 +0000 (22:48 +0100)]
b43legacy: rewrite and fix rfkill initialization

The rfkill subsystem doesn't like code like that
rfkill_allocate();
rfkill_register();
rfkill_unregister();
rfkill_register(); /* <- This will crash */

This sequence happens with
modprobe b43
ifconfig wlanX up
ifconfig wlanX down
ifconfig wlanX up

Fix this by always re-allocating the rfkill stuff before register.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: use a consistent naming scheme for the ops
Stefano Brivio [Tue, 6 Nov 2007 21:48:25 +0000 (22:48 +0100)]
b43legacy: use a consistent naming scheme for the ops

Use a consistent naming scheme for the ops.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43legacy: use the retry limits provided by mac80211
Stefano Brivio [Tue, 6 Nov 2007 21:48:12 +0000 (22:48 +0100)]
b43legacy: use the retry limits provided by mac80211

Use the retry limits provided by mac80211.

The patch to b43 by Michael Buesch <mb@bu3sch.de> has been ported to
b43legacy.

Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoSGISEEQ: use cached memory access to make driver work on IP28
Thomas Bogendoerfer [Sat, 24 Nov 2007 12:29:19 +0000 (13:29 +0100)]
SGISEEQ: use cached memory access to make driver work on IP28

SGI IP28 machines would need special treatment (enable adding addtional
wait states) when accessing memory uncached. To avoid this pain I changed
the driver to use only cached access to memory.

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Don't enable RX/TX without a link (if possible)
Olof Johansson [Thu, 29 Nov 2007 02:58:25 +0000 (20:58 -0600)]
pasemi_mac: Don't enable RX/TX without a link (if possible)

pasemi_mac: Don't enable RX/TX without a link (if possible)

Don't enable RX/TX of packets until we have a link, since there's a chance
we'll just get RX frame errors, etc.

The case where we don't have a PHY we can't do much about: Just enable
it and deal with errors as they come in.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Print warning when not attaching to a PHY
Olof Johansson [Thu, 29 Nov 2007 02:58:06 +0000 (20:58 -0600)]
pasemi_mac: Print warning when not attaching to a PHY

pasemi_mac: Print warning when not attaching to a PHY

Print a warning on the console when not connecting to a phy for an interface.
It turns out to be a pretty common problem when someone gets the MDIO info
wrong in their device tree, resulting in the macs running at a fixed 1Gbit FD.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Remove SKB copy/recycle logic
Olof Johansson [Thu, 29 Nov 2007 02:57:56 +0000 (20:57 -0600)]
pasemi_mac: Remove SKB copy/recycle logic

pasemi_mac: Remove SKB copy/recycle logic

It doesn't really buy us much, since copying is about as expensive
as the allocation in the first place. Just remove it for now.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: SKB unmap optimization
Olof Johansson [Thu, 29 Nov 2007 02:57:45 +0000 (20:57 -0600)]
pasemi_mac: SKB unmap optimization

pasemi_mac: SKB unmap optimization

Avoid touching skb_shinfo() in the unmap path, since it turns out to
normally cause cache misses and delays. instead, save number of fragments
in the TX_RING_INFO structures since that's all that's needed anyway.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Software-based LRO support
Olof Johansson [Thu, 29 Nov 2007 02:57:27 +0000 (20:57 -0600)]
pasemi_mac: Software-based LRO support

pasemi_mac: Software-based LRO support

Implement LRO for pasemi_mac. Pretty straightforward.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Improve RX interrupt mitigation
Olof Johansson [Thu, 29 Nov 2007 02:57:09 +0000 (20:57 -0600)]
pasemi_mac: Improve RX interrupt mitigation

pasemi_mac: Improve RX interrupt mitigation

Currently the receive side interrupts will go off on the reception of
a packet, NAPI will poll the ring and keep polling as long as there's
a decent amount of packets to receive.

This is less than optimal, especially for LRO where it's better if we
have a more substantial amount of packets to process at once, to get
the real LRO benefits.

So, set the count threshold to a higher value and use the timeout feature
that will give us an interrupt even if not enough packets have come in
to set off the count threshold.

FIXME: It'd be real nice to have ethtool support for users to tune this
at runtime.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Fix TX cleaning
Olof Johansson [Thu, 29 Nov 2007 02:56:54 +0000 (20:56 -0600)]
pasemi_mac: Fix TX cleaning

pasemi_mac: Fix TX cleaning

This is a bit awkward. We don't have a timer-delayed interrupt on TX
complete, but we have a count threshold. So set that reasonably high
(32 packets), and schedule the NAPI poll when it goes off. Also bump a
regular timer that will take care of rotting packets for the last 1..31
ones in case we don't trigger a TX interrupt (and there's no RX activity
that would otherwise trigger the poll).

The longer-term fix is to separate TX from RX NAPI and do two separate
poll loops.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: performance tweaks
Olof Johansson [Thu, 29 Nov 2007 02:56:41 +0000 (20:56 -0600)]
pasemi_mac: performance tweaks

pasemi_mac: performance tweaks

* Seems like we do better with a smaller RX ring, probably because chances of
  still having the SKB cached are better
* Const-ify variables to get better code generation and fewer reloads
* Move prefetching around a little, and try to prefetch the whole SKB
* Set NETIF_F_HIGHDMA
* Misc other minor tweaks

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Convert to new dma library
Olof Johansson [Thu, 29 Nov 2007 02:56:32 +0000 (20:56 -0600)]
pasemi_mac: Convert to new dma library

pasemi_mac: Convert to new dma library

Convert the pasemi_mac driver to the new platform global DMA manaagement
library. This also does a couple of other minor cleanups w.r.t. channel
management.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi: DMA engine management library
Olof Johansson [Thu, 29 Nov 2007 02:56:20 +0000 (20:56 -0600)]
pasemi: DMA engine management library

pasemi: DMA engine management library

Introduce a DMA management library to manage the various DMA resources
on the PA Semi SoCs. Since several drivers need to allocate these shared
resources, provide some abstractions as well as allocation/free functions
for channels, etc.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: Move register definitions to include/asm-powerpc
Olof Johansson [Thu, 29 Nov 2007 02:56:04 +0000 (20:56 -0600)]
pasemi_mac: Move register definitions to include/asm-powerpc

pasemi_mac: Move register definitions to include/asm-powerpc

Move the common register formats and descriptor layouts from
drivers/net/pasemi_mac.h to include/asm-poewrpc/pasemi_dma.h

Previously only the ethernet driver was using them, but other drivers
are coming up that will also use them, so it makes sense to share the
constants.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agopasemi_mac: RX/TX ring management cleanup
Olof Johansson [Thu, 29 Nov 2007 02:54:28 +0000 (20:54 -0600)]
pasemi_mac: RX/TX ring management cleanup

pasemi_mac: RX/TX ring management cleanup

Prepare a bit for supporting multiple TX queues by cleaning up some
of the ring management and shuffle things around a bit.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosky2: rx allocation threshold change
Stephen Hemminger [Wed, 28 Nov 2007 22:50:16 +0000 (14:50 -0800)]
sky2: rx allocation threshold change

When using larger MTU's sky2 driver changes from allocating one
data area, to using multiple pages. The threshold for this was based on
a heuristic where the cost of a single allocation is bigger than one
page.  Since the allocator has changed, this heuristic is now incorrect;
instead just make the threshold be when the total size of the allocation
is greater than one page.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosky2: align IP header on Rx if possible
Stephen Hemminger [Wed, 28 Nov 2007 22:27:03 +0000 (14:27 -0800)]
sky2: align IP header on Rx if possible

The sky2 driver was not aligning the IP header on receive buffers.
This workaround is only needed on hardware with broken FIFO, newer chips
without FIFO can just DMA to unaligned address.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agor6040: cleanups
Francois Romieu [Wed, 28 Nov 2007 22:02:33 +0000 (23:02 +0100)]
r6040: cleanups

- whitespaces vs tabs
- use 80 cols
- use if_mii
- use netdev_priv
- remove useless cast to void *
- PCI device id does not need to be globally available

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: erroneous dev->priv
Francois Romieu [Wed, 28 Nov 2007 21:55:36 +0000 (22:55 +0100)]
r6040: erroneous dev->priv

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: remove virt_to_bus
Francois Romieu [Wed, 28 Nov 2007 21:31:00 +0000 (22:31 +0100)]
r6040: remove virt_to_bus

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agor6040: compile error
Francois Romieu [Wed, 28 Nov 2007 20:36:22 +0000 (21:36 +0100)]
r6040: compile error

drivers/net/r6040.c: In function 'rx_buf_alloc':
drivers/net/r6040.c:262: warning: passing argument 2 of 'pci_map_single' makes pointer from integer without a cast

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
16 years agoaxnet_cs: use spin_lock_irqsave instead of spin_lock + disable_irq
Komuro [Sun, 11 Nov 2007 02:04:36 +0000 (11:04 +0900)]
axnet_cs: use spin_lock_irqsave instead of spin_lock + disable_irq

Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/cxgb3: trim trailing whitespace
Jeff Garzik [Sat, 24 Nov 2007 02:59:45 +0000 (21:59 -0500)]
drivers/net/cxgb3: trim trailing whitespace

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocxgb3 - Fix I/O synchronization
Divy Le Ray [Fri, 16 Nov 2007 19:22:21 +0000 (11:22 -0800)]
cxgb3 - Fix I/O synchronization

Synchronize memory access before ringing
the Tx door bell.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - HW set up updates
Divy Le Ray [Fri, 16 Nov 2007 19:22:16 +0000 (11:22 -0800)]
cxgb3 - HW set up updates

Disable PEX errors. The HW generates false positives.
Update RSS hash function to a symmetric algorithm.
Update T3C HW support

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - sysfs methods clean up
Divy Le Ray [Fri, 16 Nov 2007 19:22:10 +0000 (11:22 -0800)]
cxgb3 - sysfs methods clean up

Remove unused argument in sysfs methods

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - fix interaction with pktgen
Divy Le Ray [Fri, 16 Nov 2007 19:22:05 +0000 (11:22 -0800)]
cxgb3 - fix interaction with pktgen

Do not use skb->cb to stash unmap info,
save the info to the descriptor state.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - FW upgrade
Divy Le Ray [Fri, 16 Nov 2007 19:22:00 +0000 (11:22 -0800)]
cxgb3 - FW upgrade

Bump up FW version to 5.0.
Do not downgrade FW within the same major version range.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - Add EEH support
Divy Le Ray [Fri, 16 Nov 2007 19:21:55 +0000 (11:21 -0800)]
cxgb3 - Add EEH support

Add PCI recovery support

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - Fix resources release.
Divy Le Ray [Fri, 16 Nov 2007 19:21:50 +0000 (11:21 -0800)]
cxgb3 - Fix resources release.

Remove sysfs entries before unregistering the net devices.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - Use wild card for PCI subdevice ID match
Divy Le Ray [Fri, 16 Nov 2007 22:26:44 +0000 (14:26 -0800)]
cxgb3 - Use wild card for PCI subdevice ID match

Subdevice ID is not necessarily set to 1.
Use wild card for PCI device matching

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agocxgb3 - fix MSI-X failure path
Divy Le Ray [Fri, 16 Nov 2007 19:21:39 +0000 (11:21 -0800)]
cxgb3 - fix MSI-X failure path

Return error code when msi-x settings fail.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[netdrvr] checkpatch cleanups
Jeff Garzik [Sat, 24 Nov 2007 02:50:34 +0000 (21:50 -0500)]
[netdrvr] checkpatch cleanups

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agowireless: checkpatch cleanups
Jeff Garzik [Sat, 24 Nov 2007 02:50:20 +0000 (21:50 -0500)]
wireless: checkpatch cleanups

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/r6040: fix obvious problems (but more remain)
Jeff Garzik [Sat, 24 Nov 2007 02:49:27 +0000 (21:49 -0500)]
drivers/net/r6040: fix obvious problems (but more remain)

- checkpatch fixes

- fix bogus and uninitialized return codes in r6040_start_xmit()

- netdev_get_settings() fix obvious locking bug flagged by compiler warning

- set DMA consistent mask

- remove unnecessary setting of dev->base_addr

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] netxen: checkpatch fixes (98% trim trailing whitespace)
Jeff Garzik [Sat, 24 Nov 2007 02:23:36 +0000 (21:23 -0500)]
[netdrvr] netxen: checkpatch fixes (98% trim trailing whitespace)

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodm9601: Consolidate common parts of dm_write_*_async
Peter Korsgaard [Thu, 15 Nov 2007 10:10:12 +0000 (11:10 +0100)]
dm9601: Consolidate common parts of dm_write_*_async

dm_write_async and dm_write_reg_async are almost identical.
Move common functionality to dm_write_async_helper (saves ~256b).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoslip: Drag kicking and screaming into coding style compliance
Alan Cox [Mon, 19 Nov 2007 15:03:38 +0000 (15:03 +0000)]
slip: Drag kicking and screaming into coding style compliance

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago3c501: Bring into compliance with the coding style
Alan Cox [Mon, 19 Nov 2007 15:02:32 +0000 (15:02 +0000)]
3c501: Bring into compliance with the coding style

3c501 leads the way... 8)

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/chelsio/: #if 0 unused functions
Adrian Bunk [Wed, 21 Nov 2007 23:02:55 +0000 (15:02 -0800)]
drivers/net/chelsio/: #if 0 unused functions

This patch #if 0's the following unused functions:
- espi.c:t1_espi_set_misc_ctrl()
- sge.c:t1_sched_set_max_avail_bytes()
- sge.c:t1_sched_set_drain_bits_per_us()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:28 +0000 (17:48 -0800)]
drivers/net: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/sk98lin: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:25 +0000 (17:48 -0800)]
drivers/net/sk98lin: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/wan: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:26 +0000 (17:48 -0800)]
drivers/net/wan: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/netxen: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:24 +0000 (17:48 -0800)]
drivers/net/netxen: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/ixgb: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:23 +0000 (17:48 -0800)]
drivers/net/ixgb: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/cxgb3: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:22 +0000 (17:48 -0800)]
drivers/net/cxgb3: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/chelsio: Add missing "space"
Joe Perches [Tue, 20 Nov 2007 01:48:21 +0000 (17:48 -0800)]
drivers/net/chelsio: Add missing "space"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoadd bnx2x driver for BCM57710
Eliezer Tamir [Thu, 15 Nov 2007 18:09:02 +0000 (20:09 +0200)]
add bnx2x driver for BCM57710

Signed-off-by: Eliezer Tamir <eliezert@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[S2IO]: Support for add/delete/store/restore ethernet addresses
Sreenivasa Honnur [Thu, 24 Jan 2008 09:45:43 +0000 (01:45 -0800)]
[S2IO]: Support for add/delete/store/restore ethernet addresses

- Support to add/delete/store/restore 64 and 128 Ethernet addresses for Xframe I and Xframe II respectively.

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[E1000]: Secondary unicast address support
Patrick McHardy [Wed, 14 Nov 2007 04:54:59 +0000 (20:54 -0800)]
[E1000]: Secondary unicast address support

Add support for configuring secondary unicast addresses. Unicast
addresses take precendece over multicast addresses when filling
the exact address filters to avoid going to promiscous mode.
When more unicast addresses are present than filter slots,
unicast filtering is disabled and all slots can be used for
multicast addresses.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[E1000E]: convert register test macros to functions
Joe Perches [Wed, 14 Nov 2007 04:53:51 +0000 (20:53 -0800)]
[E1000E]: convert register test macros to functions

Add functions for reg_pattern_test and reg_set_and check
Changed macros to use these functions

Compiled x86, untested

Size decreased ~2K

old:

$ size drivers/net/e1000e/ethtool.o
   text    data     bss     dec     hex filename
  14461       0       0   14461    387d drivers/net/e1000e/ethtool.o

new:

$ size drivers/net/e1000e/ethtool.o
   text    data     bss     dec     hex filename
  12498       0       0   12498    30d2 drivers/net/e1000e/ethtool.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[E1000]: Convert regtest macro's to functions
Joe Perches [Wed, 14 Nov 2007 04:52:05 +0000 (20:52 -0800)]
[E1000]: Convert regtest macro's to functions

Minimal macro to function conversion in e1000_ethtool.c

Adds functions reg_pattern_test and reg_set_and_check
Changes REG_PATTERN_TEST and REG_SET_AND_CHECK macros
to call these functions.

Saves ~2.5KB

Compiled x86, untested (no hardware)

old:

$ size drivers/net/e1000/e1000_ethtool.o
   text    data     bss     dec     hex filename
  16778       0       0   16778    418a drivers/net/e1000/e1000_ethtool.o

new:

$ size drivers/net/e1000/e1000_ethtool.o
   text    data     bss     dec     hex filename
  14128       0       0   14128    3730 drivers/net/e1000/e1000_ethtool.o

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[E1000]: update netstats traffic counters realtime
Auke Kok [Wed, 14 Nov 2007 04:49:15 +0000 (20:49 -0800)]
[E1000]: update netstats traffic counters realtime

formerly e1000/e1000e only updated traffic counters once every
2 seconds with the register values of bytes/packets. With newer
code however in the interrupt and polling code we can real-time
fill in these values in the netstats struct for users to see.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[E1000E]: update netstats traffic counters realtime
Auke Kok [Wed, 14 Nov 2007 04:48:36 +0000 (20:48 -0800)]
[E1000E]: update netstats traffic counters realtime

formerly e1000/e1000e only updated traffic counters once every
2 seconds with the register values of bytes/packets. With newer
code however in the interrupt and polling code we can real-time
fill in these values in the netstats struct for users to see.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[BONDING]: Documentation update
Jay Vosburgh [Wed, 14 Nov 2007 04:25:48 +0000 (20:25 -0800)]
[BONDING]: Documentation update

Update the bonding documentation: more discussion on
initialization and configuration, changes to discussion of packet
reordering in balance-rr, update some out of date information.

Based in part on input from Rick Jones <rick.jones2@hp.com>
and Andy Gospodarek <andy@greyhouse.net>.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Acked-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago[NET]: Add support for the RDC R6040 Fast Ethernet controller
Sten Wang [Tue, 13 Nov 2007 05:31:11 +0000 (21:31 -0800)]
[NET]: Add support for the RDC R6040 Fast Ethernet controller

This patch adds support for the RDC R6040 MAC we can find in the RDC
R-321x System-on-chips.

Signed-off-by: Sten Wang <sten.wang@rdc.com.tw>
Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>
Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
16 years agoFix e100 on systems that have cache incoherent DMA
David Acker [Thu, 8 Nov 2007 18:17:41 +0000 (10:17 -0800)]
Fix e100 on systems that have cache incoherent DMA

On the systems that have cache incoherent DMA, including ARM, there
is a race condition between software allocating a new receive buffer
and hardware writing into a buffer.  The two race on touching the last
Receive Frame Descriptor (RFD).  It has its el-bit set and its next
link equal to 0.  When hardware encounters this buffer it attempts to
write data to it and then update Status Word bits and Actual Count in
the RFD.  At the same time software may try to clear the el-bit and
set the link address to a new buffer.

Since the entire RFD is once cache-line, the two write operations can
collide.  This can lead to the receive unit stalling or interpreting
random memory as its receive area.

The fix is to set the el-bit on and the size to 0 on the next to last
buffer in the chain.  When the hardware encounters this buffer it stops
and does not write to it at all.  The hardware issues an RNR interrupt
with the receive unit in the No Resources state.  Software can write
to the tail of the list because it knows hardware will stop on the
previous descriptor that was marked as the end of list.

Once it has a new next to last buffer prepared, it can clear the el-bit
and set the size on the previous one.  The race on this buffer is safe
since the link already points to a valid next buffer and the software
can handle the race setting the size (assuming aligned 16 bit writes
are atomic with respect to the DMA read). If the hardware sees the
el-bit cleared without the size set, it will move on to the next buffer
and skip this one.  If it sees the size set but the el-bit still set,
it will complete that buffer and then RNR interrupt and wait.

Signed-off-by: David Acker <dacker@roinet.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agosundance: SIOCDEVPRIVATE pollution
Francois Romieu [Thu, 1 Nov 2007 07:52:13 +0000 (00:52 -0700)]
sundance: SIOCDEVPRIVATE pollution

To quote one of my favorite contemporary author:
[include/linux/sockios.h]
 *      THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM
 */

#define SIOCDEVPRIVATE  0x89F0  /* to 89FF */

[...]

Gentoo's snmpd trips up over this code when trying to figure if the driver
supports the non-SIOCDEVPRIVATE API or not.  One can argue over its choice
of heuristic but there no reason to make ioctl more ugly than needed.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Jesse Huang <jesse@icplus.com.tw>
Tested-by: Volker Sauer <vsauer@dvs.tu-darmstadt.de>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agodrivers/net/netxen/: cleanups
Adrian Bunk [Mon, 5 Nov 2007 17:07:31 +0000 (18:07 +0100)]
drivers/net/netxen/: cleanups

This patch contains the following cleanups:
- static functions in .c files shouldn't be marked inline
- make needlessly global code static
- #if 0 unused code

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoixgbe: Fix copper PHY initialization code
Auke Kok [Wed, 31 Oct 2007 22:22:10 +0000 (15:22 -0700)]
ixgbe: Fix copper PHY initialization code

While cleaning up the internal API focussing on Fiber and CX4 code
we found that I had broken the copper PHY initialization code. This
patch restores the PHY-specific code. This is mostly uninteresting
since no copper PHY boards are yet available. The changes have been
tested against Fiber only as I do not even have copper PHY versions
of 82598 macs.

This change actually cleans up the API code a bit more and we
lose some initialization code. A few PHY link detection helper
lines of code have been snuck into this patch, as well as a
read flush where it was suspected that this might cause issues.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000/e1000e: Move PCI-Express device IDs over to e1000e
Auke Kok [Wed, 31 Oct 2007 22:22:05 +0000 (15:22 -0700)]
e1000/e1000e: Move PCI-Express device IDs over to e1000e

e1000e will from now on support the PCI-Express adapters that
previously were supported by e1000. This support means better
performance and easier debugging from now on for both the old
PCI-X/PCI hardware and PCI-Express adapters.

This patch also moves 3 recently merged device IDs over to e1000e
that are identical to quad-port versions of already existing
dual port versions. With this last bit every former e1000 pci-e
device should work now with e1000e.

Here is a brief list of which gigabit driver to use with which
adapter:

  e1000:
82540 -> 82547

  e1000e:
82571 -> 82573
ich8, ich9       (82562 or 82566)
es2lan           (80003eslan)

  igb: (not yet merged, only available from e1000.sf.net)
82575

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: Disable L1 ASPM power savings for 82573 mobile variants
Auke Kok [Wed, 31 Oct 2007 22:22:00 +0000 (15:22 -0700)]
e1000e: Disable L1 ASPM power savings for 82573 mobile variants

L1 ASPM link (pci-e link power savings) has significant benefits
(~1W savings when link is active) but unfortunately does not work
correctly on any of the chipsets that have 82573 on mobile platforms
which causes various nuisances:
 - eeprom reads return garbage information leading to bad eeprom
   checksums
 - long ping times (up to 2 seconds)
 - complete system hangs (freeze/lockup)

A lot of T60 owners have been plagued by this, but other mobile
solutions also suffer from these symptoms.

Disabling L1 ASPM before we activate the PCI-E link fixes all of
these issues at the cost of some power consumption.

Remove a workaround RDTR adjustment that is no longer needed with
this new one.

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agoe1000e: alternate MAC address support
Bill Hayes [Wed, 31 Oct 2007 22:21:52 +0000 (15:21 -0700)]
e1000e: alternate MAC address support

Port alternate MAC address support from the sourceforge
e1000 driver to the upstream e1000e driver.

Signed-off-by: Bill Hayes <bill.hayes@hp.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years ago[netdrvr] ibmlana: move away from legacy MCA API
Jeff Garzik [Mon, 5 Nov 2007 02:53:26 +0000 (21:53 -0500)]
[netdrvr] ibmlana: move away from legacy MCA API

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] ibmlana: modularization cleanup
Jeff Garzik [Mon, 5 Nov 2007 02:52:49 +0000 (21:52 -0500)]
[netdrvr] ibmlana: modularization cleanup

* move alloc_netdev() call, register_netdev() call, and associated failure
  cleanup into ibmlana_probe()

* move per-net_device cleanup into ibmlana_remove_one()

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] irq handler minor cleanups in several drivers
Jeff Garzik [Mon, 29 Oct 2007 09:46:16 +0000 (05:46 -0400)]
[netdrvr] irq handler minor cleanups in several drivers

* use irq_handler_t where appropriate

* no need to use 'irq' function arg, its already stored in a data struct

* rename irq handler 'irq' argument to 'dummy', where the function
  has been analyzed and proven not to use its first argument.

* remove always-false "dev_id == NULL" test from irq handlers

* remove pointless casts from void*

* declance: irq argument is not const

* add KERN_xxx printk prefix

* fix minor whitespace weirdness

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agohamradio/scc: kill unnecessary use of 'irq' function arg
Jeff Garzik [Mon, 29 Oct 2007 09:20:44 +0000 (05:20 -0400)]
hamradio/scc: kill unnecessary use of 'irq' function arg

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosk98lin: kill bogus check and convert to use ARRAY_SIZE()
Alejandro Martinez Ruiz [Thu, 18 Oct 2007 08:22:02 +0000 (10:22 +0200)]
sk98lin: kill bogus check and convert to use ARRAY_SIZE()

This converts uses of ARRAY_SIZE(), and while at it also kills
unreachable code as far as I can say. I can't tell what was the author
trying to do with the following check. First we have:

PNMI_STATIC const SK_PNMI_STATADDR
StatAddr[SK_PNMI_MAX_IDX][SK_PNMI_MAC_TYPES];

and then a check goes like this:

if (SK_PNMI_MAX_IDX !=
   (sizeof(StatAddr) / (sizeof(SK_PNMI_STATADDR) * SK_PNMI_MAC_TYPES)))

with the second line being just ARRAY_SIZE(StatAddr), which will always
return SK_PNMI_MAX_IDX, rendering the check useless.

Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
16 years agonetdev: ARRAY_SIZE() cleanups
Alejandro Martinez Ruiz [Thu, 18 Oct 2007 08:16:33 +0000 (10:16 +0200)]
netdev: ARRAY_SIZE() cleanups

Convert array size calculations to use ARRAY_SIZE().

Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>