openwrt/staging/blogic.git
17 years agofix vlan in 8139cp on big-endian
Al Viro [Thu, 23 Aug 2007 01:18:56 +0000 (21:18 -0400)]
fix vlan in 8139cp on big-endian

Layout of opts2 is
: MSB(vlan_tag) : LSB(vlan_tag) : flags : 0 :
regardless of the host endianness.  On little-endian
the current code ends up with the right values, but
on big-endian it blows.  In r8169.c the same bug
had been fixed in commit d35da12a40426184b1d0844104b1d464753eba19
(r8169: endianness fixes).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoendianness annotations drivers/net/bonding/
Al Viro [Thu, 23 Aug 2007 00:06:58 +0000 (20:06 -0400)]
endianness annotations drivers/net/bonding/

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agos390 networking MAINTAINERS
Ursula Braun [Wed, 19 Sep 2007 11:09:02 +0000 (13:09 +0200)]
s390 networking MAINTAINERS

maintainer change for s390 networking

Signed-off-by: Ursula Braun <braunu@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoFS_ENET: Add polling support
Vitaly Bordug [Tue, 18 Sep 2007 16:05:35 +0000 (20:05 +0400)]
FS_ENET: Add polling support

Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoFS_ENET: TX stuff should use fep->tx_lock, instead of fep->lock.
Vitaly Bordug [Tue, 18 Sep 2007 16:05:27 +0000 (20:05 +0400)]
FS_ENET: TX stuff should use fep->tx_lock, instead of fep->lock.

Signed-off-by: Vitaly Bordug <vitb@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoNET_SB1250_MAC: Rename to SB1250_MAC
Maciej W. Rozycki [Fri, 14 Sep 2007 11:05:00 +0000 (12:05 +0100)]
NET_SB1250_MAC: Rename to SB1250_MAC

 Rename NET_SB1250_MAC to SB1250_MAC to follow the convention.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoNET_SB1250_MAC: Update Kconfig entry
Maciej W. Rozycki [Fri, 14 Sep 2007 10:57:33 +0000 (11:57 +0100)]
NET_SB1250_MAC: Update Kconfig entry

 The SB1250 network interfaces are Gigabit Ethernet ones.  Move the
Kconfig entry to the appropriate section and add some help text.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agonetxen: ethtool fixes
Dhananjay Phadke [Mon, 3 Sep 2007 05:03:35 +0000 (10:33 +0530)]
netxen: ethtool fixes

Resubmitting the patch.

This patch improves ethtool support for printing correct ring statistics,
segmentation offload status, etc.

Signed-off by: Dhananjay Phadke <dhananjay@netxen.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoDevice tree aware EMAC driver
David Gibson [Thu, 23 Aug 2007 03:56:01 +0000 (13:56 +1000)]
Device tree aware EMAC driver

Based on BenH's earlier work, this is a new version of the EMAC driver
for the built-in ethernet found on PowerPC 4xx embedded CPUs.  The
same ASIC is also found in the Axon bridge chip.  This new version is
designed to work in the arch/powerpc tree, using the device tree to
probe the device, rather than the old and ugly arch/ppc OCP layer.

This driver is designed to sit alongside the old driver (that lies in
drivers/net/ibm_emac and this one in drivers/net/ibm_newemac).  The
old driver is left in place to support arch/ppc until arch/ppc itself
reaches its final demise (not too long now, with luck).

This driver still has a number of things that could do with cleaning
up, but I think they can be fixed up after merging.  Specifically:
- Should be adjusted to properly use the dma mapping API.
Axon needs this.
- Probe logic needs reworking, in conjuction with the general
probing code for of_platform devices.  The dependencies here between
EMAC, MAL, ZMII etc. make this complicated.  At present, it usually
works, because we initialize and register the sub-drivers before the
EMAC driver itself, and (being in driver code) runs after the devices
themselves have been instantiated from the device tree.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago8139cp: trivial endianness annotations
Al Viro [Thu, 23 Aug 2007 01:31:17 +0000 (02:31 +0100)]
8139cp: trivial endianness annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoBlackfin EMAC driver: add a select for the PHYLIB of this driver
Bryan Wu [Wed, 19 Sep 2007 15:37:41 +0000 (23:37 +0800)]
Blackfin EMAC driver: add a select for the PHYLIB of this driver

Since we are adding requirement for the PHYLIB for this driver, there should be a select for that

Cc: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoBlackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver
Bryan Wu [Wed, 19 Sep 2007 15:37:36 +0000 (23:37 +0800)]
Blackfin EMAC driver: Add phy abstraction layer supporting in bfin_emac driver

 - add MDIO functions and register mdio bus
 - add phy abstraction layer (PAL) functions and use PAL API
 - test on STAMP537 board

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoBlackfin EMAC driver: add power management interface and change the bf537mac_reset...
Bryan Wu [Wed, 19 Sep 2007 15:37:14 +0000 (23:37 +0800)]
Blackfin EMAC driver: add power management interface and change the bf537mac_reset to bf537mac_disable

Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoBlackfin EMAC driver: add function to change the MAC address
Alex Landau [Wed, 19 Sep 2007 15:14:18 +0000 (23:14 +0800)]
Blackfin EMAC driver: add function to change the MAC address

