platform/kernel/linux-rpi.git
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>
17 years agocxgb3 - use immediate data for offload Tx
Divy Le Ray [Wed, 22 Aug 2007 03:49:15 +0000 (20:49 -0700)]
cxgb3 - use immediate data for offload Tx

Send small TX_DATA work requests as immediate data even when
there are fragments. this avoids doing multiple DMAs for
small fragmented packets.
The driver already implements this optimization for small
contiguous packets.

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

Log doorbell Fifo overflow

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

Reduce Rx coalescing length to 12288
Large bursts from the adapter to the host create back pressure
on the chip. Reducing the burst size avoids the issue.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago3c59x: check return of pci_enable_device()
Mark Hindley [Thu, 16 Aug 2007 10:28:40 +0000 (11:28 +0100)]
3c59x: check return of pci_enable_device()

Check return of pci_enable_device in vortex_up().

Also modify vortex_up to return error to callers. Handle failure of
vortex_up in vortex_open and vortex_resume.

Signed-off-by: Mark Hindley <mark@hindley.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Remove use of bitfields
Brian King [Fri, 17 Aug 2007 14:16:56 +0000 (09:16 -0500)]
ibmveth: Remove use of bitfields

Removes the use of bitfields from the ibmveth driver. This results
in slightly smaller object code.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Remove dead frag processing code
Brian King [Fri, 17 Aug 2007 14:16:49 +0000 (09:16 -0500)]
ibmveth: Remove dead frag processing code

Removes dead frag processing code from ibmveth. Since NETIF_F_SG was
not set, this code was never executed. Also, since the ibmveth
interface can only handle 6 fragments, core networking code would need
to be modified in order to efficiently enable this support.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Add ethtool driver stats hooks
Brian King [Fri, 17 Aug 2007 14:16:43 +0000 (09:16 -0500)]
ibmveth: Add ethtool driver stats hooks

Add ethtool hooks to ibmveth to retrieve driver statistics.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Add ethtool TSO handlers
Brian King [Fri, 17 Aug 2007 14:16:37 +0000 (09:16 -0500)]
ibmveth: Add ethtool TSO handlers

Add handlers for get_tso and get_ufo to prevent errors being printed
by ethtool.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Implement ethtool hooks to enable/disable checksum offload
Brian King [Fri, 17 Aug 2007 14:16:31 +0000 (09:16 -0500)]
ibmveth: Implement ethtool hooks to enable/disable checksum offload

This patch adds the appropriate ethtool hooks to allow for enabling/disabling
of hypervisor assisted checksum offload for TCP.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agoibmveth: Enable TCP checksum offload
Brian King [Sat, 15 Sep 2007 20:36:07 +0000 (13:36 -0700)]
ibmveth: Enable TCP checksum offload

This patchset enables TCP checksum offload support for IPV4
on ibmveth. This completely eliminates the generation and checking of
the checksum for packets that are completely virtual and never
touch a physical network. A simple TCP_STREAM netperf run on
a virtual network with maximum mtu set yielded a ~30% increase
in throughput. This feature is enabled by default on systems that
support it, but can be disabled with a module option.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodl2k: add Sundance/Tamarack TC902x Gigabit Ethernet Adapter support
Komuro [Mon, 13 Aug 2007 00:45:41 +0000 (09:45 +0900)]
dl2k: add Sundance/Tamarack TC902x Gigabit Ethernet Adapter support

Actually, D-Link modified the VendorID/ProductID of the TC902x.
The TC902x is the original chipset.

Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agouli526x: Add suspend and resume routines (updated)
Rafael J. Wysocki [Tue, 14 Aug 2007 18:09:02 +0000 (20:09 +0200)]
uli526x: Add suspend and resume routines (updated)

Add suspend/resume support to the uli526x network driver (tested on x86_64,
with 'Ethernet controller: ALi Corporation M5263 Ethernet Controller, rev 40').

This patch is based on the suspend/resume code in the tg3 driver.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agopcnet32: add suspend and resume capability
Don Fry [Mon, 27 Aug 2007 04:22:32 +0000 (21:22 -0700)]
pcnet32: add suspend and resume capability

Add suspend and resume capability to the driver.
Tested both to ram and to disk on x86_64 platform.

Signed-off-by: Don Fry <pcnet32@verizon.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years agosupport for USB autosuspend in the asix driver
Oliver Neukum [Fri, 3 Aug 2007 11:52:19 +0000 (13:52 +0200)]
support for USB autosuspend in the asix driver

this implements support for USB autosuspend in the asix USB ethernet
driver.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
17 years ago[E1000E]: New pci-express e1000 driver (currently for ICH9 devices only)
Auke Kok [Mon, 17 Sep 2007 19:30:59 +0000 (12:30 -0700)]
[E1000E]: New pci-express e1000 driver (currently for ICH9 devices only)

