Skip to content

Commit

Permalink
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/…
Browse files Browse the repository at this point in the history
…jkirsher/net-next-2.6
  • Loading branch information
David S. Miller committed Dec 26, 2010
2 parents a1a5da5 + 2316aa2 commit 041110a
Show file tree
Hide file tree
Showing 36 changed files with 410 additions and 164 deletions.
19 changes: 5 additions & 14 deletions Documentation/networking/e100.txt
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Tx Descriptors: Number of transmit descriptors. A transmit descriptor is a data
ethtool -G eth? tx n, where n is the number of desired tx descriptors.

Speed/Duplex: The driver auto-negotiates the link speed and duplex settings by
default. Ethtool can be used as follows to force speed/duplex.
default. The ethtool utility can be used as follows to force speed/duplex.

ethtool -s eth? autoneg off speed {10|100} duplex {full|half}

Expand Down Expand Up @@ -126,30 +126,21 @@ Additional Configurations
-------

The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. Ethtool
diagnostics, as well as displaying statistical information. The ethtool
version 1.6 or later is required for this functionality.

The latest release of ethtool can be found from
http://sourceforge.net/projects/gkernel.

NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support
for a more complete ethtool feature set can be enabled by upgrading
ethtool to ethtool-1.8.1.

http://ftp.kernel.org/pub/software/network/ethtool/

Enabling Wake on LAN* (WoL)
---------------------------
WoL is provided through the Ethtool* utility. Ethtool is included with Red
Hat* 8.0. For other Linux distributions, download and install Ethtool from
the following website: http://sourceforge.net/projects/gkernel.

For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
WoL is provided through the ethtool* utility. For instructions on enabling
WoL with ethtool, refer to the ethtool man page.

WoL will be enabled on the system during the next shut down or reboot. For
this driver version, in order to enable WoL, the e100 driver must be
loaded when shutting down or rebooting the system.


NAPI
----

Expand Down
6 changes: 3 additions & 3 deletions Documentation/networking/e1000.txt
Original file line number Diff line number Diff line change
Expand Up @@ -431,15 +431,15 @@ Additional Configurations
Ethtool
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. Ethtool
diagnostics, as well as displaying statistical information. The ethtool
version 1.6 or later is required for this functionality.

The latest release of ethtool can be found from
http://sourceforge.net/projects/gkernel.
http://ftp.kernel.org/pub/software/network/ethtool/

Enabling Wake on LAN* (WoL)
---------------------------
WoL is configured through the Ethtool* utility.
WoL is configured through the ethtool* utility.

WoL will be enabled on the system during the next shut down or reboot.
For this driver version, in order to enable WoL, the e1000 driver must be
Expand Down
14 changes: 7 additions & 7 deletions Documentation/networking/e1000e.txt
Original file line number Diff line number Diff line change
Expand Up @@ -269,26 +269,26 @@ Additional Configurations
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. We
strongly recommend downloading the latest version of Ethtool at:
strongly recommend downloading the latest version of ethtool at:

http://sourceforge.net/projects/gkernel.
http://ftp.kernel.org/pub/software/network/ethtool/

Speed and Duplex
----------------
Speed and Duplex are configured through the Ethtool* utility. For
instructions, refer to the Ethtool man page.
Speed and Duplex are configured through the ethtool* utility. For
instructions, refer to the ethtool man page.

Enabling Wake on LAN* (WoL)
---------------------------
WoL is configured through the Ethtool* utility. For instructions on
enabling WoL with Ethtool, refer to the Ethtool man page.
WoL is configured through the ethtool* utility. For instructions on
enabling WoL with ethtool, refer to the ethtool man page.

WoL will be enabled on the system during the next shut down or reboot.
For this driver version, in order to enable WoL, the e1000e driver must be
loaded when shutting down or rebooting the system.

In most cases Wake On LAN is only supported on port A for multiple port
adapters. To verify if a port supports Wake on Lan run Ethtool eth<X>.
adapters. To verify if a port supports Wake on Lan run ethtool eth<X>.

Support
=======
Expand Down
6 changes: 3 additions & 3 deletions Documentation/networking/igb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ Additional Configurations
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. The latest
version of Ethtool can be found at:
version of ethtool can be found at:

http://ftp.kernel.org/pub/software/network/ethtool/

Enabling Wake on LAN* (WoL)
---------------------------
WoL is configured through the Ethtool* utility.
WoL is configured through the ethtool* utility.

For instructions on enabling WoL with Ethtool, refer to the Ethtool man page.
For instructions on enabling WoL with ethtool, refer to the ethtool man page.