Alex Landau writes in the forums:
 Previously, changing the MAC address (e.g. via ifconfig) resulted
 in a generic function to be called that only changed a variable in
 memory. This patch also updated the Blackfin MAC address registers
 to filter the correct new MAC.

Signed-off-by: Alex Landau <lirsb@yahoo.com>
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoS2io: Updating transceiver information in ethtool function
Sivakumar Subramani [Fri, 14 Sep 2007 11:43:16 +0000 (07:43 -0400)]
S2io: Updating transceiver information in ethtool function

- Update transceiver information in ethtool function

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoS2io: Added support set_mac_address driver entry point
Sivakumar Subramani [Fri, 14 Sep 2007 11:39:19 +0000 (07:39 -0400)]
S2io: Added support set_mac_address driver entry point

- Added set_mac_address driver entry point
- Copying permanent mac address to dev->perm_addr
- Incorporated following review comments from Jeff
     - Converted the macro to a function and removed call to memset
     - regarding function naming convention, for all callbacks and entry points
       will have 's2io_' prefix and helper functions will have 'do_s2io_' prefix.

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoS2io: Removed unused feature - bimodal interrupts
Sivakumar Subramani [Tue, 18 Sep 2007 22:14:20 +0000 (18:14 -0400)]
S2io: Removed unused feature - bimodal interrupts

Removed bimodal interrupt support - unused feature

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
[also, trim trailing whitespace]

17 years agoS2io: Change kmalloc+memset to k[zc]alloc
Sivakumar Subramani [Fri, 14 Sep 2007 11:28:50 +0000 (07:28 -0400)]
S2io: Change kmalloc+memset to k[zc]alloc

- Changed kmalloc+memset to k[zc]alloc as per Mariusz's patch
  <m.kozlowski@tuxland.pl>

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count
Jeff Garzik [Thu, 4 Oct 2007 01:07:32 +0000 (18:07 -0700)]
[netdrvr] Stop using legacy hooks ->self_test_count, ->get_stats_count

These have been superceded by the new ->get_sset_count() hook.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[B44]: port to native ssb support
Michael Buesch [Wed, 19 Sep 2007 21:20:30 +0000 (14:20 -0700)]
[B44]: port to native ssb support

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[P54]: add mac80211-based driver for prism54 softmac hardware
Michael Wu [Wed, 26 Sep 2007 01:11:01 +0000 (18:11 -0700)]
[P54]: add mac80211-based driver for prism54 softmac hardware

Signed-off-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()
Joe Perches [Thu, 4 Oct 2007 00:59:30 +0000 (17:59 -0700)]
[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()

This is nicer than the MAC_FMT stuff.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[RT2x00]: add driver for Ralink wireless hardware
Ivo van Doorn [Wed, 26 Sep 2007 00:57:13 +0000 (17:57 -0700)]
[RT2x00]: add driver for Ralink wireless hardware

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IWLWIFI]: add iwlwifi wireless drivers
Zhu Yi [Wed, 26 Sep 2007 00:54:57 +0000 (17:54 -0700)]
[IWLWIFI]: add iwlwifi wireless drivers

This patch adds the mac80211 based wireless drivers for the Intel
PRO/Wireless 3945ABG/BG Network Connection and Intel Wireless WiFi
Link AGN (4965) adapters.

[ Move driver into it's own directory -DaveM ]

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices
Larry Finger [Tue, 25 Sep 2007 23:46:54 +0000 (16:46 -0700)]
[B43LEGACY]: add mac80211-based driver for legacy BCM43xx devices

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[B43]: add mac80211-based driver for modern BCM43xx devices
Michael Buesch [Tue, 18 Sep 2007 19:39:42 +0000 (15:39 -0400)]
[B43]: add mac80211-based driver for modern BCM43xx devices

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SSB]: add Sonics Silicon Backplane bus support
Michael Buesch [Tue, 18 Sep 2007 19:12:50 +0000 (15:12 -0400)]
[SSB]: add Sonics Silicon Backplane bus support

SSB is an SoC bus used in a number of embedded devices.  The most
well-known of these devices is probably the Linksys WRT54G, but there
are others as well.  The bus is also used internally on the BCM43xx
and BCM44xx devices from Broadcom.

This patch also includes support for SSB ID tables in modules, so
that SSB drivers can be loaded automatically.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO.
Rick Jones [Tue, 18 Sep 2007 20:26:31 +0000 (13:26 -0700)]
[TCP]: Return useful listenq info in tcp_info and INET_DIAG_INFO.

Return some useful information such as the maximum listen backlog and
the current listen backlog in the tcp_info structure and
INET_DIAG_INFO.

Signed-off-by: Rick Jones <rick.jones2@hp.com>
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: Cleanup list walking in setup_net and cleanup_net
Pavel Emelyanov [Tue, 18 Sep 2007 20:20:41 +0000 (13:20 -0700)]
[NETNS]: Cleanup list walking in setup_net and cleanup_net

I proposed introducing a list_for_each_entry_continue_reverse macro
to be used in setup_net() when unrolling the failed ->init callback.

Here is the macro and some more cleanup in the setup_net() itself
to remove one variable from the stack :) The same thing is for the
cleanup_net() - the existing list_for_each_entry_reverse() is used.

