aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbevf
diff options
context:
space:
mode:
authorGreg Rose <gregory.v.rose@intel.com>2010-12-02 02:12:26 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2010-12-25 00:45:42 -0500
commit2316aa2aee254c126e688b53a3a105b82bc3f368 (patch)
tree2394b5093e7a3f589218e742087e60bac4a8360d /drivers/net/ixgbevf
parenta985b6c31ff230a1246d921afbfc0f6a1386be83 (diff)
ixgbevf: Add X540 VF device support to the ixgbevf driver
The X540 introduces a new Virtual Function device ID so that the X540 VF device can be distinguished from the 82599 VF device. The X540 VF device will have additional capability over the 82599 VF device so it is necessary to be able to discern the difference. Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ixgbevf')
-rw-r--r--drivers/net/ixgbevf/defines.h1
-rw-r--r--drivers/net/ixgbevf/ixgbevf.h4
-rw-r--r--drivers/net/ixgbevf/ixgbevf_main.c7
-rw-r--r--drivers/net/ixgbevf/vf.c6
-rw-r--r--drivers/net/ixgbevf/vf.h1
5 files changed, 15 insertions, 4 deletions
diff --git a/drivers/net/ixgbevf/defines.h b/drivers/net/ixgbevf/defines.h
index f8a807d606c7..de643eb2ada6 100644
--- a/drivers/net/ixgbevf/defines.h
+++ b/drivers/net/ixgbevf/defines.h
@@ -30,6 +30,7 @@
30 30
31/* Device IDs */ 31/* Device IDs */
32#define IXGBE_DEV_ID_82599_VF 0x10ED 32#define IXGBE_DEV_ID_82599_VF 0x10ED
33#define IXGBE_DEV_ID_X540_VF 0x1515
33 34
34#define IXGBE_VF_IRQ_CLEAR_MASK 7 35#define IXGBE_VF_IRQ_CLEAR_MASK 7
35#define IXGBE_VF_MAX_TX_QUEUES 1 36#define IXGBE_VF_MAX_TX_QUEUES 1
diff --git a/drivers/net/ixgbevf/ixgbevf.h b/drivers/net/ixgbevf/ixgbevf.h
index 0cd6abcf9306..a63efcb2cf1b 100644
--- a/drivers/net/ixgbevf/ixgbevf.h
+++ b/drivers/net/ixgbevf/ixgbevf.h
@@ -275,9 +275,11 @@ enum ixbgevf_state_t {
275 275
276enum ixgbevf_boards { 276enum ixgbevf_boards {
277 board_82599_vf, 277 board_82599_vf,
278 board_X540_vf,
278}; 279};
279 280
280extern struct ixgbevf_info ixgbevf_vf_info; 281extern struct ixgbevf_info ixgbevf_82599_vf_info;
282extern struct ixgbevf_info ixgbevf_X540_vf_info;
281extern struct ixgbe_mac_operations ixgbevf_mbx_ops; 283extern struct ixgbe_mac_operations ixgbevf_mbx_ops;
282 284
283/* needed by ethtool.c */ 285/* needed by ethtool.c */
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c
index 809e38ce8a13..464e6c9d3fc2 100644
--- a/drivers/net/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ixgbevf/ixgbevf_main.c
@@ -51,13 +51,14 @@ char ixgbevf_driver_name[] = "ixgbevf";
51static const char ixgbevf_driver_string[] = 51static const char ixgbevf_driver_string[] =
52 "Intel(R) 82599 Virtual Function"; 52 "Intel(R) 82599 Virtual Function";
53 53
54#define DRV_VERSION "1.0.12-k0" 54#define DRV_VERSION "1.0.19-k0"
55const char ixgbevf_driver_version[] = DRV_VERSION; 55const char ixgbevf_driver_version[] = DRV_VERSION;
56static char ixgbevf_copyright[] = 56static char ixgbevf_copyright[] =
57 "Copyright (c) 2009 - 2010 Intel Corporation."; 57 "Copyright (c) 2009 - 2010 Intel Corporation.";
58 58
59static const struct ixgbevf_info *ixgbevf_info_tbl[] = { 59static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
60 [board_82599_vf] = &ixgbevf_vf_info, 60 [board_82599_vf] = &ixgbevf_82599_vf_info,
61 [board_X540_vf] = &ixgbevf_X540_vf_info,
61}; 62};
62 63
63/* ixgbevf_pci_tbl - PCI Device ID Table 64/* ixgbevf_pci_tbl - PCI Device ID Table
@@ -71,6 +72,8 @@ static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
71static struct pci_device_id ixgbevf_pci_tbl[] = { 72static struct pci_device_id ixgbevf_pci_tbl[] = {
72 {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF), 73 {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF),
73 board_82599_vf}, 74 board_82599_vf},
75 {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF),
76 board_X540_vf},
74 77
75 /* required last entry */ 78 /* required last entry */
76 {0, } 79 {0, }
diff --git a/drivers/net/ixgbevf/vf.c b/drivers/net/ixgbevf/vf.c
index 971019d819b4..eecd3bf6833f 100644
--- a/drivers/net/ixgbevf/vf.c
+++ b/drivers/net/ixgbevf/vf.c
@@ -381,8 +381,12 @@ static struct ixgbe_mac_operations ixgbevf_mac_ops = {
381 .set_vfta = ixgbevf_set_vfta_vf, 381 .set_vfta = ixgbevf_set_vfta_vf,
382}; 382};
383 383
384struct ixgbevf_info ixgbevf_vf_info = { 384struct ixgbevf_info ixgbevf_82599_vf_info = {
385 .mac = ixgbe_mac_82599_vf, 385 .mac = ixgbe_mac_82599_vf,
386 .mac_ops = &ixgbevf_mac_ops, 386 .mac_ops = &ixgbevf_mac_ops,
387}; 387};
388 388
389struct ixgbevf_info ixgbevf_X540_vf_info = {
390 .mac = ixgbe_mac_X540_vf,
391 .mac_ops = &ixgbevf_mac_ops,
392};
diff --git a/drivers/net/ixgbevf/vf.h b/drivers/net/ixgbevf/vf.h
index 144c99d5363a..23eb114c149f 100644
--- a/drivers/net/ixgbevf/vf.h
+++ b/drivers/net/ixgbevf/vf.h
@@ -73,6 +73,7 @@ struct ixgbe_mac_operations {
73enum ixgbe_mac_type { 73enum ixgbe_mac_type {
74 ixgbe_mac_unknown = 0, 74 ixgbe_mac_unknown = 0,
75 ixgbe_mac_82599_vf, 75 ixgbe_mac_82599_vf,
76 ixgbe_mac_X540_vf,
76 ixgbe_num_macs 77 ixgbe_num_macs
77}; 78};
78 79