profile/ivi/kernel-x86-ivi.git
16 years agoiwlwifi: take a fresh set of supported rates at each cycle
Emmanuel Grumbach [Wed, 3 Sep 2008 03:26:54 +0000 (11:26 +0800)]
iwlwifi: take a fresh set of supported rates at each cycle

This patch fixes regression in iwlwifi IBSS rate scaling caused by the
patch named "mac80211: eliminate IBSS warning in rate_lowest_index()"
by Vladimir Koutny <vlado@work.ksp.sk>.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix host command header according the HW spec
Tomas Winkler [Wed, 3 Sep 2008 03:26:52 +0000 (11:26 +0800)]
iwlwifi: fix host command header according the HW spec

This patch aligns definition of host command with the spec. The
inaccuracies weren't critical though.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: allow association on radar channel in power save
Emmanuel Grumbach [Wed, 3 Sep 2008 03:26:50 +0000 (11:26 +0800)]
iwlwifi: allow association on radar channel in power save

This patch disables power save upon association and enables it back
after association. This allows to associate to AP on a radar channel
if power save is enabled.

Radar and passive channels are not allowed for TX (required for association)
unless RX is received but PS may close the radio and no RX will be received
effectively failing association.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Mohamed Abbas <mohamed.abbas@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: cleanup PCI register handling
Tomas Winkler [Wed, 3 Sep 2008 03:26:49 +0000 (11:26 +0800)]
iwlwifi: cleanup PCI register handling

This patch cleans up pci registers handling.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: fix strict_strtoul error checking
Emmanuel Grumbach [Wed, 3 Sep 2008 03:26:39 +0000 (11:26 +0800)]
iwlwifi: fix strict_strtoul error checking

This patch fixes handling of strcit_strtoul return value
"0 == sucess".

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: generic init calibrations framework
Tomas Winkler [Wed, 3 Sep 2008 03:26:37 +0000 (11:26 +0800)]
iwlwifi: generic init calibrations framework

This patch allows variable number of init calibrations and allows
addition new HW.

This patch also fixes critical bug. Only last calibration result
was applied. On reception of one calibration result all the calibration
was freed.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove rfkill warning from iwl-io
Tomas Winkler [Wed, 3 Sep 2008 03:26:35 +0000 (11:26 +0800)]
iwlwifi: remove rfkill warning from iwl-io

The patch removes the warning since registers might be accessed also
during rfkill.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: replace readl and writel with io/read/write/32
Tomas Winkler [Wed, 3 Sep 2008 03:26:34 +0000 (11:26 +0800)]
iwlwifi: replace readl and writel with io/read/write/32

This patch replaces readl and writel with more cross platform ioread32
and iowrite32.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: use strict_strtoul instead of simple_strtoul
Tomas Winkler [Wed, 3 Sep 2008 03:26:32 +0000 (11:26 +0800)]
iwlwifi: use strict_strtoul instead of simple_strtoul

This patch makes use of strict_srtoul in sysfs code.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: avoid redundant iwl3945_get_active_dwell_time
Abhijeet Kolekar [Wed, 3 Sep 2008 03:26:31 +0000 (11:26 +0800)]
iwl3945: avoid redundant iwl3945_get_active_dwell_time

iwl3945_get_active_dwell_time is called twice within the same context.
The patch removes one instance.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: removed bg_post_associate work
Abhijeet Kolekar [Wed, 3 Sep 2008 03:26:30 +0000 (11:26 +0800)]
iwl3945: removed bg_post_associate work

This patch removes bg_post_associate work. A direct call
iwl3945_post_associate is made to avoid the waiting by
userspace programs.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: replace association and beacon hooks with bss_info_changed cb
Abhijeet Kolekar [Wed, 3 Sep 2008 03:26:28 +0000 (11:26 +0800)]
iwl3945: replace association and beacon hooks with bss_info_changed cb

Let mac80211 and bss_info_changed callback handle the association and
beacon changes.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwl3945: fix unbalanced mutex
Abhijeet Kolekar [Wed, 3 Sep 2008 03:26:27 +0000 (11:26 +0800)]
iwl3945: fix unbalanced mutex

The patch removes unlocking of mutex from post_associate.

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: align set channel with mac80211
Tomas Winkler [Wed, 3 Sep 2008 03:26:26 +0000 (11:26 +0800)]
iwlwifi: align set channel with mac80211