Minor, but the code looks nicer.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Add Tehuti network driver.
Andy Gospodarek [Tue, 18 Sep 2007 01:50:36 +0000 (18:50 -0700)]
[NET]: Add Tehuti network driver.

[ Ported to napi_struct changes... -DaveM ]

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPG]: add IP1000A driver to kernel tree
Francois Romieu [Tue, 18 Sep 2007 00:13:55 +0000 (17:13 -0700)]
[IPG]: add IP1000A driver to kernel tree

Signed-off-by: Jesse Huang <jesse@icplus.com.tw>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Tie ADD-IP and AUTH functionality as required by spec.
Vlad Yasevich [Mon, 17 Sep 2007 02:35:39 +0000 (19:35 -0700)]
[SCTP]: Tie ADD-IP and AUTH functionality as required by spec.

ADD-IP spec requires AUTH. It is, in fact, dangerous without AUTH.
So, disable ADD-IP functionality if the peer claims to support
ADD-IP, but not AUTH.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: API updates to suport SCTP-AUTH extensions.
Vlad Yasevich [Mon, 17 Sep 2007 02:34:00 +0000 (19:34 -0700)]
[SCTP]: API updates to suport SCTP-AUTH extensions.

Add SCTP-AUTH API.  The API implemented here was
agreed to between implementors at the 9th SCTP Interop.
It will be documented in the next revision of the
SCTP socket API spec.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Implement the receive and verification of AUTH chunk
Vlad Yasevich [Thu, 4 Oct 2007 00:51:34 +0000 (17:51 -0700)]
[SCTP]: Implement the receive and verification of AUTH chunk

This patch implements the receive path needed to process authenticated
chunks.  Add ability to process the AUTH chunk and handle edge cases
for authenticated COOKIE-ECHO as well.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Enable the sending of the AUTH chunk.
Vlad Yasevich [Mon, 17 Sep 2007 02:32:45 +0000 (19:32 -0700)]
[SCTP]: Enable the sending of the AUTH chunk.

SCTP-AUTH, Section 6.2:

   Endpoints MUST send all requested chunks authenticated where this has
   been requested by the peer.  The other chunks MAY be sent
   authenticated or not.  If endpoint pair shared keys are used, one of
   them MUST be selected for authentication.

   To send chunks in an authenticated way, the sender MUST include these
   chunks after an AUTH chunk.  This means that a sender MUST bundle
   chunks in order to authenticate them.

   If the endpoint has no endpoint pair shared key for the peer, it MUST
   use Shared Key Identifier 0 with an empty endpoint pair shared key.
   If there are multiple endpoint shared keys the sender selects one and
   uses the corresponding Shared Key Identifier

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Implete SCTP-AUTH parameter processing
Vlad Yasevich [Mon, 17 Sep 2007 02:32:11 +0000 (19:32 -0700)]
[SCTP]: Implete SCTP-AUTH parameter processing

Implement processing for the CHUNKS, RANDOM, and HMAC parameters and
deal with how this parameters are effected by association restarts.
In particular, during unexpeted INIT processing, we need to reply with
parameters from the original INIT chunk.  Also, after restart, we need
to update the old association with new peer parameters and change the
association shared keys.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Implement SCTP-AUTH initializations.
Vlad Yasevich [Mon, 17 Sep 2007 02:31:35 +0000 (19:31 -0700)]
[SCTP]: Implement SCTP-AUTH initializations.

The patch initializes AUTH related members of the generic SCTP
structures and provides a way to enable/disable auth extension.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Implement SCTP-AUTH internals
Vlad Yasevich [Tue, 9 Oct 2007 08:15:59 +0000 (01:15 -0700)]
[SCTP]: Implement SCTP-AUTH internals

This patch implements the internals operations of the AUTH, such as
key computation and storage.  It also adds necessary variables to
the SCTP data structures.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: protocol definitions for SCTP-AUTH implementation
Vlad Yasevich [Mon, 17 Sep 2007 02:26:06 +0000 (19:26 -0700)]
[SCTP]: protocol definitions for SCTP-AUTH implementation

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4]: Add ICMPMsgStats MIB (RFC 4293)
David L Stevens [Mon, 17 Sep 2007 16:57:33 +0000 (09:57 -0700)]
[IPV4]: Add ICMPMsgStats MIB (RFC 4293)

Background: RFC 4293 deprecates existing individual, named ICMP
type counters to be replaced with the ICMPMsgStatsTable. This table
includes entries for both IPv4 and IPv6, and requires counting of all
ICMP types, whether or not the machine implements the type.

These patches "remove" (but not really) the existing counters, and
replace them with the ICMPMsgStats tables for v4 and v6.
It includes the named counters in the /proc places they were, but gets the
values for them from the new tables. It also counts packets generated
from raw socket output (e.g., OutEchoes, MLD queries, RA's from
radvd, etc).

Changes:
1) create icmpmsg_statistics mib
2) create icmpv6msg_statistics mib
3) modify existing counters to use these
4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types
        listed by number for easy SNMP parsing
5) modify /proc/net/snmp printing for "Icmp" to get the named data
        from new counters.

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]
David L Stevens [Sun, 16 Sep 2007 23:52:35 +0000 (16:52 -0700)]
[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]

