]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ixgbevf: Add X540 VF device support to the ixgbevf driver
authorGreg Rose <gregory.v.rose@intel.com>
Thu, 2 Dec 2010 07:12:26 +0000 (07:12 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 25 Dec 2010 05:45:42 +0000 (21:45 -0800)
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>
drivers/net/ixgbevf/defines.h
drivers/net/ixgbevf/ixgbevf.h
drivers/net/ixgbevf/ixgbevf_main.c
drivers/net/ixgbevf/vf.c
drivers/net/ixgbevf/vf.h

index f8a807d606c7cd476e156feee06f19a2eac3e257..de643eb2ada657bf0de8e923c3bf9ce658ad052f 100644 (file)
@@ -30,6 +30,7 @@
 
 /* Device IDs */
 #define IXGBE_DEV_ID_82599_VF           0x10ED
+#define IXGBE_DEV_ID_X540_VF            0x1515
 
 #define IXGBE_VF_IRQ_CLEAR_MASK         7
 #define IXGBE_VF_MAX_TX_QUEUES          1
index 0cd6abcf93062a208b6a8c59e083b54f3c41e9ca..a63efcb2cf1b320f5c669c647e100449b4ccf2ce 100644 (file)
@@ -275,9 +275,11 @@ enum ixbgevf_state_t {
 
 enum ixgbevf_boards {
        board_82599_vf,
+       board_X540_vf,
 };
 
-extern struct ixgbevf_info ixgbevf_vf_info;
+extern struct ixgbevf_info ixgbevf_82599_vf_info;
+extern struct ixgbevf_info ixgbevf_X540_vf_info;
 extern struct ixgbe_mac_operations ixgbevf_mbx_ops;
 
 /* needed by ethtool.c */
index 809e38ce8a13bbfe8ded581f5de714788f6ef542..464e6c9d3fc21a46c75b91b324617bec02e17772 100644 (file)
@@ -51,13 +51,14 @@ char ixgbevf_driver_name[] = "ixgbevf";
 static const char ixgbevf_driver_string[] =
        "Intel(R) 82599 Virtual Function";
 
-#define DRV_VERSION "1.0.12-k0"
+#define DRV_VERSION "1.0.19-k0"
 const char ixgbevf_driver_version[] = DRV_VERSION;
 static char ixgbevf_copyright[] =
        "Copyright (c) 2009 - 2010 Intel Corporation.";
 
 static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
-       [board_82599_vf] = &ixgbevf_vf_info,
+       [board_82599_vf] = &ixgbevf_82599_vf_info,
+       [board_X540_vf]  = &ixgbevf_X540_vf_info,
 };
 
 /* ixgbevf_pci_tbl - PCI Device ID Table
@@ -71,6 +72,8 @@ static const struct ixgbevf_info *ixgbevf_info_tbl[] = {
 static struct pci_device_id ixgbevf_pci_tbl[] = {
        {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF),
        board_82599_vf},
+       {PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF),
+       board_X540_vf},
 
        /* required last entry */
        {0, }
index 971019d819b4798407b4b61f90b5d2442eb3f0a7..eecd3bf6833f4c6ecd75c110cbcced7ffc2825fc 100644 (file)
@@ -381,8 +381,12 @@ static struct ixgbe_mac_operations ixgbevf_mac_ops = {
        .set_vfta            = ixgbevf_set_vfta_vf,
 };
 
-struct ixgbevf_info ixgbevf_vf_info = {
+struct ixgbevf_info ixgbevf_82599_vf_info = {
        .mac = ixgbe_mac_82599_vf,
        .mac_ops = &ixgbevf_mac_ops,
 };
 
+struct ixgbevf_info ixgbevf_X540_vf_info = {
+       .mac = ixgbe_mac_X540_vf,
+       .mac_ops = &ixgbevf_mac_ops,
+};
index 144c99d5363af1108e2d050e126e09493a3c3317..23eb114c149fd21b3f41d200894976ddd9d5ff1f 100644 (file)
@@ -73,6 +73,7 @@ struct ixgbe_mac_operations {
 enum ixgbe_mac_type {
        ixgbe_mac_unknown = 0,
        ixgbe_mac_82599_vf,
+       ixgbe_mac_X540_vf,
        ixgbe_num_macs
 };