diff options
author | Williams, Mitch A <mitch.a.williams@intel.com> | 2010-12-08 22:23:56 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2010-12-25 00:38:47 -0500 |
commit | 031d7952ee63e1aa679f7e87700e3281f4de4ba2 (patch) | |
tree | b710b76c2615c8c7cd3c6c7b64ff96c4c5505f32 /drivers/net/igbvf | |
parent | 0e512bfc2c0cd6072387092f8d1ac8e1a758965b (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.h | 1 | ||||
-rw-r--r-- | drivers/net/igbvf/netdev.c | 9 | ||||
-rw-r--r-- | drivers/net/igbvf/vf.h | 2 |
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 | ||
98 | enum igbvf_boards { | 98 | enum igbvf_boards { |
99 | board_vf, | 99 | board_vf, |
100 | board_i350_vf, | ||
100 | }; | 101 | }; |
101 | 102 | ||
102 | struct igbvf_queue_stats { | 103 | struct 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 | ||
67 | static 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 | |||
67 | static const struct igbvf_info *igbvf_info_tbl[] = { | 74 | static 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 | ||
2866 | static DEFINE_PCI_DEVICE_TABLE(igbvf_pci_tbl) = { | 2874 | static 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 | }; |
2870 | MODULE_DEVICE_TABLE(pci, igbvf_pci_tbl); | 2879 | MODULE_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 @@ | |||
39 | struct e1000_hw; | 39 | struct 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 { | |||
133 | enum e1000_mac_type { | 134 | enum 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 | ||