Background: RFC 4293 deprecates existing individual, named ICMP
type counters to be replaced with the ICMPMsgStatsTable. This table
includes entries for both IPv4 and IPv6, and requires counting of all
ICMP types, whether or not the machine implements the type.

These patches "remove" (but not really) the existing counters, and
replace them with the ICMPMsgStats tables for v4 and v6.
It includes the named counters in the /proc places they were, but gets the
values for them from the new tables. It also counts packets generated
from raw socket output (e.g., OutEchoes, MLD queries, RA's from
radvd, etc).

Changes:
1) create icmpmsg_statistics mib
2) create icmpv6msg_statistics mib
3) modify existing counters to use these
4) modify /proc/net/snmp to add "IcmpMsg" with all ICMP types
        listed by number for easy SNMP parsing
5) modify /proc/net/snmp printing for "Icmp" to get the named data
        from new counters.
[new to 2nd revision]
6) support per-interface ICMP stats
7) use common macro for per-device stat macros

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: all net/ cleanup with ARRAY_SIZE
Denis Cheng [Sun, 16 Sep 2007 23:41:29 +0000 (16:41 -0700)]
[NET]: all net/ cleanup with ARRAY_SIZE

Signed-off-by: Denis Cheng <crquan@gmail.com>
17 years ago[IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead
Denis Cheng [Sun, 16 Sep 2007 23:39:25 +0000 (16:39 -0700)]
[IPV4] af_inet.c: use ARRAY_SIZE macro from kernel.h instead

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETLINK]: the temp variable name max is ambiguous
Denis Cheng [Sun, 16 Sep 2007 23:36:02 +0000 (16:36 -0700)]
[NETLINK]: the temp variable name max is ambiguous

with the macro max provided by <linux/kernel.h>, so changed its name
to a more proper one: limit

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETLINK]: use the macro min(x,y) provided by <linux/kernel.h> instead
Denis Cheng [Sun, 16 Sep 2007 23:34:39 +0000 (16:34 -0700)]
[NETLINK]: use the macro min(x,y) provided by <linux/kernel.h> instead

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SKBUFF]: Fix up csum_start when head room changes
Herbert Xu [Sun, 16 Sep 2007 23:32:11 +0000 (16:32 -0700)]
[SKBUFF]: Fix up csum_start when head room changes

Thanks for noticing the bug where csum_start is not updated
when the head room changes.

This patch fixes that.  It also moves the csum/ip_summed
copying into copy_skb_header so that skb_copy_expand gets
it too.  I've checked its callers and no one should be upset
by this.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETLINK]: Avoid pointer in netlink_run_queue
Herbert Xu [Sun, 16 Sep 2007 23:24:44 +0000 (16:24 -0700)]
[NETLINK]: Avoid pointer in netlink_run_queue

I was looking at Patrick's fix to inet_diag and it occured
to me that we're using a pointer argument to return values
unnecessarily in netlink_run_queue.  Changing it to return
the value will allow the compiler to generate better code
since the value won't have to be memory-backed.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Move sysctl_sctp_[rw]mem definitions to protocol.c
Vlad Yasevich [Sun, 16 Sep 2007 23:04:37 +0000 (16:04 -0700)]
[SCTP]: Move sysctl_sctp_[rw]mem definitions to protocol.c

The sctp_[rw]mem definitions should really be in protocol.c
since that is where they are initialized.  This also allows
one to build a kernel without sysctl support.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SCTP]: Implement the Supported Extensions Parameter
Vlad Yasevich [Sun, 16 Sep 2007 22:53:56 +0000 (15:53 -0700)]
[SCTP]: Implement the Supported Extensions Parameter

SCTP Supported Extenions parameter is specified in Section 4.2.7
of the ADD-IP draft (soon to be RFC).  The parameter is
encoded as:

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Parameter Type = 0x8008   |      Parameter Length         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | CHUNK TYPE 1  |  CHUNK TYPE 2 |  CHUNK TYPE 3 |  CHUNK TYPE 4 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             ....                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | CHUNK TYPE N  |      PAD      |      PAD      |      PAD      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

It contains a list of chunks that a particular SCTP extension
uses.  Current extensions supported are Partial Reliability
(FWD-TSN) and ADD-IP (ASCONF and ASCONF-ACK).

When implementing new extensions (AUTH, PKT-DROP, etc..), new
chunks need to be added to this parameter.  Parameter processing
would be modified to negotiate support for these new features.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV4/IPV6/DECNET]: Small cleanup for fib rules.
Denis V. Lunev [Sun, 16 Sep 2007 22:44:27 +0000 (15:44 -0700)]
[IPV4/IPV6/DECNET]: Small cleanup for fib rules.

This patch slightly cleanups FIB rules framework. rules_list as a pointer
on struct fib_rules_ops is useless. It is always assigned with a static
per/subsystem list in IPv4, IPv6 and DecNet.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Cleanup calling netdev notifiers.
Pavel Emelyanov [Sun, 16 Sep 2007 22:42:43 +0000 (15:42 -0700)]
[NET]: Cleanup calling netdev notifiers.

The call_netdev_notifiers routine can successfully be used in
the net/core_dev.c itself.

This will save 6 lines of code and 62 ;) bytes of .text section.