This patch makes use of mac80211 defaults for channel and band.
Older code that uses G band channel 6 was removed. This patch also
changes iwl_set_rxon_channel signature.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: allow consecutive scans in unassociated state
Ron Rindjunsky [Wed, 3 Sep 2008 03:26:25 +0000 (11:26 +0800)]
iwlwifi: allow consecutive scans in unassociated state

This patch allows consecutive scans requests when driver is in
unassociated state.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Esti Kummer <ester.kummer@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: remove obsolete 4965 forward declarations
Ron Rindjunsky [Wed, 3 Sep 2008 03:26:24 +0000 (11:26 +0800)]
iwlwifi: remove obsolete 4965 forward declarations

This patch removes unused forward declarations functions.

Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi: clean up hw scan handler
Tomas Winkler [Wed, 3 Sep 2008 03:26:23 +0000 (11:26 +0800)]
iwlwifi: clean up hw scan handler

This patch cleans up iwl_mac_hw_scan handler.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoiwlwifi : Added bss_info_changed callback to 3945
Abhijeet Kolekar [Wed, 3 Sep 2008 03:26:21 +0000 (11:26 +0800)]
iwlwifi : Added bss_info_changed callback to 3945

Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: add missing kernel-doc
Randy Dunlap [Thu, 4 Sep 2008 16:24:53 +0000 (09:24 -0700)]
mac80211: add missing kernel-doc

Fix mac80211 kernel-doc missing struct field:

