diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-03-13 16:42:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-14 15:41:06 -0400 |
commit | c8ea5ea9da338d6af015148105f07fc35eda8a92 (patch) | |
tree | d2f9b79a3ae37836a0e2f500af62bddebc1676d6 /drivers/net/igb/igb_main.c | |
parent | 9eb2341d0df6e5d33508008879987bf5bb146804 (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.c | 11 |
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 */ |