ixgbe: add WOL support for backplane adapters
This change adds support for certain 82599 based Mezzanine adapters. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Tested-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
committed by
Jeff Kirsher
parent
e2b4e216b7
commit
50d6c681d0
@@ -185,6 +185,16 @@ static int ixgbe_get_settings(struct net_device *netdev,
|
|||||||
ADVERTISED_FIBRE);
|
ADVERTISED_FIBRE);
|
||||||
ecmd->port = PORT_FIBRE;
|
ecmd->port = PORT_FIBRE;
|
||||||
ecmd->autoneg = AUTONEG_DISABLE;
|
ecmd->autoneg = AUTONEG_DISABLE;
|
||||||
|
} else if ((hw->device_id == IXGBE_DEV_ID_82599_COMBO_BACKPLANE) ||
|
||||||
|
(hw->device_id == IXGBE_DEV_ID_82599_KX4_MEZZ)) {
|
||||||
|
ecmd->supported |= (SUPPORTED_1000baseT_Full |
|
||||||
|
SUPPORTED_Autoneg |
|
||||||
|
SUPPORTED_FIBRE);
|
||||||
|
ecmd->advertising = (ADVERTISED_10000baseT_Full |
|
||||||
|
ADVERTISED_1000baseT_Full |
|
||||||
|
ADVERTISED_Autoneg |
|
||||||
|
ADVERTISED_FIBRE);
|
||||||
|
ecmd->port = PORT_FIBRE;
|
||||||
} else {
|
} else {
|
||||||
ecmd->supported |= (SUPPORTED_1000baseT_Full |
|
ecmd->supported |= (SUPPORTED_1000baseT_Full |
|
||||||
SUPPORTED_FIBRE);
|
SUPPORTED_FIBRE);
|
||||||
@@ -1862,6 +1872,13 @@ static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter,
|
|||||||
int retval = 1;
|
int retval = 1;
|
||||||
|
|
||||||
switch(hw->device_id) {
|
switch(hw->device_id) {
|
||||||
|
case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
|
||||||
|
/* All except this subdevice support WOL */
|
||||||
|
if (hw->subsystem_device_id ==
|
||||||
|
IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) {
|
||||||
|
wol->supported = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case IXGBE_DEV_ID_82599_KX4:
|
case IXGBE_DEV_ID_82599_KX4:
|
||||||
retval = 0;
|
retval = 0;
|
||||||
break;
|
break;
|
||||||
|
@@ -7088,6 +7088,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
|
|||||||
goto err_sw_init;
|
goto err_sw_init;
|
||||||
|
|
||||||
switch (pdev->device) {
|
switch (pdev->device) {
|
||||||
|
case IXGBE_DEV_ID_82599_COMBO_BACKPLANE:
|
||||||
|
/* All except this subdevice support WOL */
|
||||||
|
if (pdev->subsystem_device ==
|
||||||
|
IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) {
|
||||||
|
adapter->wol = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case IXGBE_DEV_ID_82599_KX4:
|
case IXGBE_DEV_ID_82599_KX4:
|
||||||
adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX |
|
adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX |
|
||||||
IXGBE_WUFC_MC | IXGBE_WUFC_BC);
|
IXGBE_WUFC_MC | IXGBE_WUFC_BC);
|
||||||
|
@@ -57,6 +57,7 @@
|
|||||||
#define IXGBE_DEV_ID_82599_SFP_EM 0x1507
|
#define IXGBE_DEV_ID_82599_SFP_EM 0x1507
|
||||||
#define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC
|
#define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC
|
||||||
#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8
|
#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8
|
||||||
|
#define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C
|
||||||
|
|
||||||
/* General Registers */
|
/* General Registers */
|
||||||
#define IXGBE_CTRL 0x00000
|
#define IXGBE_CTRL 0x00000
|
||||||
|
Reference in New Issue
Block a user