diff options
author | Don Skidmore <donald.c.skidmore@intel.com> | 2009-01-26 23:57:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-26 23:57:51 -0500 |
commit | 1e336d0fc99f159ed636ffb9128bc84e09ccc279 (patch) | |
tree | 796cb46ff6fa222a02d188799485b5da85c2553f /drivers/net | |
parent | 5b9c3cdd55ba57a25ae586373aaff723d8150085 (diff) |
ixgbe: add support KX/KX4 device
And support for the KX/KX4 mezzanine card. Device id 0x10B6.
Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@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')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_82598.c | 9 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 12 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 2 | ||||
-rw-r--r-- | drivers/net/ixgbe/ixgbe_type.h | 1 |
4 files changed, 24 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82598.c b/drivers/net/ixgbe/ixgbe_82598.c index ad5699d9ab0d..6c7ddb96ed04 100644 --- a/drivers/net/ixgbe/ixgbe_82598.c +++ b/drivers/net/ixgbe/ixgbe_82598.c | |||
@@ -213,6 +213,10 @@ static enum ixgbe_media_type ixgbe_get_media_type_82598(struct ixgbe_hw *hw) | |||
213 | 213 | ||
214 | /* Media type for I82598 is based on device ID */ | 214 | /* Media type for I82598 is based on device ID */ |
215 | switch (hw->device_id) { | 215 | switch (hw->device_id) { |
216 | case IXGBE_DEV_ID_82598: | ||
217 | /* Default device ID is mezzanine card KX/KX4 */ | ||
218 | media_type = ixgbe_media_type_backplane; | ||
219 | break; | ||
216 | case IXGBE_DEV_ID_82598AF_DUAL_PORT: | 220 | case IXGBE_DEV_ID_82598AF_DUAL_PORT: |
217 | case IXGBE_DEV_ID_82598AF_SINGLE_PORT: | 221 | case IXGBE_DEV_ID_82598AF_SINGLE_PORT: |
218 | case IXGBE_DEV_ID_82598EB_CX4: | 222 | case IXGBE_DEV_ID_82598EB_CX4: |
@@ -1002,6 +1006,11 @@ static s32 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw) | |||
1002 | s32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; | 1006 | s32 physical_layer = IXGBE_PHYSICAL_LAYER_UNKNOWN; |
1003 | 1007 | ||
1004 | switch (hw->device_id) { | 1008 | switch (hw->device_id) { |
1009 | case IXGBE_DEV_ID_82598: | ||
1010 | /* Default device ID is mezzanine card KX/KX4 */ | ||
1011 | physical_layer = (IXGBE_PHYSICAL_LAYER_10GBASE_KX4 | | ||
1012 | IXGBE_PHYSICAL_LAYER_1000BASE_KX); | ||
1013 | break; | ||
1005 | case IXGBE_DEV_ID_82598EB_CX4: | 1014 | case IXGBE_DEV_ID_82598EB_CX4: |
1006 | case IXGBE_DEV_ID_82598_CX4_DUAL_PORT: | 1015 | case IXGBE_DEV_ID_82598_CX4_DUAL_PORT: |
1007 | physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4; | 1016 | physical_layer = IXGBE_PHYSICAL_LAYER_10GBASE_CX4; |
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index 4f6b5dfc78a2..444200fa31e7 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
@@ -130,6 +130,18 @@ static int ixgbe_get_settings(struct net_device *netdev, | |||
130 | ecmd->advertising |= ADVERTISED_1000baseT_Full; | 130 | ecmd->advertising |= ADVERTISED_1000baseT_Full; |
131 | 131 | ||
132 | ecmd->port = PORT_TP; | 132 | ecmd->port = PORT_TP; |
133 | } else if (hw->phy.media_type == ixgbe_media_type_backplane) { | ||
134 | /* Set as FIBRE until SERDES defined in kernel */ | ||
135 | switch (hw->device_id) { | ||
136 | case IXGBE_DEV_ID_82598: | ||
137 | ecmd->supported |= (SUPPORTED_1000baseT_Full | | ||
138 | SUPPORTED_FIBRE); | ||
139 | ecmd->advertising = (ADVERTISED_10000baseT_Full | | ||
140 | ADVERTISED_1000baseT_Full | | ||
141 | ADVERTISED_FIBRE); | ||
142 | ecmd->port = PORT_FIBRE; | ||
143 | break; | ||
144 | } | ||
133 | } else { | 145 | } else { |
134 | ecmd->supported |= SUPPORTED_FIBRE; | 146 | ecmd->supported |= SUPPORTED_FIBRE; |
135 | ecmd->advertising = (ADVERTISED_10000baseT_Full | | 147 | ecmd->advertising = (ADVERTISED_10000baseT_Full | |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 18d4353afa65..43980dc45e3e 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -64,6 +64,8 @@ static const struct ixgbe_info *ixgbe_info_tbl[] = { | |||
64 | * Class, Class Mask, private data (not used) } | 64 | * Class, Class Mask, private data (not used) } |
65 | */ | 65 | */ |
66 | static struct pci_device_id ixgbe_pci_tbl[] = { | 66 | static struct pci_device_id ixgbe_pci_tbl[] = { |
67 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598), | ||
68 | board_82598 }, | ||
67 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), | 69 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_DUAL_PORT), |
68 | board_82598 }, | 70 | board_82598 }, |
69 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), | 71 | {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82598AF_SINGLE_PORT), |
diff --git a/drivers/net/ixgbe/ixgbe_type.h b/drivers/net/ixgbe/ixgbe_type.h index f011c57c9205..e43f0c7c3412 100644 --- a/drivers/net/ixgbe/ixgbe_type.h +++ b/drivers/net/ixgbe/ixgbe_type.h | |||
@@ -34,6 +34,7 @@ | |||
34 | #define IXGBE_INTEL_VENDOR_ID 0x8086 | 34 | #define IXGBE_INTEL_VENDOR_ID 0x8086 |
35 | 35 | ||
36 | /* Device IDs */ | 36 | /* Device IDs */ |
37 | #define IXGBE_DEV_ID_82598 0x10B6 | ||
37 | #define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6 | 38 | #define IXGBE_DEV_ID_82598AF_DUAL_PORT 0x10C6 |
38 | #define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 | 39 | #define IXGBE_DEV_ID_82598AF_SINGLE_PORT 0x10C7 |
39 | #define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB | 40 | #define IXGBE_DEV_ID_82598EB_SFP_LOM 0x10DB |