Warning(linux-2.6.27-rc1-git2//net/mac80211/sta_info.h:329): No description found for parameter 'tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Fix rate scale initialization in IBSS
Emmanuel Grumbach [Wed, 3 Sep 2008 20:42:20 +0000 (23:42 +0300)]
mac80211: Fix rate scale initialization in IBSS

This patch address some IBSS rate issues introduced or not covered
by "mac80211: eliminate IBSS warning in rate_lowest_index()" and
"cfg80211 API for channels/bitrates, mac80211 and driver conversion".

This patch:
1. Moves addition of IBSS station from
prepare_for_handlers to ieee80211_rx_bss_info when triggered from beacon
eliminating bogus supported rates.
2. Initialize properly supported rates also in IBSS merging
3. Ensure that mandatory rates are always added into supported
rates. This is needed in case when station addition is triggered from
non beacon/probe packet. Some management frames need to be sent
4. Remove initialization of supported rates from self rates. This path
was dead code after 6bc37c06bc4 and in general incorrect.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Cc: Vladimir Koutny <vlado@work.ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agomac80211: Fix low bit rate in IBSS
Tomas Winkler [Wed, 3 Sep 2008 20:42:19 +0000 (23:42 +0300)]
mac80211: Fix low bit rate in IBSS

This patch fixes regression in iwlwifi IBSS rate scaling caused by patch:

    commit 6bc37c06bc424bcf3f944e6a79e2d5bb537e02ed
    Author: Vladimir Koutny <vlado@work.ksp.sk>
    Date:   Fri Jun 13 16:50:44 2008 +0200

        mac80211: eliminate IBSS warning in rate_lowest_index()

An IBSS station is added in prepare_for_handlers where the rate scaling was
initialized only with single rate matching the received packet.
The correct rate scale information should be updated only in
ieee80211_rx_bss_info function where beacon is parsed. Because
of coding error the rate info was left untouched.
If a beacon has triggered the connection the rate remined 1Mbps.
This patch fixes this coding error

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Cc: Vladimir Koutny <vlado@work.ksp.sk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: better firmware support
Christian Lamparter [Wed, 3 Sep 2008 20:25:25 +0000 (22:25 +0200)]
p54: better firmware support

This patch hopefully contains all necessary changes to support
firmwares for all devices up to atleast 2.13.3.0.
(or: LowerMAC Protocol Rev: 5.5 )

And this is a big win, since:
 * newer firmwares are more stable and reliable than the old ones.
 * no problems anymore with packages > 1399 octets (without lowering the MTU).
 * monitor mode finally works on USB for more than just a few seconds.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: set_filter refactoring
Christian Lamparter [Wed, 3 Sep 2008 20:25:20 +0000 (22:25 +0200)]
p54: set_filter refactoring

p54_set_filter has a way too many unnecessary "magic" parameters and values.
This patch axes all superfluous parameters and gives most of the magic values appropriate names.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Replace hardcoded Analog switch
Michael Buesch [Wed, 3 Sep 2008 10:31:54 +0000 (12:31 +0200)]
b43: Replace hardcoded Analog switch

Replace a hardcoded Analog switch (which breaks on N-PHY) by a call to
the switch_analog PHY operation.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move Analog switching into phy code
Michael Buesch [Wed, 3 Sep 2008 10:12:20 +0000 (12:12 +0200)]
b43: Move Analog switching into phy code

This moves the Analog switching code into the PHY files.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54usb: support LM87 firmwares
Christian Lamparter [Thu, 4 Sep 2008 10:29:38 +0000 (12:29 +0200)]
p54usb: support LM87 firmwares

This patch adds the necessary changes to support LM87 firmwares.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath9k: uses/needs led_classdev_[un]register
Randy Dunlap [Tue, 2 Sep 2008 19:07:56 +0000 (12:07 -0700)]
ath9k: uses/needs led_classdev_[un]register

ath9k uses LED classdev functions, so it needs to either select or depend
on them.  This patch uses the same selects that ath5k uses...

drivers/built-in.o: In function `ath_unregister_led':
main.c:(.text+0x138c1d): undefined reference to `led_classdev_unregister'
drivers/built-in.o: In function `ath_register_led':
main.c:(.text+0x139c16): undefined reference to `led_classdev_register'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
cc: Jouni Malinen <jmalinen@atheros.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Split PHY alloc and init
Michael Buesch [Tue, 2 Sep 2008 11:00:34 +0000 (13:00 +0200)]
b43: Split PHY alloc and init

This splits the PHY allocation from the PHY init.
This is needed in order to properly support Analog handling.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: move eeprom code into common library
Christian Lamparter [Mon, 1 Sep 2008 20:48:51 +0000 (22:48 +0200)]
p54: move eeprom code into common library

Both p54pci and p54usb uses a good chunk of device specific code to
get the data from the device's eeprom into the drivers memory.

So, this patch reduces the code size and will it make life easier if
someone wants to implement ethtool eeprom dumping features.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54: enhance firmware parser to reduce memory waste
Christian Lamparter [Mon, 1 Sep 2008 20:48:41 +0000 (22:48 +0200)]
p54: enhance firmware parser to reduce memory waste

This patch greatly reduces one of biggest memory waste in the driver.

The firmware headers provides the right values for extra head-/tailroom
and mtu size which are usually much lower than the old hardcoded ones.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agop54pci: increase ring buffer index counter when skipping
Christian Lamparter [Sun, 31 Aug 2008 20:15:40 +0000 (22:15 +0200)]
p54pci: increase ring buffer index counter when skipping

I'm afraid, I forgot to add the following lines to
7262d59366 ("p54pci: rx tasklet refactoring").

These changes are necessary to ensure loop termination.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agotoshiba_acpi: Add support for bluetooth toggling through rfkill (v8)
philipl@overt.org [Sat, 30 Aug 2008 15:57:39 +0000 (11:57 -0400)]
toshiba_acpi: Add support for bluetooth toggling through rfkill (v8)

There's been a patch floating around for toshiba_acpi that exports an ad-hoc
/proc interface to toggle the bluetooth adapter in a large number of Toshiba
laptops. I'm not sure if it's still relevant for the latest models, but it is
still required for older models such as my Tecra M3.

This change pulls in the low level Toshiba-specific code from the old patch and
sets up an rfkill device and a polled input device to track the state of the
hardware kill-switch.

Signed-off-by: Philip Langdale <philipl@overt.org>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY radio register definitions
Michael Buesch [Sat, 30 Aug 2008 11:07:31 +0000 (13:07 +0200)]
b43: Add LP-PHY radio register definitions

This adds definitions for the LP-PHY radios.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY read/write phyops
Michael Buesch [Sat, 30 Aug 2008 09:49:45 +0000 (11:49 +0200)]
b43: Add LP-PHY read/write phyops

This adds read/write phyops for the LP-PHY and LP-PHY radios.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Add LP-PHY template
Michael Buesch [Sat, 30 Aug 2008 08:55:48 +0000 (10:55 +0200)]
b43: Add LP-PHY template

This adds template code for the LP-PHY.
No actual functionality is implemented.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move code from nphy.* to phy_n.*
Michael Buesch [Sat, 30 Aug 2008 00:27:19 +0000 (02:27 +0200)]
b43: Move code from nphy.* to phy_n.*

Sourcecode files for PHY code are named by phy_XXX.{c,h}
where XXX is the PHY type.
Move the N-PHY code to match the other files.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Move remaining code from phy.c to phy_a.c
Michael Buesch [Sat, 30 Aug 2008 00:09:08 +0000 (02:09 +0200)]
b43: Move remaining code from phy.c to phy_a.c

This moves the remaining code from phy.c to phy_a.c
phy.c is removed.
No functional change. Just moving code and removing dead code.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agocfg80211: keep track of supported interface modes
Luis R. Rodriguez [Fri, 29 Aug 2008 23:26:43 +0000 (16:26 -0700)]
cfg80211: keep track of supported interface modes

It is obviously good for userspace to know up front which
interface modes a given piece of hardware might support (even
if adding such an interface might fail later because of
concurrency issues), so let's make cfg80211 aware of that.
For good measure, disallow adding interfaces in all other
modes so drivers don't forget to announce support for one mode
when they add it.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Stephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agoath5k: HW code cleanup
Nick Kossifidis [Fri, 29 Aug 2008 19:45:39 +0000 (22:45 +0300)]
ath5k: HW code cleanup

 * No code changes...

 * Split hw.c to multiple files for better maintenance and add some documentation on each file
   code is going to grow soon (eeprom.c for example is going to get much stuff currently developed
   on ath_info) so it's better this way.

 * Rename following functions to maintain naming scheme:

     ah_setup_xtx_desc -> ah_setup_mrr_tx_desc
     (Because xtx doesn't say much, it's actually
     a multi-rate-retry tx descriptor)

     ath5k_hw_put_tx/rx_buf - > ath5k_hw_set_tx/rxdp
     ath5k_hw_get_tx/rx_buf -> ath5k_hw_get_tx/rxdp
     (We don't put any "buf" we set descriptor pointers on hw)

     ath5k_hw_tx_start -> ath5k_hw_start_tx_dma
     ath5k_hw_start_rx -> ath5k_hw_start_rx_dma
     ath5k_hw_stop_pcu_recv -> ath5k_hw_stop_rx_pcu
     (It's easier this way to identify them, we also
     have ath5k_hw_start_rx_pcu which completes the
     set)

     ath5k_hw_set_intr -> ath5k_hw_set_imr
     (As in get_isr we set imr here, not "intr")

  * Move ath5k_hw_setup_rx_desc on ah->ah_setup_rx_desc so we can
    include support for different rx descriptors in the future

  * Further cleanups so that checkpatch doesn't complain
    (only some > 80 col warnings for eeprom.h and reg.h as usual
    due to comments)

  Tested on 5211 and 5213 cards and works ok.

Changes-licensed-under: ISC
Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agob43: Don't use memcpy for overlapping areas
Michael Buesch [Thu, 28 Aug 2008 17:13:51 +0000 (19:13 +0200)]
b43: Don't use memcpy for overlapping areas

It is valid to pass &gphy->rfatt and &gphy->bbatt as rfatt and bbatt
pointer arguments to the function. So we have to use memmove for the
possibly overlapping memory areas.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
16 years agos2io: reindented misleading for loop
Ilpo Järvinen [Tue, 19 Aug 2008 07:36:01 +0000 (10:36 +0300)]
s2io: reindented misleading for loop

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] removed unused #include <version.h>
Huang Weiyi [Sat, 16 Aug 2008 23:51:20 +0000 (07:51 +0800)]
[netdrvr] removed unused #include <version.h>

The drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.
  drivers/net/myri10ge/myri10ge.c
  drivers/net/netxen/netxen_nic_ethtool.c
  drivers/net/tokenring/lanstreamer.c

This patch removes the said #include <version.h>.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139too: use netdev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:13 +0000 (11:35 +0800)]
8139too: use netdev_alloc_skb

This patch uses netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago8139cp: use netdev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:15 +0000 (11:35 +0800)]
8139cp: use netdev_alloc_skb

