Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
bdad69b2
Commit
bdad69b2
authored
May 23, 2006
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'e1000-7.0.38-k4' of
git://lost.foo-projects.org/~ahkok/git/netdev-2.6
into upstream
parents
9528454f
440c052d
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
104 additions
and
135 deletions
+104
-135
drivers/net/e1000/Makefile
drivers/net/e1000/Makefile
+1
-1
drivers/net/e1000/e1000_ethtool.c
drivers/net/e1000/e1000_ethtool.c
+22
-22
drivers/net/e1000/e1000_hw.c
drivers/net/e1000/e1000_hw.c
+56
-56
drivers/net/e1000/e1000_hw.h
drivers/net/e1000/e1000_hw.h
+2
-2
drivers/net/e1000/e1000_main.c
drivers/net/e1000/e1000_main.c
+23
-54
No files found.
drivers/net/e1000/Makefile
View file @
bdad69b2
################################################################################
################################################################################
#
#
#
#
# Copyright(c) 1999 - 200
3
Intel Corporation. All rights reserved.
# Copyright(c) 1999 - 200
6
Intel Corporation. All rights reserved.
#
#
# This program is free software; you can redistribute it and/or modify it
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# under the terms of the GNU General Public License as published by the Free
...
...
drivers/net/e1000/e1000_ethtool.c
View file @
bdad69b2
drivers/net/e1000/e1000_hw.c
View file @
bdad69b2
...
@@ -2493,10 +2493,10 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
...
@@ -2493,10 +2493,10 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
*/
*/
if
(
hw
->
original_fc
==
e1000_fc_full
)
{
if
(
hw
->
original_fc
==
e1000_fc_full
)
{
hw
->
fc
=
e1000_fc_full
;
hw
->
fc
=
e1000_fc_full
;
DEBUGOUT
(
"Flow Control = FULL.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = FULL.
\n
"
);
}
else
{
}
else
{
hw
->
fc
=
e1000_fc_rx_pause
;
hw
->
fc
=
e1000_fc_rx_pause
;
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\n
"
);
}
}
}
}
/* For receiving PAUSE frames ONLY.
/* For receiving PAUSE frames ONLY.
...
@@ -2512,7 +2512,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
...
@@ -2512,7 +2512,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_PAUSE
)
&&
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_PAUSE
)
&&
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_ASM_DIR
))
{
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_ASM_DIR
))
{
hw
->
fc
=
e1000_fc_tx_pause
;
hw
->
fc
=
e1000_fc_tx_pause
;
DEBUGOUT
(
"Flow Control = TX PAUSE frames only.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = TX PAUSE frames only.
\n
"
);
}
}
/* For transmitting PAUSE frames ONLY.
/* For transmitting PAUSE frames ONLY.
*
*
...
@@ -2527,7 +2527,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
...
@@ -2527,7 +2527,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
!
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_PAUSE
)
&&
!
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_PAUSE
)
&&
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_ASM_DIR
))
{
(
mii_nway_lp_ability_reg
&
NWAY_LPAR_ASM_DIR
))
{
hw
->
fc
=
e1000_fc_rx_pause
;
hw
->
fc
=
e1000_fc_rx_pause
;
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\n
"
);
}
}
/* Per the IEEE spec, at this point flow control should be
/* Per the IEEE spec, at this point flow control should be
* disabled. However, we want to consider that we could
* disabled. However, we want to consider that we could
...
@@ -2553,10 +2553,10 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
...
@@ -2553,10 +2553,10 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
hw
->
original_fc
==
e1000_fc_tx_pause
)
||
hw
->
original_fc
==
e1000_fc_tx_pause
)
||
hw
->
fc_strict_ieee
)
{
hw
->
fc_strict_ieee
)
{
hw
->
fc
=
e1000_fc_none
;
hw
->
fc
=
e1000_fc_none
;
DEBUGOUT
(
"Flow Control = NONE.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = NONE.
\n
"
);
}
else
{
}
else
{
hw
->
fc
=
e1000_fc_rx_pause
;
hw
->
fc
=
e1000_fc_rx_pause
;
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\
r\
n
"
);
DEBUGOUT
(
"Flow Control = RX PAUSE frames only.
\n
"
);
}
}
/* Now we need to do one last check... If we auto-
/* Now we need to do one last check... If we auto-
...
@@ -2581,7 +2581,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
...
@@ -2581,7 +2581,7 @@ e1000_config_fc_after_link_up(struct e1000_hw *hw)
return
ret_val
;
return
ret_val
;
}
}
}
else
{
}
else
{
DEBUGOUT
(
"Copper PHY and Auto Neg has not completed.
\
r\
n
"
);
DEBUGOUT
(
"Copper PHY and Auto Neg has not completed.
\n
"
);
}
}
}
}
return
E1000_SUCCESS
;
return
E1000_SUCCESS
;
...
@@ -2764,7 +2764,7 @@ e1000_check_for_link(struct e1000_hw *hw)
...
@@ -2764,7 +2764,7 @@ e1000_check_for_link(struct e1000_hw *hw)
hw
->
autoneg_failed
=
1
;
hw
->
autoneg_failed
=
1
;
return
0
;
return
0
;
}
}
DEBUGOUT
(
"NOT RXing /C/, disable AutoNeg and force link.
\
r\
n
"
);
DEBUGOUT
(
"NOT RXing /C/, disable AutoNeg and force link.
\n
"
);
/* Disable auto-negotiation in the TXCW register */
/* Disable auto-negotiation in the TXCW register */
E1000_WRITE_REG
(
hw
,
TXCW
,
(
hw
->
txcw
&
~
E1000_TXCW_ANE
));
E1000_WRITE_REG
(
hw
,
TXCW
,
(
hw
->
txcw
&
~
E1000_TXCW_ANE
));
...
@@ -2789,7 +2789,7 @@ e1000_check_for_link(struct e1000_hw *hw)
...
@@ -2789,7 +2789,7 @@ e1000_check_for_link(struct e1000_hw *hw)
else
if
(((
hw
->
media_type
==
e1000_media_type_fiber
)
||
else
if
(((
hw
->
media_type
==
e1000_media_type_fiber
)
||
(
hw
->
media_type
==
e1000_media_type_internal_serdes
))
&&
(
hw
->
media_type
==
e1000_media_type_internal_serdes
))
&&
(
ctrl
&
E1000_CTRL_SLU
)
&&
(
rxcw
&
E1000_RXCW_C
))
{
(
ctrl
&
E1000_CTRL_SLU
)
&&
(
rxcw
&
E1000_RXCW_C
))
{
DEBUGOUT
(
"RXing /C/, enable AutoNeg and stop forcing link.
\
r\
n
"
);
DEBUGOUT
(
"RXing /C/, enable AutoNeg and stop forcing link.
\n
"
);
E1000_WRITE_REG
(
hw
,
TXCW
,
hw
->
txcw
);
E1000_WRITE_REG
(
hw
,
TXCW
,
hw
->
txcw
);
E1000_WRITE_REG
(
hw
,
CTRL
,
(
ctrl
&
~
E1000_CTRL_SLU
));
E1000_WRITE_REG
(
hw
,
CTRL
,
(
ctrl
&
~
E1000_CTRL_SLU
));
...
@@ -2852,13 +2852,13 @@ e1000_get_speed_and_duplex(struct e1000_hw *hw,
...
@@ -2852,13 +2852,13 @@ e1000_get_speed_and_duplex(struct e1000_hw *hw,
if
(
status
&
E1000_STATUS_FD
)
{
if
(
status
&
E1000_STATUS_FD
)
{
*
duplex
=
FULL_DUPLEX
;
*
duplex
=
FULL_DUPLEX
;
DEBUGOUT
(
"Full Duplex
\
r\
n
"
);
DEBUGOUT
(
"Full Duplex
\n
"
);
}
else
{
}
else
{
*
duplex
=
HALF_DUPLEX
;
*
duplex
=
HALF_DUPLEX
;
DEBUGOUT
(
" Half Duplex
\
r\
n
"
);
DEBUGOUT
(
" Half Duplex
\n
"
);
}
}
}
else
{
}
else
{
DEBUGOUT
(
"1000 Mbs, Full Duplex
\
r\
n
"
);
DEBUGOUT
(
"1000 Mbs, Full Duplex
\n
"
);
*
speed
=
SPEED_1000
;
*
speed
=
SPEED_1000
;
*
duplex
=
FULL_DUPLEX
;
*
duplex
=
FULL_DUPLEX
;
}
}
...
...
drivers/net/e1000/e1000_hw.h
View file @
bdad69b2
drivers/net/e1000/e1000_main.c
View file @
bdad69b2
...
@@ -29,45 +29,6 @@
...
@@ -29,45 +29,6 @@
#include "e1000.h"
#include "e1000.h"
/* Change Log
* 7.0.33 3-Feb-2006
* o Added another fix for the pass false carrier bit
* 7.0.32 24-Jan-2006
* o Need to rebuild with noew version number for the pass false carrier
* fix in e1000_hw.c
* 7.0.30 18-Jan-2006
* o fixup for tso workaround to disable it for pci-x
* o fix mem leak on 82542
* o fixes for 10 Mb/s connections and incorrect stats
* 7.0.28 01/06/2006
* o hardware workaround to only set "speed mode" bit for 1G link.
* 7.0.26 12/23/2005
* o wake on lan support modified for device ID 10B5
* o fix dhcp + vlan issue not making it to the iAMT firmware
* 7.0.24 12/9/2005
* o New hardware support for the Gigabit NIC embedded in the south bridge
* o Fixes to the recycling logic (skb->tail) from IBM LTC
* 6.3.9 12/16/2005
* o incorporate fix for recycled skbs from IBM LTC
* 6.3.7 11/18/2005
* o Honor eeprom setting for enabling/disabling Wake On Lan
* 6.3.5 11/17/2005
* o Fix memory leak in rx ring handling for PCI Express adapters
* 6.3.4 11/8/05
* o Patch from Jesper Juhl to remove redundant NULL checks for kfree
* 6.3.2 9/20/05
* o Render logic that sets/resets DRV_LOAD as inline functions to
* avoid code replication. If f/w is AMT then set DRV_LOAD only when
* network interface is open.
* o Handle DRV_LOAD set/reset in cases where AMT uses VLANs.
* o Adjust PBA partioning for Jumbo frames using MTU size and not
* rx_buffer_len
* 6.3.1 9/19/05
* o Use adapter->tx_timeout_factor in Tx Hung Detect logic
* (e1000_clean_tx_irq)
* o Support for 8086:10B5 device (Quad Port)
*/
char
e1000_driver_name
[]
=
"e1000"
;
char
e1000_driver_name
[]
=
"e1000"
;
static
char
e1000_driver_string
[]
=
"Intel(R) PRO/1000 Network Driver"
;
static
char
e1000_driver_string
[]
=
"Intel(R) PRO/1000 Network Driver"
;
#ifndef CONFIG_E1000_NAPI
#ifndef CONFIG_E1000_NAPI
...
@@ -75,7 +36,7 @@ static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
...
@@ -75,7 +36,7 @@ static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
#else
#else
#define DRIVERNAPI "-NAPI"
#define DRIVERNAPI "-NAPI"
#endif
#endif
#define DRV_VERSION "7.0.38-k
2
"DRIVERNAPI
#define DRV_VERSION "7.0.38-k
4
"DRIVERNAPI
char
e1000_driver_version
[]
=
DRV_VERSION
;
char
e1000_driver_version
[]
=
DRV_VERSION
;
static
char
e1000_copyright
[]
=
"Copyright (c) 1999-2006 Intel Corporation."
;
static
char
e1000_copyright
[]
=
"Copyright (c) 1999-2006 Intel Corporation."
;
...
@@ -221,6 +182,7 @@ static void e1000_restore_vlan(struct e1000_adapter *adapter);
...
@@ -221,6 +182,7 @@ static void e1000_restore_vlan(struct e1000_adapter *adapter);
static
int
e1000_suspend
(
struct
pci_dev
*
pdev
,
pm_message_t
state
);
static
int
e1000_suspend
(
struct
pci_dev
*
pdev
,
pm_message_t
state
);
static
int
e1000_resume
(
struct
pci_dev
*
pdev
);
static
int
e1000_resume
(
struct
pci_dev
*
pdev
);
#endif
#endif
static
void
e1000_shutdown
(
struct
pci_dev
*
pdev
);
#ifdef CONFIG_NET_POLL_CONTROLLER
#ifdef CONFIG_NET_POLL_CONTROLLER
/* for netdump / net console */
/* for netdump / net console */
...
@@ -236,8 +198,9 @@ static struct pci_driver e1000_driver = {
...
@@ -236,8 +198,9 @@ static struct pci_driver e1000_driver = {
/* Power Managment Hooks */
/* Power Managment Hooks */
#ifdef CONFIG_PM
#ifdef CONFIG_PM
.
suspend
=
e1000_suspend
,
.
suspend
=
e1000_suspend
,
.
resume
=
e1000_resume
.
resume
=
e1000_resume
,
#endif
#endif
.
shutdown
=
e1000_shutdown
};
};
MODULE_AUTHOR
(
"Intel Corporation, <linux.nics@intel.com>"
);
MODULE_AUTHOR
(
"Intel Corporation, <linux.nics@intel.com>"
);
...
@@ -4605,6 +4568,12 @@ e1000_resume(struct pci_dev *pdev)
...
@@ -4605,6 +4568,12 @@ e1000_resume(struct pci_dev *pdev)
return
0
;
return
0
;
}
}
#endif
#endif
static
void
e1000_shutdown
(
struct
pci_dev
*
pdev
)
{
e1000_suspend
(
pdev
,
PMSG_SUSPEND
);
}
#ifdef CONFIG_NET_POLL_CONTROLLER
#ifdef CONFIG_NET_POLL_CONTROLLER
/*
/*
* Polling 'interrupt' - used by things like netconsole to send skbs
* Polling 'interrupt' - used by things like netconsole to send skbs
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment