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
699a7123
Commit
699a7123
authored
Aug 24, 2006
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'upstream-fixes' of
git://lost.foo-projects.org/~ahkok/git/netdev-2.6
into tmp
parents
85a7ea1b
891b11f6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
41 deletions
+80
-41
drivers/net/e100.c
drivers/net/e100.c
+9
-13
drivers/net/e1000/e1000_ethtool.c
drivers/net/e1000/e1000_ethtool.c
+30
-10
drivers/net/e1000/e1000_hw.c
drivers/net/e1000/e1000_hw.c
+19
-5
drivers/net/e1000/e1000_main.c
drivers/net/e1000/e1000_main.c
+3
-6
drivers/net/ixgb/ixgb_hw.c
drivers/net/ixgb/ixgb_hw.c
+11
-0
drivers/net/ixgb/ixgb_ids.h
drivers/net/ixgb/ixgb_ids.h
+1
-0
drivers/net/ixgb/ixgb_main.c
drivers/net/ixgb/ixgb_main.c
+7
-7
No files found.
drivers/net/e100.c
View file @
699a7123
/*******************************************************************************
Copyright(c) 1999 - 200
5
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
under the terms of the GNU General Public License as published by the Free
...
...
@@ -158,10 +158,10 @@
#define DRV_NAME "e100"
#define DRV_EXT "-NAPI"
#define DRV_VERSION "3.5.10-k
2
"DRV_EXT
#define DRV_EXT
"-NAPI"
#define DRV_VERSION "3.5.10-k
4
"DRV_EXT
#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver"
#define DRV_COPYRIGHT "Copyright(c) 1999-200
5
Intel Corporation"
#define DRV_COPYRIGHT "Copyright(c) 1999-200
6
Intel Corporation"
#define PFX DRV_NAME ": "
#define E100_WATCHDOG_PERIOD (2 * HZ)
...
...
@@ -1391,15 +1391,11 @@ static int e100_phy_init(struct nic *nic)
}
if
((
nic
->
mac
>=
mac_82550_D102
)
||
((
nic
->
flags
&
ich
)
&&
(
mdio_read
(
netdev
,
nic
->
mii
.
phy_id
,
MII_TPISTATUS
)
&
0x8000
)))
{
/* enable/disable MDI/MDI-X auto-switching.
MDI/MDI-X auto-switching is disabled for 82551ER/QM chips */
if
((
nic
->
mac
==
mac_82551_E
)
||
(
nic
->
mac
==
mac_82551_F
)
||
(
nic
->
mac
==
mac_82551_10
)
||
(
nic
->
mii
.
force_media
)
||
!
(
nic
->
eeprom
[
eeprom_cnfg_mdix
]
&
eeprom_mdix_enabled
))
mdio_write
(
netdev
,
nic
->
mii
.
phy_id
,
MII_NCONFIG
,
0
);
else
mdio_write
(
netdev
,
nic
->
mii
.
phy_id
,
MII_NCONFIG
,
NCONFIG_AUTO_SWITCH
);
(
mdio_read
(
netdev
,
nic
->
mii
.
phy_id
,
MII_TPISTATUS
)
&
0x8000
)
&&
!
(
nic
->
eeprom
[
eeprom_cnfg_mdix
]
&
eeprom_mdix_enabled
)))
{
/* enable/disable MDI/MDI-X auto-switching. */
mdio_write
(
netdev
,
nic
->
mii
.
phy_id
,
MII_NCONFIG
,
nic
->
mii
.
force_media
?
0
:
NCONFIG_AUTO_SWITCH
);
}
return
0
;
...
...
drivers/net/e1000/e1000_ethtool.c
View file @
699a7123
...
...
@@ -183,6 +183,9 @@ e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
return
-
EINVAL
;
}
while
(
test_and_set_bit
(
__E1000_RESETTING
,
&
adapter
->
flags
))
msleep
(
1
);
if
(
ecmd
->
autoneg
==
AUTONEG_ENABLE
)
{
hw
->
autoneg
=
1
;
if
(
hw
->
media_type
==
e1000_media_type_fiber
)
...
...
@@ -199,16 +202,20 @@ e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
ADVERTISED_TP
;
ecmd
->
advertising
=
hw
->
autoneg_advertised
;
}
else
if
(
e1000_set_spd_dplx
(
adapter
,
ecmd
->
speed
+
ecmd
->
duplex
))
if
(
e1000_set_spd_dplx
(
adapter
,
ecmd
->
speed
+
ecmd
->
duplex
))
{
clear_bit
(
__E1000_RESETTING
,
&
adapter
->
flags
);
return
-
EINVAL
;
}
/* reset the link */
if
(
netif_running
(
adapter
->
netdev
))
e1000_reinit_locked
(
adapter
);
else
if
(
netif_running
(
adapter
->
netdev
))
{
e1000_down
(
adapter
);
e1000_up
(
adapter
);
}
else
e1000_reset
(
adapter
);
clear_bit
(
__E1000_RESETTING
,
&
adapter
->
flags
);
return
0
;
}
...
...
@@ -238,9 +245,13 @@ e1000_set_pauseparam(struct net_device *netdev,
{
struct
e1000_adapter
*
adapter
=
netdev_priv
(
netdev
);
struct
e1000_hw
*
hw
=
&
adapter
->
hw
;
int
retval
=
0
;
adapter
->
fc_autoneg
=
pause
->
autoneg
;
while
(
test_and_set_bit
(
__E1000_RESETTING
,
&
adapter
->
flags
))
msleep
(
1
);
if
(
pause
->
rx_pause
&&
pause
->
tx_pause
)
hw
->
fc
=
e1000_fc_full
;
else
if
(
pause
->
rx_pause
&&
!
pause
->
tx_pause
)
...
...
@@ -253,15 +264,17 @@ e1000_set_pauseparam(struct net_device *netdev,
hw
->
original_fc
=
hw
->
fc
;
if
(
adapter
->
fc_autoneg
==
AUTONEG_ENABLE
)
{
if
(
netif_running
(
adapter
->
netdev
))
e1000_reinit_locked
(
adapter
);
else
if
(
netif_running
(
adapter
->
netdev
))
{
e1000_down
(
adapter
);
e1000_up
(
adapter
);
}
else
e1000_reset
(
adapter
);
}
else
ret
urn
((
hw
->
media_type
==
e1000_media_type_fiber
)
?
e1000_setup_link
(
hw
)
:
e1000_force_mac_fc
(
hw
));
ret
val
=
((
hw
->
media_type
==
e1000_media_type_fiber
)
?
e1000_setup_link
(
hw
)
:
e1000_force_mac_fc
(
hw
));
return
0
;
clear_bit
(
__E1000_RESETTING
,
&
adapter
->
flags
);
return
retval
;
}
static
uint32_t
...
...
@@ -1590,6 +1603,8 @@ e1000_diag_test_count(struct net_device *netdev)
return
E1000_TEST_LEN
;
}
extern
void
e1000_power_up_phy
(
struct
e1000_adapter
*
);
static
void
e1000_diag_test
(
struct
net_device
*
netdev
,
struct
ethtool_test
*
eth_test
,
uint64_t
*
data
)
...
...
@@ -1606,6 +1621,8 @@ e1000_diag_test(struct net_device *netdev,
uint8_t
forced_speed_duplex
=
adapter
->
hw
.
forced_speed_duplex
;
uint8_t
autoneg
=
adapter
->
hw
.
autoneg
;
DPRINTK
(
HW
,
INFO
,
"offline testing starting
\n
"
);
/* Link test performed before hardware reset so autoneg doesn't
* interfere with test result */
if
(
e1000_link_test
(
adapter
,
&
data
[
4
]))
...
...
@@ -1629,6 +1646,8 @@ e1000_diag_test(struct net_device *netdev,
eth_test
->
flags
|=
ETH_TEST_FL_FAILED
;
e1000_reset
(
adapter
);
/* make sure the phy is powered up */
e1000_power_up_phy
(
adapter
);
if
(
e1000_loopback_test
(
adapter
,
&
data
[
3
]))
eth_test
->
flags
|=
ETH_TEST_FL_FAILED
;
...
...
@@ -1642,6 +1661,7 @@ e1000_diag_test(struct net_device *netdev,
if
(
if_running
)
dev_open
(
netdev
);
}
else
{
DPRINTK
(
HW
,
INFO
,
"online testing starting
\n
"
);
/* Online tests */
if
(
e1000_link_test
(
adapter
,
&
data
[
4
]))
eth_test
->
flags
|=
ETH_TEST_FL_FAILED
;
...
...
drivers/net/e1000/e1000_hw.c
View file @
699a7123
...
...
@@ -745,6 +745,17 @@ e1000_init_hw(struct e1000_hw *hw)
DEBUGFUNC
(
"e1000_init_hw"
);
/* force full DMA clock frequency for 10/100 on ICH8 A0-B0 */
if
(
hw
->
mac_type
==
e1000_ich8lan
)
{
reg_data
=
E1000_READ_REG
(
hw
,
TARC0
);
reg_data
|=
0x30000000
;
E1000_WRITE_REG
(
hw
,
TARC0
,
reg_data
);
reg_data
=
E1000_READ_REG
(
hw
,
STATUS
);
reg_data
&=
~
0x80000000
;
E1000_WRITE_REG
(
hw
,
STATUS
,
reg_data
);
}
/* Initialize Identification LED */
ret_val
=
e1000_id_led_init
(
hw
);
if
(
ret_val
)
{
...
...
@@ -1351,11 +1362,14 @@ e1000_copper_link_igp_setup(struct e1000_hw *hw)
E1000_WRITE_REG
(
hw
,
LEDCTL
,
led_ctrl
);
}
/* disable lplu d3 during driver init */
ret_val
=
e1000_set_d3_lplu_state
(
hw
,
FALSE
);
if
(
ret_val
)
{
DEBUGOUT
(
"Error Disabling LPLU D3
\n
"
);
return
ret_val
;
/* The NVM settings will configure LPLU in D3 for IGP2 and IGP3 PHYs */
if
(
hw
->
phy_type
==
e1000_phy_igp
)
{
/* disable lplu d3 during driver init */
ret_val
=
e1000_set_d3_lplu_state
(
hw
,
FALSE
);
if
(
ret_val
)
{
DEBUGOUT
(
"Error Disabling LPLU D3
\n
"
);
return
ret_val
;
}
}
/* disable lplu d0 during driver init */
...
...
drivers/net/e1000/e1000_main.c
View file @
699a7123
...
...
@@ -36,7 +36,7 @@ static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
#else
#define DRIVERNAPI "-NAPI"
#endif
#define DRV_VERSION "7.1.9-k
4
"DRIVERNAPI
#define DRV_VERSION "7.1.9-k
6
"DRIVERNAPI
char
e1000_driver_version
[]
=
DRV_VERSION
;
static
char
e1000_copyright
[]
=
"Copyright (c) 1999-2006 Intel Corporation."
;
...
...
@@ -48,7 +48,6 @@ static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
* {PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)}
*/
static
struct
pci_device_id
e1000_pci_tbl
[]
=
{
INTEL_E1000_ETHERNET_DEVICE
(
0x1000
),
INTEL_E1000_ETHERNET_DEVICE
(
0x1001
),
INTEL_E1000_ETHERNET_DEVICE
(
0x1004
),
INTEL_E1000_ETHERNET_DEVICE
(
0x1008
),
...
...
@@ -485,7 +484,7 @@ e1000_up(struct e1000_adapter *adapter)
*
**/
static
void
e1000_power_up_phy
(
struct
e1000_adapter
*
adapter
)
void
e1000_power_up_phy
(
struct
e1000_adapter
*
adapter
)
{
uint16_t
mii_reg
=
0
;
...
...
@@ -1499,8 +1498,6 @@ e1000_configure_tx(struct e1000_adapter *adapter)
}
else
if
(
hw
->
mac_type
==
e1000_80003es2lan
)
{
tarc
=
E1000_READ_REG
(
hw
,
TARC0
);
tarc
|=
1
;
if
(
hw
->
media_type
==
e1000_media_type_internal_serdes
)
tarc
|=
(
1
<<
20
);
E1000_WRITE_REG
(
hw
,
TARC0
,
tarc
);
tarc
=
E1000_READ_REG
(
hw
,
TARC1
);
tarc
|=
1
;
...
...
@@ -2545,7 +2542,7 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
cmd_length
=
E1000_TXD_CMD_IP
;
ipcse
=
skb
->
h
.
raw
-
skb
->
data
-
1
;
#ifdef NETIF_F_TSO_IPV6
}
else
if
(
skb
->
protocol
==
ntoh
s
(
ETH_P_IPV6
))
{
}
else
if
(
skb
->
protocol
==
hton
s
(
ETH_P_IPV6
))
{
skb
->
nh
.
ipv6h
->
payload_len
=
0
;
skb
->
h
.
th
->
check
=
~
csum_ipv6_magic
(
&
skb
->
nh
.
ipv6h
->
saddr
,
...
...
drivers/net/ixgb/ixgb_hw.c
View file @
699a7123
...
...
@@ -236,6 +236,17 @@ ixgb_identify_phy(struct ixgb_hw *hw)
DEBUGOUT
(
"Identified G6104 optics
\n
"
);
phy_type
=
ixgb_phy_type_g6104
;
break
;
case
IXGB_DEVICE_ID_82597EX_CX4
:
DEBUGOUT
(
"Identified CX4
\n
"
);
xpak_vendor
=
ixgb_identify_xpak_vendor
(
hw
);
if
(
xpak_vendor
==
ixgb_xpak_vendor_intel
)
{
DEBUGOUT
(
"Identified TXN17201 optics
\n
"
);
phy_type
=
ixgb_phy_type_txn17201
;
}
else
{
DEBUGOUT
(
"Identified G6005 optics
\n
"
);
phy_type
=
ixgb_phy_type_g6005
;
}
break
;
default:
DEBUGOUT
(
"Unknown physical layer module
\n
"
);
phy_type
=
ixgb_phy_type_unknown
;
...
...
drivers/net/ixgb/ixgb_ids.h
View file @
699a7123
...
...
@@ -45,6 +45,7 @@
#define IXGB_DEVICE_ID_82597EX_CX4 0x109E
#define IXGB_SUBDEVICE_ID_A00C 0xA00C
#define IXGB_SUBDEVICE_ID_A01C 0xA01C
#endif
/* #ifndef _IXGB_IDS_H_ */
/* End of File */
drivers/net/ixgb/ixgb_main.c
View file @
699a7123
...
...
@@ -36,7 +36,7 @@ static char ixgb_driver_string[] = "Intel(R) PRO/10GbE Network Driver";
#else
#define DRIVERNAPI "-NAPI"
#endif
#define DRV_VERSION "1.0.109-k
2
"DRIVERNAPI
#define DRV_VERSION "1.0.109-k
4
"DRIVERNAPI
char
ixgb_driver_version
[]
=
DRV_VERSION
;
static
char
ixgb_copyright
[]
=
"Copyright (c) 1999-2006 Intel Corporation."
;
...
...
@@ -140,12 +140,12 @@ module_param(debug, int, 0);
MODULE_PARM_DESC
(
debug
,
"Debug level (0=none,...,16=all)"
);
/* some defines for controlling descriptor fetches in h/w */
#define RXDCTL_WTHRESH_DEFAULT 1
6
/* chip writes back at this many or RXT0 */
#define RXDCTL_PTHRESH_DEFAULT 0
/* chip considers prefech below
* this */
#define RXDCTL_HTHRESH_DEFAULT 0
/* chip will only prefetch if tail
* is pushed this many descriptors
* from head */
#define RXDCTL_WTHRESH_DEFAULT 1
5
/* chip writes back at this many or RXT0 */
#define RXDCTL_PTHRESH_DEFAULT 0
/* chip considers prefech below
* this */
#define RXDCTL_HTHRESH_DEFAULT 0
/* chip will only prefetch if tail
* is pushed this many descriptors
* from head */
/**
* ixgb_init_module - Driver Registration Routine
...
...
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