62 is rather small, but I have one more patch saving ~30 bytes
from netns code (sent to Eric), so altogether they can save
some more noticeable amount.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETNS]: Consolidate hashes creation in netdev_init()
Pavel Emelyanov [Sun, 16 Sep 2007 22:40:33 +0000 (15:40 -0700)]
[NETNS]: Consolidate hashes creation in netdev_init()

The dev_name_hash and the dev_index_hash are now booth kmalloc-ed
(and each element is properly initialized as usually) so I think
it's worth consolidating this code making it look nicer (and
saving 28 bytes of .text section ;) )

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: Fix the prototype of call_netdevice_notifiers.
Eric W. Biederman [Sun, 16 Sep 2007 22:33:32 +0000 (15:33 -0700)]
[NET]: Fix the prototype of call_netdevice_notifiers.

This replaces the void * parameter with a struct net_device * which
is what is actually required.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET]: migrate HARD_TX_LOCK to header file
Jamal Hadi Salim [Sun, 16 Sep 2007 21:40:49 +0000 (14:40 -0700)]
[NET]: migrate HARD_TX_LOCK to header file

HARD_TX_LOCK micro is a nice aggregation that could be used
in other spots. move it to netdevice.h
Also makes sure the previously superflous cpu arguement is used.
Thanks to DaveM for the suggestions.

Signed-off-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TAP]: Configurable interface MTU.
Ed Swierk [Sun, 16 Sep 2007 19:21:38 +0000 (12:21 -0700)]
[TAP]: Configurable interface MTU.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[IPV6]: Remove redundant RTM_DELLINK message.
Milan Kocian [Sun, 16 Sep 2007 04:48:27 +0000 (21:48 -0700)]
[IPV6]: Remove redundant RTM_DELLINK message.

Remove useless message. We get the right message from another
subsystem.

Signed-off-by: Milan Kocian <milon@wq.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions
Paul Moore [Sun, 16 Sep 2007 04:45:13 +0000 (21:45 -0700)]
[CIPSO]: remove duplicated code in the cipso_v4_*_getattr() functions

