e1000e: add support for 82567LM-3 and 82567LF-3 (ICH10D) parts
Add support for new LOM devices on the latest generation ICHx platforms. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
@@ -58,6 +58,7 @@ static const struct e1000_info *e1000_info_tbl[] = {
|
||||
[board_80003es2lan] = &e1000_es2_info,
|
||||
[board_ich8lan] = &e1000_ich8_info,
|
||||
[board_ich9lan] = &e1000_ich9_info,
|
||||
[board_ich10lan] = &e1000_ich10_info,
|
||||
};
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -3200,6 +3201,27 @@ static void e1000_watchdog_task(struct work_struct *work)
|
||||
&adapter->link_speed,
|
||||
&adapter->link_duplex);
|
||||
e1000_print_link_info(adapter);
|
||||
/*
|
||||
* On supported PHYs, check for duplex mismatch only
|
||||
* if link has autonegotiated at 10/100 half
|
||||
*/
|
||||
if ((hw->phy.type == e1000_phy_igp_3 ||
|
||||
hw->phy.type == e1000_phy_bm) &&
|
||||
(hw->mac.autoneg == true) &&
|
||||
(adapter->link_speed == SPEED_10 ||
|
||||
adapter->link_speed == SPEED_100) &&
|
||||
(adapter->link_duplex == HALF_DUPLEX)) {
|
||||
u16 autoneg_exp;
|
||||
|
||||
e1e_rphy(hw, PHY_AUTONEG_EXP, &autoneg_exp);
|
||||
|
||||
if (!(autoneg_exp & NWAY_ER_LP_NWAY_CAPS))
|
||||
e_info("Autonegotiated half duplex but"
|
||||
" link partner cannot autoneg. "
|
||||
" Try forcing full duplex if "
|
||||
"link gets many collisions.\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* tweak tx_queue_len according to speed/duplex
|
||||
* and adjust the timeout factor
|
||||
@@ -4776,6 +4798,9 @@ static struct pci_device_id e1000_pci_tbl[] = {
|
||||
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_LF), board_ich9lan },
|
||||
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_R_BM_V), board_ich9lan },
|
||||
|
||||
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LM), board_ich10lan },
|
||||
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_ICH10_D_BM_LF), board_ich10lan },
|
||||
|
||||
{ } /* terminate list */
|
||||
};
|
||||
MODULE_DEVICE_TABLE(pci, e1000_pci_tbl);
|
||||
|
Reference in New Issue
Block a user