This patch uses netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agovia-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb
Kevin Lo [Wed, 27 Aug 2008 03:35:09 +0000 (11:35 +0800)]
via-rhine: changed to use netdev_alloc_skb() from dev_alloc_skb

Use netdev_alloc_skb. This sets skb->dev and allows
arch specific allocation. Also cleanup the alignment code.

Signed-off-by: Kevin Lo <kevlo@kevlo.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosky2: display product info on boot.
Stephen Hemminger [Thu, 28 Aug 2008 03:48:23 +0000 (20:48 -0700)]
sky2: display product info on boot.

Change bootup messages to print more information. This is to help users
who may have old buggy EEPROM image.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosky2: EEPROM read/write bug fixes
Stephen Hemminger [Thu, 28 Aug 2008 03:46:26 +0000 (20:46 -0700)]
sky2: EEPROM read/write bug fixes

Cleanup and harden the routines accessing the EEPROM.
  1. Prevent spin forever waiting for the TWSI bus
  2. Fix write eeprom to write full words rather than only 16 bits
    Luckly the vendor doesn't provide EEPROM in Linux format so it must never
    have been used.
  3. Don't allow partial eeprom writes, not needed, not safe.

These are non-urgent bug fixes.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoMerge branch 'r8169-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu...
Jeff Garzik [Wed, 3 Sep 2008 14:21:20 +0000 (10:21 -0400)]
Merge branch 'r8169-fixes' of git://git./linux/kernel/git/romieu/netdev-2.6 into upstream-next

