igbvf: add support for i350 VF device
authorWilliams, Mitch A <mitch.a.williams@intel.com>
Thu, 9 Dec 2010 03:23:56 +0000 (03:23 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 25 Dec 2010 05:38:47 +0000 (21:38 -0800)
Add support to igbvf for the new i350 virtual function device.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/igbvf/igbvf.h
drivers/net/igbvf/netdev.c
drivers/net/igbvf/vf.h

index 9d4d63e536d40e0daedade509b35e377a7ae65d7..990c329e6c3b47ab83916a2afde5d3e41996c22b 100644 (file)
@@ -97,6 +97,7 @@ struct igbvf_adapter;
 
 enum igbvf_boards {
        board_vf,
+       board_i350_vf,
 };
 
 struct igbvf_queue_stats {
index 4fb023bce7852ba1c09ff3b0cd3e11128da70100..6352c8158e6d92f90889fe08ced2f5185d5d6550 100644 (file)
@@ -64,8 +64,16 @@ static struct igbvf_info igbvf_vf_info = {
        .init_ops               = e1000_init_function_pointers_vf,
 };
 
+static struct igbvf_info igbvf_i350_vf_info = {
+       .mac                    = e1000_vfadapt_i350,
+       .flags                  = 0,
+       .pba                    = 10,
+       .init_ops               = e1000_init_function_pointers_vf,
+};
+
 static const struct igbvf_info *igbvf_info_tbl[] = {
        [board_vf]              = &igbvf_vf_info,
+       [board_i350_vf]         = &igbvf_i350_vf_info,
 };
 
 /**
@@ -2865,6 +2873,7 @@ static struct pci_error_handlers igbvf_err_handler = {
 
 static DEFINE_PCI_DEVICE_TABLE(igbvf_pci_tbl) = {
        { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), board_vf },
+       { PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), board_i350_vf },
        { } /* terminate list */
 };
 MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl);
index c36ea21f17fa7db8f739f37a0a6f93e117649673..d7ed58fcd9bbb326c564cb7c923406dac07f4e48 100644 (file)
@@ -39,6 +39,7 @@
 struct e1000_hw;
 
 #define E1000_DEV_ID_82576_VF                 0x10CA
+#define E1000_DEV_ID_I350_VF                  0x1520
 #define E1000_REVISION_0 0
 #define E1000_REVISION_1 1
 #define E1000_REVISION_2 2
@@ -133,6 +134,7 @@ struct e1000_adv_tx_context_desc {
 enum e1000_mac_type {
        e1000_undefined = 0,
        e1000_vfadapt,
+       e1000_vfadapt_i350,
        e1000_num_macs  /* List is 1-based, so subtract 1 for true count. */
 };