WoL will be enabled on the system during the next shut down or reboot.
For this driver version, in order to enable WoL, the igb driver must be
Expand Down
4 changes: 2 additions & 2 deletions Documentation/networking/igbvf.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ Additional Configurations
Ethtool
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. Ethtool
diagnostics, as well as displaying statistical information. The ethtool
version 3.0 or later is required for this functionality, although we
strongly recommend downloading the latest version at:

http://sourceforge.net/projects/gkernel.
http://ftp.kernel.org/pub/software/network/ethtool/

Support
=======
Expand Down
10 changes: 5 additions & 5 deletions Documentation/networking/ixgb.txt
Original file line number Diff line number Diff line change
Expand Up @@ -309,15 +309,15 @@ Additional Configurations
Ethtool
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. Ethtool
diagnostics, as well as displaying statistical information. The ethtool
version 1.6 or later is required for this functionality.

The latest release of ethtool can be found from
http://sourceforge.net/projects/gkernel
http://ftp.kernel.org/pub/software/network/ethtool/

NOTE: Ethtool 1.6 only supports a limited set of ethtool options. Support
for a more complete ethtool feature set can be enabled by upgrading
to the latest version.
NOTE: The ethtool version 1.6 only supports a limited set of ethtool options.
Support for a more complete ethtool feature set can be enabled by
upgrading to the latest version.


NAPI
Expand Down
8 changes: 4 additions & 4 deletions Documentation/networking/ixgbe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ is an Intel(R) Ethernet Server Adapter X520-2, then it only supports Intel
optics and/or the direct attach cables listed below.

When 82599-based SFP+ devices are connected back to back, they should be set to
the same Speed setting via Ethtool. Results may vary if you mix speed settings.
the same Speed setting via ethtool. Results may vary if you mix speed settings.
82598-based adapters support all passive direct attach cables that comply
with SFF-8431 v4.1 and SFF-8472 v10.4 specifications. Active direct attach
cables are not supported.
Expand Down Expand Up @@ -110,7 +110,7 @@ threshold. When rx is enabled, the transmit unit will halt for the time delay
specified when a PAUSE frame is received.

Flow Control is enabled by default. If you want to disable a flow control
capable link partner, use Ethtool:
capable link partner, use ethtool:

ethtool -A eth? autoneg off RX off TX off

Expand Down Expand Up @@ -181,10 +181,10 @@ Additional Configurations
-------
The driver utilizes the ethtool interface for driver configuration and
diagnostics, as well as displaying statistical information. The latest
Ethtool version is required for this functionality.
ethtool version is required for this functionality.

The latest release of ethtool can be found from
http://sourceforge.net/projects/gkernel.
http://ftp.kernel.org/pub/software/network/ethtool/

FCoE
----
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/e1000e/es2lan.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@
* with a lower bound at "index" and the upper bound at
* "index + 5".
*/
static const u16 e1000_gg82563_cable_length_table[] =
{ 0, 60, 115, 150, 150, 60, 115, 150, 180, 180, 0xFF };
static const u16 e1000_gg82563_cable_length_table[] = {
0, 60, 115, 150, 150, 60, 115, 150, 180, 180, 0xFF };
#define GG82563_CABLE_LENGTH_TABLE_SIZE \
ARRAY_SIZE(e1000_gg82563_cable_length_table)

Expand Down Expand Up @@ -426,8 +426,8 @@ static void e1000_release_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask)
{
u32 swfw_sync;

while (e1000e_get_hw_semaphore(hw) != 0);
/* Empty */
while (e1000e_get_hw_semaphore(hw) != 0)
; /* Empty */

swfw_sync = er32(SW_FW_SYNC);
swfw_sync &= ~mask;
Expand Down
118 changes: 61 additions & 57 deletions drivers/net/e1000e/ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,63 +45,67 @@ struct e1000_stats {
int stat_offset;
};

#define E1000_STAT(m) E1000_STATS, \
sizeof(((struct e1000_adapter *)0)->m), \
offsetof(struct e1000_adapter, m)
#define E1000_NETDEV_STAT(m) NETDEV_STATS, \
sizeof(((struct net_device *)0)->m), \
offsetof(struct net_device, m)
#define E1000_STAT(str, m) { \
.stat_string = str, \
.type = E1000_STATS, \
.sizeof_stat = sizeof(((struct e1000_adapter *)0)->m), \
.stat_offset = offsetof(struct e1000_adapter, m) }
#define E1000_NETDEV_STAT(str, m) { \
.stat_string = str, \
.type = NETDEV_STATS, \
.sizeof_stat = sizeof(((struct net_device *)0)->m), \
.stat_offset = offsetof(struct net_device, m) }