16 years agoixgbe: change config srrctl to only program one register per VMDq/RSS id
Alexander Duyck [Sat, 30 Aug 2008 07:29:10 +0000 (00:29 -0700)]
ixgbe: change config srrctl to only program one register per VMDq/RSS id

This change makes it so only one srrctl register is programmed per VMDq id, and if VMDq is not enabled it is one register per RSS queue.  Currently this function is working correctly for the multiqueue RSS and single queue cases, but if any advances features such as VMDq or DCB would have been enabled this function would have caused issues as it was not correct.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoigb: clean up a stray fake netdev code left in rx path
Alexander Duyck [Tue, 26 Aug 2008 11:25:11 +0000 (04:25 -0700)]
igb: clean up a stray fake netdev code left in rx path

Remove code that was in place to support fake netdev

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoigb: remove unneeded cleaned variable in clean_tx_irq path
Alexander Duyck [Tue, 26 Aug 2008 11:25:08 +0000 (04:25 -0700)]
igb: remove unneeded cleaned variable in clean_tx_irq path

The cleaned variable can be replaced by the count of packets cleaned during
the tx interrupt routine so it can be removed.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: add support for new 82574L part
Bruce Allan [Wed, 27 Aug 2008 01:37:06 +0000 (18:37 -0700)]
e1000e: add support for new 82574L part

This new part has the same feature set as previous parts with the addition
of MSI-X support.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts
Bruce Allan [Wed, 27 Aug 2008 01:36:50 +0000 (18:36 -0700)]
e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts

Add support for new LOM devices on the latest generation ICHx platforms.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: add support for the 82567LM-4 device
Bruce Allan [Wed, 27 Aug 2008 01:36:36 +0000 (18:36 -0700)]
e1000e: add support for the 82567LM-4 device

Enable PCI device ID for a new combination of MAC and PHY already supported
in the driver.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: use different context for tso and offload
PJ Waskiewicz [Tue, 26 Aug 2008 11:27:30 +0000 (04:27 -0700)]
ixgbe: use different context for tso and offload

Change TSO offloads to use a different context than VLAN insertion
and Tx checksumming.  Hardware has separate registers internally for
storing these so use them.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix dca hints going to wrong processor
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:27 +0000 (04:27 -0700)]
ixgbe: fix dca hints going to wrong processor

hardware was configured incorrectly which led all hints to be
sent to queue[0]'s DCA configuration.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix bug where lro settings are per ring
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:24 +0000 (04:27 -0700)]
ixgbe: fix bug where lro settings are per ring

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: update dca to new interface, fix CONFIG_DCA_MODULE
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:21 +0000 (04:27 -0700)]
ixgbe: update dca to new interface, fix CONFIG_DCA_MODULE

DCA related fixes
=================
- ixgbe was not compiling and using DCA correctly if dca was a module
- DCA interface changed with new kernel
- ixgbe was not correctly configured to indicate DCA hints to the
  correct CPU.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: should not use HW_CSUM, should use IP* flags
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:18 +0000 (04:27 -0700)]
ixgbe: should not use HW_CSUM, should use IP* flags

as mentioned by Herbert, our hardware supports IP offloads, not full
checksum offloads for any protocol in existence (even though the
hardware just provides generic csum support over any range of bytes)

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Lock RSS seed, move rx_buf_len to the rx_ring
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:16 +0000 (04:27 -0700)]
ixgbe: Lock RSS seed, move rx_buf_len to the rx_ring

