diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2010-11-16 22:27:05 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-11-16 22:27:05 -0500 |
commit | 50d6c681d0c38208e494f0c6302ef13d21dababa (patch) | |
tree | 72a1cb4d92b6b62f34a720bac18d3bf31d025d79 /drivers/net/ixgbe | |
parent | e2b4e216b7e9da09175c76887c754489681533b9 (diff) |
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>
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 17 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 7 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_type.h | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index f61a8ce908ed..0a4b322fab6a 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
@@ -185,6 +185,16 @@ static int ixgbe_get_settings(struct net_device *netdev, | |||
185 | ADVERTISED_FIBRE); | 185 | ADVERTISED_FIBRE); |
186 | ecmd->port = PORT_FIBRE; | 186 | ecmd->port = PORT_FIBRE; |
187 | ecmd->autoneg = AUTONEG_DISABLE; | 187 | ecmd->autoneg = AUTONEG_DISABLE; |
188 | } else if ((hw->device_id == IXGBE_DEV_ID_82599_COMBO_BACKPLANE) || | ||
189 | (hw->device_id == IXGBE_DEV_ID_82599_KX4_MEZZ)) { | ||
190 | ecmd->supported |= (SUPPORTED_1000baseT_Full | | ||
191 | SUPPORTED_Autoneg | | ||
192 | SUPPORTED_FIBRE); | ||
193 | ecmd->advertising = (ADVERTISED_10000baseT_Full | | ||
194 | ADVERTISED_1000baseT_Full | | ||
195 | ADVERTISED_Autoneg | | ||
196 | ADVERTISED_FIBRE); | ||
197 | ecmd->port = PORT_FIBRE; | ||
188 | } else { | 198 | } else { |
189 | ecmd->supported |= (SUPPORTED_1000baseT_Full | | 199 | ecmd->supported |= (SUPPORTED_1000baseT_Full | |
190 | SUPPORTED_FIBRE); | 200 | SUPPORTED_FIBRE); |
@@ -1862,6 +1872,13 @@ static int ixgbe_wol_exclusion(struct ixgbe_adapter *adapter, | |||
1862 | int retval = 1; | 1872 | int retval = 1; |
1863 | 1873 | ||
1864 | switch(hw->device_id) { | 1874 | switch(hw->device_id) { |
1875 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: | ||
1876 | /* All except this subdevice support WOL */ | ||
1877 | if (hw->subsystem_device_id == | ||
1878 | IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) { | ||
1879 | wol->supported = 0; | ||
1880 | break; | ||
1881 | } | ||
1865 | case IXGBE_DEV_ID_82599_KX4: | 1882 | case IXGBE_DEV_ID_82599_KX4: |
1866 | retval = 0; | 1883 | retval = 0; |
1867 | break; | 1884 | break; |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 10fff68088e6..af4ef29cae11 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -7088,6 +7088,13 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
7088 | goto err_sw_init; | 7088 | goto err_sw_init; |
7089 | 7089 | ||
7090 | switch (pdev->device) { | 7090 | switch (pdev->device) { |
7091 | case IXGBE_DEV_ID_82599_COMBO_BACKPLANE: | ||
7092 | /* All except this subdevice support WOL */ | ||
7093 | if (pdev->subsystem_device == | ||
7094 | IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ) { | ||
7095 | adapter->wol = 0; | ||
7096 | break; | ||
7097 | } | ||
7091 | case IXGBE_DEV_ID_82599_KX4: | 7098 | case IXGBE_DEV_ID_82599_KX4: |
7092 | adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX | | 7099 | adapter->wol = (IXGBE_WUFC_MAG | IXGBE_WUFC_EX | |
7093 | IXGBE_WUFC_MC | IXGBE_WUFC_BC); | 7100 | IXGBE_WUFC_MC | IXGBE_WUFC_BC); |
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h index 96dea7731e68..9e6908dff9bc 100644 --- a/drivers/net/ixgbe/ixgbe_type.h +++ b/drivers/net/ixgbe/ixgbe_type.h | |||
@@ -57,6 +57,7 @@ | |||
57 | #define IXGBE_DEV_ID_82599_SFP_EM 0x1507 | 57 | #define IXGBE_DEV_ID_82599_SFP_EM 0x1507 |
58 | #define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC | 58 | #define IXGBE_DEV_ID_82599_XAUI_LOM 0x10FC |
59 | #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 | 59 | #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8 |
60 | #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ 0x000C | ||
60 | 61 | ||
61 | /* General Registers */ | 62 | /* General Registers */ |
62 | #define IXGBE_CTRL 0x00000 | 63 | #define IXGBE_CTRL 0x00000 |