static const struct e1000_stats e1000_gstrings_stats[] = {
{ "rx_packets", E1000_STAT(stats.gprc) },
{ "tx_packets", E1000_STAT(stats.gptc) },
{ "rx_bytes", E1000_STAT(stats.gorc) },
{ "tx_bytes", E1000_STAT(stats.gotc) },
{ "rx_broadcast", E1000_STAT(stats.bprc) },
{ "tx_broadcast", E1000_STAT(stats.bptc) },
{ "rx_multicast", E1000_STAT(stats.mprc) },
{ "tx_multicast", E1000_STAT(stats.mptc) },
{ "rx_errors", E1000_NETDEV_STAT(stats.rx_errors) },
{ "tx_errors", E1000_NETDEV_STAT(stats.tx_errors) },
{ "tx_dropped", E1000_NETDEV_STAT(stats.tx_dropped) },
{ "multicast", E1000_STAT(stats.mprc) },
{ "collisions", E1000_STAT(stats.colc) },
{ "rx_length_errors", E1000_NETDEV_STAT(stats.rx_length_errors) },
{ "rx_over_errors", E1000_NETDEV_STAT(stats.rx_over_errors) },
{ "rx_crc_errors", E1000_STAT(stats.crcerrs) },
{ "rx_frame_errors", E1000_NETDEV_STAT(stats.rx_frame_errors) },
{ "rx_no_buffer_count", E1000_STAT(stats.rnbc) },
{ "rx_missed_errors", E1000_STAT(stats.mpc) },
{ "tx_aborted_errors", E1000_STAT(stats.ecol) },
{ "tx_carrier_errors", E1000_STAT(stats.tncrs) },
{ "tx_fifo_errors", E1000_NETDEV_STAT(stats.tx_fifo_errors) },
{ "tx_heartbeat_errors", E1000_NETDEV_STAT(stats.tx_heartbeat_errors) },
{ "tx_window_errors", E1000_STAT(stats.latecol) },
{ "tx_abort_late_coll", E1000_STAT(stats.latecol) },
{ "tx_deferred_ok", E1000_STAT(stats.dc) },
{ "tx_single_coll_ok", E1000_STAT(stats.scc) },
{ "tx_multi_coll_ok", E1000_STAT(stats.mcc) },
{ "tx_timeout_count", E1000_STAT(tx_timeout_count) },
{ "tx_restart_queue", E1000_STAT(restart_queue) },
{ "rx_long_length_errors", E1000_STAT(stats.roc) },
{ "rx_short_length_errors", E1000_STAT(stats.ruc) },
{ "rx_align_errors", E1000_STAT(stats.algnerrc) },
{ "tx_tcp_seg_good", E1000_STAT(stats.tsctc) },
{ "tx_tcp_seg_failed", E1000_STAT(stats.tsctfc) },
{ "rx_flow_control_xon", E1000_STAT(stats.xonrxc) },
{ "rx_flow_control_xoff", E1000_STAT(stats.xoffrxc) },
{ "tx_flow_control_xon", E1000_STAT(stats.xontxc) },
{ "tx_flow_control_xoff", E1000_STAT(stats.xofftxc) },
{ "rx_long_byte_count", E1000_STAT(stats.gorc) },
{ "rx_csum_offload_good", E1000_STAT(hw_csum_good) },
{ "rx_csum_offload_errors", E1000_STAT(hw_csum_err) },
{ "rx_header_split", E1000_STAT(rx_hdr_split) },
{ "alloc_rx_buff_failed", E1000_STAT(alloc_rx_buff_failed) },
{ "tx_smbus", E1000_STAT(stats.mgptc) },
{ "rx_smbus", E1000_STAT(stats.mgprc) },
{ "dropped_smbus", E1000_STAT(stats.mgpdc) },
{ "rx_dma_failed", E1000_STAT(rx_dma_failed) },
{ "tx_dma_failed", E1000_STAT(tx_dma_failed) },
E1000_STAT("rx_packets", stats.gprc),
E1000_STAT("tx_packets", stats.gptc),
E1000_STAT("rx_bytes", stats.gorc),
E1000_STAT("tx_bytes", stats.gotc),
E1000_STAT("rx_broadcast", stats.bprc),
E1000_STAT("tx_broadcast", stats.bptc),
E1000_STAT("rx_multicast", stats.mprc),
E1000_STAT("tx_multicast", stats.mptc),
E1000_NETDEV_STAT("rx_errors", stats.rx_errors),
E1000_NETDEV_STAT("tx_errors", stats.tx_errors),
E1000_NETDEV_STAT("tx_dropped", stats.tx_dropped),
E1000_STAT("multicast", stats.mprc),
E1000_STAT("collisions", stats.colc),
E1000_NETDEV_STAT("rx_length_errors", stats.rx_length_errors),
E1000_NETDEV_STAT("rx_over_errors", stats.rx_over_errors),
E1000_STAT("rx_crc_errors", stats.crcerrs),
E1000_NETDEV_STAT("rx_frame_errors", stats.rx_frame_errors),
E1000_STAT("rx_no_buffer_count", stats.rnbc),
E1000_STAT("rx_missed_errors", stats.mpc),
E1000_STAT("tx_aborted_errors", stats.ecol),
E1000_STAT("tx_carrier_errors", stats.tncrs),
E1000_NETDEV_STAT("tx_fifo_errors", stats.tx_fifo_errors),
E1000_NETDEV_STAT("tx_heartbeat_errors", stats.tx_heartbeat_errors),
E1000_STAT("tx_window_errors", stats.latecol),
E1000_STAT("tx_abort_late_coll", stats.latecol),
E1000_STAT("tx_deferred_ok", stats.dc),
E1000_STAT("tx_single_coll_ok", stats.scc),
E1000_STAT("tx_multi_coll_ok", stats.mcc),
E1000_STAT("tx_timeout_count", tx_timeout_count),
E1000_STAT("tx_restart_queue", restart_queue),
E1000_STAT("rx_long_length_errors", stats.roc),
E1000_STAT("rx_short_length_errors", stats.ruc),
E1000_STAT("rx_align_errors", stats.algnerrc),
E1000_STAT("tx_tcp_seg_good", stats.tsctc),
E1000_STAT("tx_tcp_seg_failed", stats.tsctfc),
E1000_STAT("rx_flow_control_xon", stats.xonrxc),
E1000_STAT("rx_flow_control_xoff", stats.xoffrxc),
E1000_STAT("tx_flow_control_xon", stats.xontxc),
E1000_STAT("tx_flow_control_xoff", stats.xofftxc),
E1000_STAT("rx_long_byte_count", stats.gorc),
E1000_STAT("rx_csum_offload_good", hw_csum_good),
E1000_STAT("rx_csum_offload_errors", hw_csum_err),
E1000_STAT("rx_header_split", rx_hdr_split),
E1000_STAT("alloc_rx_buff_failed", alloc_rx_buff_failed),
E1000_STAT("tx_smbus", stats.mgptc),
E1000_STAT("rx_smbus", stats.mgprc),
E1000_STAT("dropped_smbus", stats.mgpdc),
E1000_STAT("rx_dma_failed", rx_dma_failed),
E1000_STAT("tx_dma_failed", tx_dma_failed),
};