This driver implements support for the ICH9 on-board LAN ethernet
device. The device is similar to ICH8.

The driver encompasses code to support 82571/2/3, es2lan and ICH8
devices as well, but those device IDs are disabled and will be
"lifted" from the e1000 driver over one at a time once this driver
receives some more live time.

Changes to the last snapshot posted are exclusively in the internal
hardware API organization. Many thanks to Jeff Garzik for jumping in
and getting this organized with a keen eye on the future layout.

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

Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[PATCH] libertas: remove unused adhoc_rates_b definition
John W. Linville [Tue, 28 Aug 2007 21:35:02 +0000 (17:35 -0400)]
[PATCH] libertas: remove unused adhoc_rates_b definition

Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: printk warning fixes
Andrew Morton [Tue, 21 Aug 2007 09:15:45 +0000 (02:15 -0700)]
[PATCH] libertas: printk warning fixes

drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_helper':
drivers/net/wireless/libertas/if_cs.c:462: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'
drivers/net/wireless/libertas/if_cs.c: In function 'if_cs_prog_real':
drivers/net/wireless/libertas/if_cs.c:538: warning: format '%d' expects type 'int', but argument 3 has type 'size_t'

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] net: Kill some unneeded allocation return value casts in libertas
Jesper Juhl [Fri, 24 Aug 2007 15:48:16 +0000 (11:48 -0400)]
[PATCH] net: Kill some unneeded allocation return value casts in libertas

kmalloc() and friends return void*, no need to cast it.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: advertise 11g ad-hoc rates
Brajesh Dave [Mon, 20 Aug 2007 17:09:13 +0000 (13:09 -0400)]
[PATCH] libertas: advertise 11g ad-hoc rates

Advertise support for 802.11g bitrates when starting adhoc
networks, not just 802.11b bitrates.

Signed-off-by: Brajesh Dave <brajeshd@marvell.com>
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: region code values specified as 8bit
Marek Vašut [Mon, 20 Aug 2007 16:55:41 +0000 (12:55 -0400)]
[PATCH] libertas: region code values specified as 8bit

This patch strips away possible mess in regioncode (eg. on my card - 88W8305
chipset - I get 0x3031 instead of expected 0x0031 and as a result the driver
defaults to USA region which is obviously incorrect). Following patch fixes
the issue.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: properly end commands on hardware failure
Pierre Ossman [Mon, 20 Aug 2007 16:24:42 +0000 (12:24 -0400)]
[PATCH] libertas: properly end commands on hardware failure

Make sure that errors reported by the hardware layer is properly
handled. Otherwise commands tend to get stuck in limbo.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: send reset command directly instead of calling libertas_reset_device
Dan Williams [Mon, 20 Aug 2007 16:22:15 +0000 (12:22 -0400)]
[PATCH] libertas: send reset command directly instead of calling libertas_reset_device

Ensures that any platform specific code that might live in libertas_reset_device
(for example, OLPC tells the EC to do a GPIO-toggled reset of the wireless
from libertas_reset_device) isn't called.  Could be handled better by
interface-specific callbacks and a flag for "other hardware reset".

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: Marcelo Tosatti <marcelo@kvack.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: don't stomp on interface-specific private data
Dan Williams [Mon, 20 Aug 2007 15:45:16 +0000 (11:45 -0400)]
[PATCH] libertas: don't stomp on interface-specific private data

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: reorganize and simplify init sequence
Dan Williams [Mon, 20 Aug 2007 15:43:25 +0000 (11:43 -0400)]
[PATCH] libertas: reorganize and simplify init sequence

This patch moves all firmware load responsibility into the interface-specific
code and gets rid of the firmware pointer in the generic card structure.  It
also removes 3 fairly unecessary callbacks: hw_register_dev, hw_unregister_dev,
and hw_prog_firmware.  It also makes the init sequence from interface
probe functions more logical, as there are paired add/remove and start/stop
calls into generic libertas code.

Because the USB driver code uses the same TX URB callback for both firmware
upload (where the generic libertas structure isn't initialized yet) and for
normal operation (where it is), some bits of USB code have to deal with
'priv' being NULL.  All USB firmware upload bits have been changed to not
require 'priv' at all, but simply the USB card structure.

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] libertas: fix inadvertant removal of bits from commit 831441862956fffa17b9801...
Dan Williams [Mon, 20 Aug 2007 15:10:45 +0000 (11:10 -0400)]
[PATCH] libertas: fix inadvertant removal of bits from commit 831441862956fffa17b9801db37e6ea1650b0f69

Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
17 years ago[PATCH] drivers/net/wireless/wl3501_cs.c: remove redundant memset
Mariusz Kozlowski [Mon, 6 Aug 2007 22:50:22 +0000 (00:50 +0200)]
[PATCH] drivers/net/wireless/wl3501_cs.c: remove redundant memset

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: John W. Linville <linville@tuxdriver.com>