aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igb/igb_main.c
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2009-03-13 16:42:35 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-14 15:41:06 -0400
commitc8ea5ea9da338d6af015148105f07fc35eda8a92 (patch)
treed2f9b79a3ae37836a0e2f500af62bddebc1676d6 /drivers/net/igb/igb_main.c
parent9eb2341d0df6e5d33508008879987bf5bb146804 (diff)
igb: add support for 82576 quad copper adapter
Add support for 82576 copper adapter and necessary code to restrict wol for quad port adapter to first port. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb/igb_main.c')
-rw-r--r--drivers/net/igb/igb_main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index e464dc024ee6..7124f59fb99f 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -65,6 +65,7 @@ static struct pci_device_id igb_pci_tbl[] = {
65 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), board_82575 }, 65 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_NS), board_82575 },
66 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 }, 66 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_FIBER), board_82575 },
67 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 }, 67 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_SERDES), board_82575 },
68 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_QUAD_COPPER), board_82575 },
68 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 }, 69 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_COPPER), board_82575 },
69 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 }, 70 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575EB_FIBER_SERDES), board_82575 },
70 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 }, 71 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82575GB_QUAD_COPPER), board_82575 },
@@ -1375,6 +1376,16 @@ static int __devinit igb_probe(struct pci_dev *pdev,
1375 if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1) 1376 if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1)
1376 adapter->eeprom_wol = 0; 1377 adapter->eeprom_wol = 0;
1377 break; 1378 break;
1379 case E1000_DEV_ID_82576_QUAD_COPPER:
1380 /* if quad port adapter, disable WoL on all but port A */
1381 if (global_quad_port_a != 0)
1382 adapter->eeprom_wol = 0;
1383 else
1384 adapter->flags |= IGB_FLAG_QUAD_PORT_A;
1385 /* Reset for multiple quad port adapters */
1386 if (++global_quad_port_a == 4)
1387 global_quad_port_a = 0;
1388 break;
1378 } 1389 }
1379 1390
1380 /* initialize the wol settings based on the eeprom settings */ 1391 /* initialize the wol settings based on the eeprom settings */