#define E1000_GLOBAL_STATS_LEN ARRAY_SIZE(e1000_gstrings_stats)
Expand Down Expand Up @@ -749,8 +753,8 @@ static bool reg_pattern_test(struct e1000_adapter *adapter, u64 *data,
int reg, int offset, u32 mask, u32 write)
{
u32 pat, val;
static const u32 test[] =
{0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF};
static const u32 test[] = {
0x5A5A5A5A, 0xA5A5A5A5, 0x00000000, 0xFFFFFFFF};
for (pat = 0; pat < ARRAY_SIZE(test); pat++) {
E1000_WRITE_REG_ARRAY(&adapter->hw, reg, offset,
(test[pat] & write));
Expand Down
5 changes: 2 additions & 3 deletions drivers/net/e1000e/ich8lan.c
Original file line number Diff line number Diff line change
Expand Up @@ -2309,11 +2309,10 @@ static s32 e1000_read_flash_data_ich8lan(struct e1000_hw *hw, u32 offset,
*/
if (ret_val == 0) {
flash_data = er32flash(ICH_FLASH_FDATA0);
if (size == 1) {
if (size == 1)
*data = (u8)(flash_data & 0x000000FF);
} else if (size == 2) {
else if (size == 2)
*data = (u16)(flash_data & 0x0000FFFF);
}
break;
} else {
/*
Expand Down
6 changes: 2 additions & 4 deletions drivers/net/e1000e/lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -493,9 +493,8 @@ s32 e1000e_check_for_copper_link(struct e1000_hw *hw)
* different link partner.
*/
ret_val = e1000e_config_fc_after_link_up(hw);
if (ret_val) {
if (ret_val)
e_dbg("Error configuring flow control\n");
}

return ret_val;
}
Expand Down Expand Up @@ -1496,9 +1495,8 @@ s32 e1000e_setup_led_generic(struct e1000_hw *hw)
{
u32 ledctl;

if (hw->mac.ops.setup_led != e1000e_setup_led_generic) {
if (hw->mac.ops.setup_led != e1000e_setup_led_generic)
return -E1000_ERR_CONFIG;
}

if (hw->phy.media_type == e1000_media_type_fiber) {
ledctl = er32(LEDCTL);
Expand Down
Loading

0 comments on commit 041110a

Please sign in to comment.