The bulk of the CIPSO option parsing/processing in the cipso_v4_sock_getattr()
and cipso_v4_skb_getattr() functions are identical, the only real difference
being where the functions obtain the CIPSO option itself.  This patch creates
a new function, cipso_v4_getattr(), which contains the common CIPSO option
parsing/processing code and modifies the existing functions to call this new
helper function.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls
Jeff Garzik [Sat, 15 Sep 2007 21:41:06 +0000 (14:41 -0700)]
[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls

For the operations
get-tx-csum
get-sg
get-tso
get-ufo
the default ethtool_op_xxx behavior is fine for all drivers, so we
permit op==NULL to imply the default behavior.

This provides a more uniform behavior across all drivers, eliminating
ethtool(8) "ioctl not supported" errors on older drivers that had
not been updated for the latest sub-ioctls.

The ethtool_op_xxx() functions are left exported, in case anyone
wishes to call them directly from a driver-private implementation --
a not-uncommon case.  Should an ethtool_op_xxx() helper remain unused
for a while, except by net/core/ethtool.c, we can un-export it at a
later date.

[ Resolved conflicts with set/get value ethtool patch... -DaveM ]

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code
Jeff Garzik [Thu, 4 Oct 2007 00:41:50 +0000 (17:41 -0700)]
[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code

We now have struct net_device_stats embedded in struct net_device,
and the default ->get_stats() hook does the obvious thing for us.

Run through drivers/net/* and remove the driver-local storage of
statistics, and driver-local ->get_stats() hook where applicable.

This was just the low-hanging fruit in drivers/net; plenty more drivers
remain to be updated.

[ Resolved conflicts with napi_struct changes and fix sunqe build
  regression... -DaveM ]

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodrivers/net/: all drivers/net/ cleanup with ARRAY_SIZE
Denis Cheng [Sun, 2 Sep 2007 10:30:18 +0000 (18:30 +0800)]
drivers/net/: all drivers/net/ cleanup with ARRAY_SIZE

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[NET]: Nuke SET_MODULE_OWNER macro.
Ralf Baechle [Mon, 17 Sep 2007 20:11:17 +0000 (13:11 -0700)]
[NET]: Nuke SET_MODULE_OWNER macro.

It's been a useless no-op for long enough in 2.6 so I figured it's time to
remove it.  The number of people that could object because they're
maintaining unified 2.4 and 2.6 drivers is probably rather small.

[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoS2io: code Optimization of isr function
Sivakumar Subramani [Sat, 15 Sep 2007 21:24:03 +0000 (14:24 -0700)]
S2io: code Optimization of isr function

- Code Optimization of s2io_isr function.
- Isr check using per device napi variable instead of driver global.
- Reduced from 3 to 1 if condition before check for processing packet receive
  packets.
- Implemented Jeff's comment to use synchronize_irq. Removed the isr_cnt
  variable as it became redundant.
- One time de assert the interrupts by writing all F's to the general_int_mask
  register instead of de asserting by clearing the source of interrupts with
  multiple writes which causes loss of interrupts (race conditions). It is
  entirely possible that before the driver has a chance to mask the asserted
  alarm bit, another alarm/traffic interrupt bit gets asserted as well. In
  this case Herc will keep the INTA line asserted and the bridge will not
  send a new Assert_INTA message upstream.

[ Resolved conflicts due to napi_struct changes... -DaveM ]

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoS2io: Check for device state before handling traffic
Sivakumar Subramani [Thu, 6 Sep 2007 10:51:14 +0000 (06:51 -0400)]
S2io: Check for device state before handling traffic

- Added check to return from the traffic handling function, if the card status
  is DOWN.
- Implemented Jeff's comments on incorrect return value in s2io_poll function.

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoS2io: Cleanup - removed unused variable intr_type
Sivakumar Subramani [Sat, 15 Sep 2007 21:14:22 +0000 (14:14 -0700)]
S2io: Cleanup - removed unused variable intr_type

- Removed the unused variable, intr_type, in device private structure.

[ Resolve conflicts with napi_struct changes... -DaveM ]

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[S2IO]: Handle and monitor all of the device errors and alarms
Sivakumar Subramani [Mon, 17 Sep 2007 20:05:35 +0000 (13:05 -0700)]
[S2IO]: Handle and monitor all of the device errors and alarms

- Added support to poll entire set of device errors and alarams.
- A note on how device errors and alarms are handled:
- The adapter will automatically recover from uncorrectable ECC errors.
  Packets containing corrupted data will be dropped (not transmitted) or tagged
  as invalid before being passed to the host.
- The adapter cannot recover from any internal state machine errors. A state
  machine error requires a device reset.
- Any internal error that could potentially result in .store trampling.
  (undesirable PCI behaviour)is tagged as a "serious error". In such cases
  the adapter will give up its ability to be a bus master. In this situation
  the host will still be able to read internal device registers in order to
  generate an error report. A device reset is necessary to return to normal
  operation.
- In the event of a pcix data parity error, the adapter will automatically
  disable itself. Adapter_En will automatically transition from '1' to '0' and
  the adapter will enter its clean-up routine. Once the device has achieved
  quiescence, an adapter reset should be performed.
- Replaced alarm_intr_handler() with s2io_handle_errors().
- Added statistic counters to monitor the alarms.

[ Fix warnings wrt. do_s2io_chk_alarm_bit(), Callers pass in an
  "unsigned long long *" but the function takes a "u64 *" which is
  different on many 64-bit platforms. -DaveM ]

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoS2io: Enable all the error and alarm indications
Sivakumar Subramani [Thu, 6 Sep 2007 10:21:54 +0000 (06:21 -0400)]
S2io: Enable all the error and alarm indications

- Added support to unmask entire set of device errors and alarams.
        Alarm interrupts are generated for a myriad of purposes, ranging from
  illegal operations or requests to internal state machine errors and
  uncorrectable data corruption errors. In several cases the adapter can
  recover gracefully from unexpected events; however, in some cases, a device
  reset may be necessary. This patch handles alarms generated by all the
  blocks within the device.

  The adapter generates the following types of alarms:
        1. Link state transitions (local/remote fault) or other link-related
           problems.
        2. Problems with any device peripherals, including the EEPROM, FLASH,
           etc.
        3. Correctable ECC errors (single-bit errors) on internal data
           structures or frame data.
        4. Uncorrectable ECC errors (multi-bit errors) on internal data
           structures or frame data.
        5. State machine errors, which indicate that internal control
           structures have become corrupted.
        6. PCI related errors, including parity errors or illegal transactions.
        7. Other unexpected events.

- Implemented Jeff's review comments to use do_s2io_write_bits function to avoid
  duplicate codes.

Signed-off-by: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoremove setup of platform device from jazzsonic.c
Thomas Bogendoerfer [Sat, 8 Sep 2007 19:46:49 +0000 (21:46 +0200)]
remove setup of platform device from jazzsonic.c

remove setup platform device from jazzsonic, which is done in arch code now

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosgiseeq: replace use of dma_cache_wback_inv
Ralf Baechle [Tue, 4 Sep 2007 13:41:01 +0000 (14:41 +0100)]
sgiseeq: replace use of dma_cache_wback_inv

The sgiseeq driver is one of the few remaining users of the ancient
cache banging DMA API.  Replaced with the modern days DMA API.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Update engine microcode version
Divy Le Ray [Wed, 5 Sep 2007 22:58:41 +0000 (15:58 -0700)]
cxgb3 - Update engine microcode version

The new microcode engine version is set to 1.1.0

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Add T3C rev
Divy Le Ray [Wed, 5 Sep 2007 22:58:36 +0000 (15:58 -0700)]
cxgb3 - Add T3C rev

add driver recognition for T3C rev board.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - CQ context operations time out too soon.
Divy Le Ray [Wed, 5 Sep 2007 22:58:30 +0000 (15:58 -0700)]
cxgb3 - CQ context operations time out too soon.

Currently, the driver only tries up to 5 times (5us) to get the results
of a CQ context operation.  Testing has shown the chip can take as much
as 50us to return the response on SG_CONTEXT_CMD operations.  So we up
the retry count to 100 to cover high loads.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Set the CQ_ERR bit in CQ contexts.
Divy Le Ray [Wed, 5 Sep 2007 22:58:25 +0000 (15:58 -0700)]
cxgb3 - Set the CQ_ERR bit in CQ contexts.

The cxgb3 driver is incorrectly configuring the HW CQ context for CQ's
that use overflow-avoidance.  Namely the RDMA control CQ.  This results
in a bad DMA from the device to bus address 0.  The solution is to set
the CQ_ERR bit in the context for these types of CQs.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - remove false positive in xgmac workaround
Divy Le Ray [Wed, 5 Sep 2007 22:58:20 +0000 (15:58 -0700)]
cxgb3 - remove false positive in xgmac workaround

Qualify toggling of xgmac tx enable with not getting pause frames,
we might not make forward progress because the peer is sending
lots of pause frames.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - log and clear PEX errors
Divy Le Ray [Wed, 5 Sep 2007 22:58:15 +0000 (15:58 -0700)]
cxgb3 - log and clear PEX errors

Clear pciE PEX errors late at module load time.
Log details when PEX errors occur.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Firmware update
Divy Le Ray [Wed, 5 Sep 2007 22:58:09 +0000 (15:58 -0700)]
cxgb3 - Firmware update

Update firmware version.
Allow the driver to be up and running with older FW image

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoe100: timer power saving
Stephen Hemminger [Thu, 6 Sep 2007 18:51:37 +0000 (11:51 -0700)]
e100: timer power saving

Since E100 timer is 2HZ, use rounding to make timer occur on the
correct boundary.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoixgbe: driver for Intel(R) 82598 PCI-Express 10GbE adapters (v4)
Auke Kok [Sat, 15 Sep 2007 21:07:45 +0000 (14:07 -0700)]
ixgbe: driver for Intel(R) 82598 PCI-Express 10GbE adapters (v4)

This patch adds support for the Intel 82598 PCI-Express 10GbE
chipset. Devices will be available on the market soon.

This version of the driver is largely the same as the last release:

  * Driver uses a single RX and single TX queue, each using 1 MSI-X
  irq vector.
  * Driver runs in NAPI mode only
  * Driver is largely multiqueue-ready (TM)

Changes since 20070803:
  * removed wrappers for hardware functions
  * incorporated e1000e-style HW api reorganization code
  * sparse/checkpatch cleanups, namespace cleanups
  * driver prints out extra debugging information at load time
    identifying adapter board number, mac, phy types
  * removed ixgbe_api.c, ixgbe_api.h, ixgbe_osdep.h
  * driver update to 1.1.18
  * removed ixgbe.txt which contained no useful info anymore

[ Integrated napi_struct changes from Auke as well... -DaveM ]

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Ayyappan Veeraiyan <ayyappan.veeraiyan@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoPS3: Remove the workaround no longer needed
Masakazu Mokuno [Fri, 31 Aug 2007 13:25:09 +0000 (22:25 +0900)]
PS3: Remove the workaround no longer needed

Removed the workaround that was needed for PS3 firmware versions
prior to the first release.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoPS3: changed the way to handle tx skbs
Masakazu Mokuno [Fri, 31 Aug 2007 13:22:32 +0000 (22:22 +0900)]
PS3: changed the way to handle tx skbs

The PS3 virtual network device requires a vlan tag in the sending packet
to select the destination device, ethernet port or wireless.
As the vlan tag field is in the middle of the passed data,
we should insert it into the packet data.
To avoid copying much of the packet data, the driver used two tx descriptors
for one tx skb; one descriptor was for sending a small static
buffer which contained vlan tag and copied header (two mac addresses),
one was for the residual data after the vlan field.

This patch changes the way to insert the vlan tag.  By changing
netdev->hard_header_len, we can make the headroom for moving mac address
fields in the skb buffer. Then we can send one tx skb with
one tx descriptor.  This also gives us a tx throughut gain of approx.
20% according to netperf results.

Signed-off-by: Masakazu Mokuno <mokuno@sm.sony.co.jp>
CC: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Clean TX ring in poll
Olof Johansson [Sat, 15 Sep 2007 20:53:19 +0000 (13:53 -0700)]
pasemi_mac: Clean TX ring in poll

Unfortunately there's no timeout for how long a packet can sit on
the TX ring after completion before an interrupt is generated, and
we want to have a threshold that's larger than one packet per interrupt.

So we have to have a timer that occasionally cleans the TX ring even
though there hasn't been an interrupt. Instead of setting up a dedicated
timer for this, just clean it in the NAPI poll routine instead.

[ Resolved conflicts with napi_struct changes... -DaveM ]

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopasemi_mac: Enable LLTX
Olof Johansson [Sat, 15 Sep 2007 20:51:11 +0000 (13:51 -0700)]
pasemi_mac: Enable LLTX

Enable LLTX on pasemi_mac: we're already doing sufficient locking
in the driver to enable it.

[ Resolved merge conflicts with napi_struct changes... -DaveM ]

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopasemi_mac: Fix RX checksum flags
Olof Johansson [Wed, 22 Aug 2007 14:13:24 +0000 (09:13 -0500)]
pasemi_mac: Fix RX checksum flags

RX side flag to use is CHECKSUM_UNNECESSARY, not CHECKSUM_COMPLETE.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Fix TX ring wrap checking
Olof Johansson [Wed, 22 Aug 2007 14:13:11 +0000 (09:13 -0500)]
pasemi_mac: Fix TX ring wrap checking

The old logic didn't detect full (tx) ring cases properly, causing
overruns and general badness. Clean it up a bit and abstract out the
ring size checks, always making sure to leave 1 slot open.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Batch up TX buffer frees
Olof Johansson [Wed, 22 Aug 2007 14:13:03 +0000 (09:13 -0500)]
pasemi_mac: Batch up TX buffer frees

Postpone pci unmap and skb free of the transmitted buffers to outside of
the tx ring lock, batching them up 32 at a time.

Also increase the count threshold to 128.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: RX performance tweaks
Olof Johansson [Wed, 22 Aug 2007 14:12:59 +0000 (09:12 -0500)]
pasemi_mac: RX performance tweaks

Various RX performance tweaks, do some explicit prefetching of packet
data, etc.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Fix memcpy amount for short receives
Olof Johansson [Wed, 22 Aug 2007 14:12:55 +0000 (09:12 -0500)]
pasemi_mac: Fix memcpy amount for short receives

Fix up memcpy for short receives.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Enable L2 caching of packet headers
Olof Johansson [Wed, 22 Aug 2007 14:12:52 +0000 (09:12 -0500)]
pasemi_mac: Enable L2 caching of packet headers

Enable settings to target l2 for the first few cachelines of the packet, since
we'll access them to get to the various headers.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopasemi_mac: Stop using the pci config space accessors for register read/writes
Olof Johansson [Sat, 15 Sep 2007 20:44:07 +0000 (13:44 -0700)]
pasemi_mac: Stop using the pci config space accessors for register read/writes

Move away from using the pci config access functions for simple register
access.  Our device has all of the registers in the config space (hey,
from the hardware point of view it looks reasonable :-), so we need to
somehow get to it. Newer firmwares have it in the device tree such that
we can just get it and ioremap it there (in case it ever moves in future
products). For now, provide a hardcoded fallback for older firmwares.

[ Resolved napi_struct conflicts... -DaveM ]

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agopasemi_mac: Abstract out register access
Olof Johansson [Sat, 15 Sep 2007 20:40:59 +0000 (13:40 -0700)]
pasemi_mac: Abstract out register access

Abstract out the PCI config read/write accesses into reg read/write ones,
still calling the pci accessors on the back end.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agobmac: add simple ethtool support for network manager
Olaf Hering [Sat, 25 Aug 2007 18:32:59 +0000 (20:32 +0200)]
bmac: add simple ethtool support for network manager

NetworkManager will not start dhcpd on an interface unless it reports
link-up state via ethtool.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: use pci_config access functions
Stephen Hemminger [Wed, 26 Sep 2007 02:01:02 +0000 (19:01 -0700)]
sky2: use pci_config access functions

Use the PCI layer config access functions. The driver was using the
memory mapped window in device, to workaround issues accessing the
advanced error reporting registers.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosky2: advanced error reporting
Stephen Hemminger [Wed, 29 Aug 2007 19:58:14 +0000 (12:58 -0700)]
sky2: advanced error reporting

Use the kernel interfaces for advanced error reporting.
This should be cleaner and clear up errors on boot.

For those systems with busted BIOS's that don't correctly
support mmconfig, advanced error reporting will be disabled.
The PCI registers for advanced error reporting start at 0x100 which
is too large to be accessed by legacy functions.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: dont restrict config space access
Stephen Hemminger [Wed, 29 Aug 2007 19:58:13 +0000 (12:58 -0700)]
sky2: dont restrict config space access

Take out the code that protects driver from accessing the
PCI config space.
We are old enough to run with scissors now.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: document GPHY_CTRL bits
Stephen Hemminger [Wed, 29 Aug 2007 19:58:12 +0000 (12:58 -0700)]
sky2: document GPHY_CTRL bits

Add documentation of GPHY_CTRL register bits even if driver
is not using them (yet).

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosky2: use debugfs rename
Stephen Hemminger [Wed, 29 Aug 2007 19:58:11 +0000 (12:58 -0700)]
sky2: use debugfs rename

Use debugfs rename to handle device neame changes.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Update internal memory management
Divy Le Ray [Wed, 22 Aug 2007 03:49:41 +0000 (20:49 -0700)]
cxgb3 - Update internal memory management

Set PM1 internal memory to round robin mode
It balances access to this internal memory for multiport adapters.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - log adapter serial number
Divy Le Ray [Wed, 22 Aug 2007 03:49:36 +0000 (20:49 -0700)]
cxgb3 - log adapter serial number

Log HW serial number when cxgb3 module is loaded.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Fatal error update
Divy Le Ray [Wed, 22 Aug 2007 03:49:31 +0000 (20:49 -0700)]
cxgb3 - Fatal error update

Stop the MAC when a fatal error is detected.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - tighten checks on TID values
Divy Le Ray [Wed, 22 Aug 2007 03:49:26 +0000 (20:49 -0700)]
cxgb3 - tighten checks on TID values

Enforce validity checks on connection ids

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agocxgb3 - Expose HW memory page info
Divy Le Ray [Wed, 22 Aug 2007 03:49:21 +0000 (20:49 -0700)]
cxgb3 - Expose HW memory page info

A HW issue requires limiting the receive window size
to 23 pages of internal memory.
These pages can be configured to different sizes,
thus the RDMA driver needs to know the
page size to enforce the upper limit.

Also assign explicit enum values.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>