This locks the seed down so loading/unloading the driver will present
predictable hashing from RSS.  Also move the rx_buf_len out of the adapter
struct, and into the Rx ring struct.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Implement Tx Head Writeback
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:13 +0000 (04:27 -0700)]
ixgbe: Implement Tx Head Writeback

Enable Tx Head Writeback in the hardware.  This helps performance by
removing adapter writebacks to descriptors on transmit completion.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: disable flow control by default
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:10 +0000 (04:27 -0700)]
ixgbe: disable flow control by default

Since the adapter cannot tell what the remote end's flow control capability
is through auto-neg, we must turn off flow control by default.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Cleanup references to Tx and Rx rings to becommon across the driver
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:08 +0000 (04:27 -0700)]
ixgbe: Cleanup references to Tx and Rx rings to becommon across the driver

Cleanup all the different references to the Tx ring and Rx ring structures
and make them common across the driver.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: do not update stats twice each receive
Jesse Brandeburg [Tue, 26 Aug 2008 11:27:05 +0000 (04:27 -0700)]
ixgbe: do not update stats twice each receive

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: Implement HAVE_SET_RX_MODE
Christopher Leech [Tue, 26 Aug 2008 11:27:02 +0000 (04:27 -0700)]
ixgbe: Implement HAVE_SET_RX_MODE

Implement HAVE_SET_RX_MODE in the driver for MC and UC lists.

Signed-off-by: Christopher Leech <christopher.leech@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: add little endian annotations for sparse
Jesse Brandeburg [Tue, 26 Aug 2008 11:26:59 +0000 (04:26 -0700)]
ixgbe: add little endian annotations for sparse

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixgbe: fix rx csum return status misinterpretation
Jesse Brandeburg [Tue, 26 Aug 2008 11:26:56 +0000 (04:26 -0700)]
ixgbe: fix rx csum return status misinterpretation

the driver was misinterpreting rx_csum return value in the descriptor
so occassionally we would indicate an rx_csum error in our stats
when there was none.  This would have no effect on traffic because
we would just hand the packet to the stack anyway without the offload
flag set, but would increase CPU for those packets that needed a recompute.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoibm_newemac: MAL[12]_IER_EVENTS definition: 2x *_OTE -> *_DE
roel kluin [Sat, 30 Aug 2008 20:48:24 +0000 (22:48 +0200)]
ibm_newemac: MAL[12]_IER_EVENTS definition: 2x *_OTE -> *_DE

MAL[12]_IER_EVENTS definitions have MAL_IER_OTE twice
but lack MAL_IER_DE

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agohp-plus: fix link objects
Randy Dunlap [Tue, 2 Sep 2008 20:03:44 +0000 (13:03 -0700)]
hp-plus: fix link objects

Fix hp-plus Makefile object file:

