Commit 0e22d043 authored by Don Skidmore's avatar Don Skidmore Committed by Jeff Kirsher

ixgbe: add support for new 82599 device.

This device uses an already existing DevID but since it supports
WoL we need to add the Sub DevID.  It's support of WoL is limited
to the first port.
Signed-off-by: default avatarDon Skidmore <donald.c.skidmore@intel.com>
Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 9e791e4a
...@@ -1955,13 +1955,22 @@ static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter, ...@@ -1955,13 +1955,22 @@ static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter,
/* WOL not supported except for the following */ /* WOL not supported except for the following */
switch(hw->device_id) { switch(hw->device_id) {
case IXGBE_DEV_ID_82599_SFP: case IXGBE_DEV_ID_82599_SFP:
/* Only this subdevice supports WOL */ /* Only these subdevices could supports WOL */
if (hw->subsystem_device_id != IXGBE_SUBDEV_ID_82599_SFP) { switch (hw->subsystem_device_id) {
case IXGBE_SUBDEV_ID_82599_560FLR:
/* only support first port */
if (hw->bus.func != 0) {
wol->supported = 0; wol->supported = 0;
break; break;
} }
case IXGBE_SUBDEV_ID_82599_SFP:
retval = 0; retval = 0;
break; break;
default:
wol->supported = 0;
break;
}
break;
case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
/* All except this subdevice support WOL */ /* All except this subdevice support WOL */
if (hw->subsystem_device_id == if (hw->subsystem_device_id ==
......
...@@ -7605,10 +7605,17 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, ...@@ -7605,10 +7605,17 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
adapter->wol = 0; adapter->wol = 0;
switch (pdev->device) { switch (pdev->device) {
case IXGBE_DEV_ID_82599_SFP: case IXGBE_DEV_ID_82599_SFP:
/* Only this subdevice supports WOL */ /* Only these subdevice supports WOL */
if (pdev->subsystem_device == IXGBE_SUBDEV_ID_82599_SFP) switch (pdev->subsystem_device) {
case IXGBE_SUBDEV_ID_82599_560FLR:
/* only support first port */
if (hw->bus.func != 0)
break;
case IXGBE_SUBDEV_ID_82599_SFP:
adapter->wol = IXGBE_WUFC_MAG; adapter->wol = IXGBE_WUFC_MAG;
break; break;
}
break;
case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
/* All except this subdevice support WOL */ /* All except this subdevice support WOL */
if (pdev->subsystem_device != IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) if (pdev->subsystem_device != IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ)
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152a #define IXGBE_DEV_ID_82599_BACKPLANE_FCOE 0x152a
#define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529 #define IXGBE_DEV_ID_82599_SFP_FCOE 0x1529
#define IXGBE_SUBDEV_ID_82599_SFP 0x11A9 #define IXGBE_SUBDEV_ID_82599_SFP 0x11A9
#define IXGBE_SUBDEV_ID_82599_560FLR 0x17D0
#define IXGBE_DEV_ID_82599_SFP_EM 0x1507 #define IXGBE_DEV_ID_82599_SFP_EM 0x1507
#define IXGBE_DEV_ID_82599_SFP_SF2 0x154D #define IXGBE_DEV_ID_82599_SFP_SF2 0x154D
#define IXGBE_DEV_ID_82599EN_SFP 0x1557 #define IXGBE_DEV_ID_82599EN_SFP 0x1557
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment