aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/igbvf
diff options
context:
space:
mode:
authorWilliams, Mitch A <mitch.a.williams@intel.com>2010-12-08 22:23:56 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2010-12-25 00:38:47 -0500
commit031d7952ee63e1aa679f7e87700e3281f4de4ba2 (patch)
treeb710b76c2615c8c7cd3c6c7b64ff96c4c5505f32 /drivers/net/igbvf
parent0e512bfc2c0cd6072387092f8d1ac8e1a758965b (diff)
igbvf: add support for i350 VF device
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>
Diffstat (limited to 'drivers/net/igbvf')
-rw-r--r--drivers/net/igbvf/igbvf.h1
-rw-r--r--drivers/net/igbvf/netdev.c9
-rw-r--r--drivers/net/igbvf/vf.h2
3 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/igbvf/igbvf.h b/drivers/net/igbvf/igbvf.h
index 9d4d63e536d4..990c329e6c3b 100644
--- a/drivers/net/igbvf/igbvf.h
+++ b/drivers/net/igbvf/igbvf.h
@@ -97,6 +97,7 @@ struct igbvf_adapter;
97 97
98enum igbvf_boards { 98enum igbvf_boards {
99 board_vf, 99 board_vf,
100 board_i350_vf,
100}; 101};
101 102
102struct igbvf_queue_stats { 103struct igbvf_queue_stats {
diff --git a/drivers/net/igbvf/netdev.c b/drivers/net/igbvf/netdev.c
index 4fb023bce785..6352c8158e6d 100644
--- a/drivers/net/igbvf/netdev.c
+++ b/drivers/net/igbvf/netdev.c
@@ -64,8 +64,16 @@ static struct igbvf_info igbvf_vf_info = {
64 .init_ops = e1000_init_function_pointers_vf, 64 .init_ops = e1000_init_function_pointers_vf,
65}; 65};
66 66
67static struct igbvf_info igbvf_i350_vf_info = {
68 .mac = e1000_vfadapt_i350,
69 .flags = 0,
70 .pba = 10,
71 .init_ops = e1000_init_function_pointers_vf,
72};
73
67static const struct igbvf_info *igbvf_info_tbl[] = { 74static const struct igbvf_info *igbvf_info_tbl[] = {
68 [board_vf] = &igbvf_vf_info, 75 [board_vf] = &igbvf_vf_info,
76 [board_i350_vf] = &igbvf_i350_vf_info,
69}; 77};
70 78
71/** 79/**
@@ -2865,6 +2873,7 @@ static struct pci_error_handlers igbvf_err_handler = {
2865 2873
2866static DEFINE_PCI_DEVICE_TABLE(igbvf_pci_tbl) = { 2874static DEFINE_PCI_DEVICE_TABLE(igbvf_pci_tbl) = {
2867 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), board_vf }, 2875 { PCI_VDEVICE(INTEL, E1000_DEV_ID_82576_VF), board_vf },
2876 { PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_VF), board_i350_vf },
2868 { } /* terminate list */ 2877 { } /* terminate list */
2869}; 2878};
2870MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl); 2879MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl);
diff --git a/drivers/net/igbvf/vf.h b/drivers/net/igbvf/vf.h
index c36ea21f17fa..d7ed58fcd9bb 100644
--- a/drivers/net/igbvf/vf.h
+++ b/drivers/net/igbvf/vf.h
@@ -39,6 +39,7 @@
39struct e1000_hw; 39struct e1000_hw;
40 40
41#define E1000_DEV_ID_82576_VF 0x10CA 41#define E1000_DEV_ID_82576_VF 0x10CA
42#define E1000_DEV_ID_I350_VF 0x1520
42#define E1000_REVISION_0 0 43#define E1000_REVISION_0 0
43#define E1000_REVISION_1 1 44#define E1000_REVISION_1 1
44#define E1000_REVISION_2 2 45#define E1000_REVISION_2 2
@@ -133,6 +134,7 @@ struct e1000_adv_tx_context_desc {
133enum e1000_mac_type { 134enum e1000_mac_type {
134 e1000_undefined = 0, 135 e1000_undefined = 0,
135 e1000_vfadapt, 136 e1000_vfadapt,
137 e1000_vfadapt_i350,
136 e1000_num_macs /* List is 1-based, so subtract 1 for true count. */ 138 e1000_num_macs /* List is 1-based, so subtract 1 for true count. */
137}; 139};
138 140