drivers/built-in.o: In function `hpp_open':
hp-plus.c:(.text+0xaf445): undefined reference to `ei_interrupt'
hp-plus.c:(.text+0xaf4ac): undefined reference to `ei_open'
drivers/built-in.o: In function `hpp_close':
hp-plus.c:(.text+0xaf59d): undefined reference to `ei_close'
drivers/built-in.o: In function `hpp_probe1':
hp-plus.c:(.init.text+0x7314): undefined reference to `ei_poll'
drivers/built-in.o: In function `hp_plus_probe':
(.init.text+0x7407): undefined reference to `__alloc_ei_netdev'
make[1]: *** [.tmp_vmlinux1] Error 1

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: change some __constant_htons() to htons()
Brian Haley [Tue, 2 Sep 2008 14:08:08 +0000 (10:08 -0400)]
bonding: change some __constant_htons() to htons()

Resending since I didn't see any responses from the first try.

Change __constant_htons() to htons() in the bonding driver, it should
only be used for initializers.

-Brian

Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Rework efx_set_multicast_hash()
Ben Hutchings [Mon, 1 Sep 2008 11:49:12 +0000 (12:49 +0100)]
sfc: Rework efx_set_multicast_hash()

When !port_enabled, defer the write to reconfigure_mac_wrapper.

Whilst here, simplify the logic now that efx_start_port() always calls
efx_reconfigure_port().

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove the STATE_RESETTING flag
Ben Hutchings [Mon, 1 Sep 2008 11:49:08 +0000 (12:49 +0100)]
sfc: Remove the STATE_RESETTING flag

This was originally a kludge to fix broken locking, which has since
been fixed properly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Extend self-tests
Ben Hutchings [Mon, 1 Sep 2008 11:49:02 +0000 (12:49 +0100)]
sfc: Extend self-tests

Include PMA/PMD in loopback self-tests as intended.

Add NVRAM checksum validation and include it in self-tests.

Add register self-tests.

Run PHY self-tests where available.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Rework the bitfield header so that we can identify fields by bit number
Ben Hutchings [Mon, 1 Sep 2008 11:48:55 +0000 (12:48 +0100)]
sfc: Rework the bitfield header so that we can identify fields by bit number

This will support register self-tests.

From: Steve Hodgson <shodgson@solarflare.com>
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleanup reset code
Ben Hutchings [Mon, 1 Sep 2008 11:48:50 +0000 (12:48 +0100)]
sfc: Cleanup reset code

Move more code from efx_reset() into efx_reset_down() and efx_reset_up().

Stop propagating MAC/PHY setting failures from efx_reset_down() and
efx_reset_up() as these should not be fatal.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove some unreachable error paths
Ben Hutchings [Mon, 1 Sep 2008 11:48:46 +0000 (12:48 +0100)]
sfc: Remove some unreachable error paths

Some functions return an error code which is always 0.  Change their
return types to void and simplify their callers accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove remnants of multi-port abstraction for MAC registers
Ben Hutchings [Mon, 1 Sep 2008 11:48:41 +0000 (12:48 +0100)]
sfc: Remove remnants of multi-port abstraction for MAC registers

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_nic_dummy_op_int() as redundant with efx_port_dummy_op_int()
Ben Hutchings [Mon, 1 Sep 2008 11:48:36 +0000 (12:48 +0100)]
sfc: Remove efx_nic_dummy_op_int() as redundant with efx_port_dummy_op_int()

Update comment on the dummy operation implementations.

Line up the board operation initialisers.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Enable TSO for 802.1q VLAN devices
Ben Hutchings [Mon, 1 Sep 2008 11:48:23 +0000 (12:48 +0100)]
sfc: Enable TSO for 802.1q VLAN devices

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Do not call netif_{stop,wake}_queue() before register_netdev
Steve Hodgson [Mon, 1 Sep 2008 11:48:20 +0000 (12:48 +0100)]
sfc: Do not call netif_{stop,wake}_queue() before register_netdev

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Make PHY flash mode a device attribute, not a module parameter
Ben Hutchings [Mon, 1 Sep 2008 11:48:17 +0000 (12:48 +0100)]
sfc: Make PHY flash mode a device attribute, not a module parameter

This allows updating PHY firmware for one interface without removing
all other interfaces handled by the driver.

Replace tx_disabled flags and 10Xpress status enumeration with flags in
enum efx_phy_mode.

Prevent an interface from being brought up while in PHY flash mode.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Implement get_sset_count, replacing get_stats_count and self_test_count
Ben Hutchings [Mon, 1 Sep 2008 11:48:12 +0000 (12:48 +0100)]
sfc: Implement get_sset_count, replacing get_stats_count and self_test_count

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleanup RX event processing
Ben Hutchings [Mon, 1 Sep 2008 11:48:08 +0000 (12:48 +0100)]
sfc: Cleanup RX event processing

Make efx_process_channel() and falcon_process_eventq() return the
number of packets received rather than updating the quota, consistent
with new NAPI.

Since channels and RX queues are mapped one-to-one, remove return
value from falcon_handle_rx_event() and add a warning for events
with the wrong RX queue number.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_channel::evqnum field
Ben Hutchings [Mon, 1 Sep 2008 11:48:03 +0000 (12:48 +0100)]
sfc: Remove efx_channel::evqnum field

It is redundant with efx_channel::channel.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Make efx_for_each_channel_rx_queue() more efficient
Ben Hutchings [Mon, 1 Sep 2008 11:47:57 +0000 (12:47 +0100)]
sfc: Make efx_for_each_channel_rx_queue() more efficient

Currently each channel can have at most one RX queue, so go straight to
that one.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove initialisation of RX_FILTER_CTL_REG.NUM_KER
Ben Hutchings [Mon, 1 Sep 2008 11:47:52 +0000 (12:47 +0100)]
sfc: Remove initialisation of RX_FILTER_CTL_REG.NUM_KER

We have long since given up doing RSS on Falcon A1 and therefore we
would always write the default value of 0.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleanup RX queue information
Ben Hutchings [Mon, 1 Sep 2008 11:47:48 +0000 (12:47 +0100)]
sfc: Cleanup RX queue information

Rename efx_nic::rss_queues to the more obvious n_rx_queues

Remove efx_rx_queue::used and other stuff that's redundant with it.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove efx_channel::has_interrupt
Ben Hutchings [Mon, 1 Sep 2008 11:47:38 +0000 (12:47 +0100)]
sfc: Remove efx_channel::has_interrupt

efx_channel::has_interrupt is redundant with efx_channel::used_flags.

Remove efx_test_eventq() because it is now obviously unreachable.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Move CPU counting for RSS into a separate function, efx_wanted_rx_queues()
Ben Hutchings [Mon, 1 Sep 2008 11:47:33 +0000 (12:47 +0100)]
sfc: Move CPU counting for RSS into a separate function, efx_wanted_rx_queues()

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Export boot configuration in EEPROM through ethtool
Ben Hutchings [Mon, 1 Sep 2008 11:47:16 +0000 (12:47 +0100)]
sfc: Export boot configuration in EEPROM through ethtool

Extend the SPI device setup code to support this.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Removed forced inlining of long functions
Ben Hutchings [Mon, 1 Sep 2008 11:47:12 +0000 (12:47 +0100)]
sfc: Removed forced inlining of long functions

gcc will automatically inline static functions with only one caller, and
may inline other functions depending on the kernel configuration and size
of the intermediate code.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Cleaned up struct tso_state fields
Ben Hutchings [Mon, 1 Sep 2008 11:47:02 +0000 (12:47 +0100)]
sfc: Cleaned up struct tso_state fields

Squashed nested structures.

Renamed remaining_len to out_len, ifc.len to in_len, header_length to
header_len.

Moved ipv4_id into the group of output variables where it belongs.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Set net_device::vlan_features appropriately
Ben Hutchings [Mon, 1 Sep 2008 11:46:54 +0000 (12:46 +0100)]
sfc: Set net_device::vlan_features appropriately

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use explicit bool for boolean variables, parameters and return values
Ben Hutchings [Mon, 1 Sep 2008 11:46:50 +0000 (12:46 +0100)]
sfc: Use explicit bool for boolean variables, parameters and return values

Replace (cond ? 1 : 0) with cond or !!cond as appropriate, and
(cond ? 0 : 1) with !cond.

Remove some redundant boolean temporaries.

Rename one field that looks like a flag but isn't.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reduce the size of struct efx_tx_buffer
Ben Hutchings [Mon, 1 Sep 2008 11:46:43 +0000 (12:46 +0100)]
sfc: Reduce the size of struct efx_tx_buffer

Remove unmap_addr since it can be calculated from dma_addr, len and
unmap_len.  This saves 4-16 bytes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use pci_map_single() to map the skb header when doing TSO
Ben Hutchings [Mon, 1 Sep 2008 11:46:40 +0000 (12:46 +0100)]
sfc: Use pci_map_single() to map the skb header when doing TSO

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Don't leak PCI DMA maps in the TSO code when the queue fills up
Ben Hutchings [Mon, 1 Sep 2008 11:46:36 +0000 (12:46 +0100)]
sfc: Don't leak PCI DMA maps in the TSO code when the queue fills up

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Speed up loopback self-test
Ben Hutchings [Mon, 1 Sep 2008 11:46:33 +0000 (12:46 +0100)]
sfc: Speed up loopback self-test

Add efx_poll_loopback() function to test for successful completion of test.
Change efx_test_loopback() to end the test after 1 ms if
efx_poll_loopback() indicates success, and otherwise to wait for 100 ms
as before.

While we're here, rename efx_{rx,tx}_loopback() to
efx_{begin,end}_loopback() which more accurately reflect their
purpose.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Self-test reporting cleanup
Ben Hutchings [Mon, 1 Sep 2008 11:46:28 +0000 (12:46 +0100)]
sfc: Self-test reporting cleanup

Removed log messages that are redundant with calling functions.
Fixed bitwise or-ing of return codes.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Reduce log level for XGXS lane status
Ben Hutchings [Mon, 1 Sep 2008 11:46:25 +0000 (12:46 +0100)]
sfc: Reduce log level for XGXS lane status

This was making noise during 10Xpress self-test.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>