GNU Linux-libre 6.8.9-gnu
[releases.git] / drivers / net / ethernet / intel / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Intel network device configuration
4 #
5
6 config NET_VENDOR_INTEL
7         bool "Intel devices"
8         default y
9         help
10           If you have a network (Ethernet) card belonging to this class, say Y.
11
12           Note that the answer to this question doesn't directly affect the
13           kernel: saying N will just cause the configurator to skip all
14           the questions about Intel cards. If you say Y, you will be asked for
15           your specific card in the following questions.
16
17 if NET_VENDOR_INTEL
18
19 config E100
20         tristate "Intel(R) PRO/100+ support"
21         depends on PCI
22         select MII
23         help
24           This driver supports Intel(R) PRO/100 family of adapters.
25           To verify that your adapter is supported, find the board ID number
26           on the adapter. Look for a label that has a barcode and a number
27           in the format 123456-001 (six digits hyphen three digits).
28
29           Use the above information and the Adapter & Driver ID Guide that
30           can be located at:
31
32           <http://support.intel.com>
33
34           to identify the adapter.
35
36           More specific information on configuring the driver is in
37           <file:Documentation/networking/device_drivers/ethernet/intel/e100.rst>.
38
39           To compile this driver as a module, choose M here. The module
40           will be called e100.
41
42 config E1000
43         tristate "Intel(R) PRO/1000 Gigabit Ethernet support"
44         depends on PCI
45         help
46           This driver supports Intel(R) PRO/1000 gigabit ethernet family of
47           adapters.  For more information on how to identify your adapter, go
48           to the Adapter & Driver ID Guide that can be located at:
49
50           <http://support.intel.com>
51
52           More specific information on configuring the driver is in
53           <file:Documentation/networking/device_drivers/ethernet/intel/e1000.rst>.
54
55           To compile this driver as a module, choose M here. The module
56           will be called e1000.
57
58 config E1000E
59         tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
60         depends on PCI && (!SPARC32 || BROKEN)
61         depends on PTP_1588_CLOCK_OPTIONAL
62         select CRC32
63         help
64           This driver supports the PCI-Express Intel(R) PRO/1000 gigabit
65           ethernet family of adapters. For PCI or PCI-X e1000 adapters,
66           use the regular e1000 driver For more information on how to
67           identify your adapter, go to the Adapter & Driver ID Guide that
68           can be located at:
69
70           <http://support.intel.com>
71
72           More specific information on configuring the driver is in
73           <file:Documentation/networking/device_drivers/ethernet/intel/e1000e.rst>.
74
75           To compile this driver as a module, choose M here. The module
76           will be called e1000e.
77
78 config E1000E_HWTS
79         bool "Support HW cross-timestamp on PCH devices"
80         default y
81         depends on E1000E && X86
82         help
83          Say Y to enable hardware supported cross-timestamping on PCH
84          devices. The cross-timestamp is available through the PTP clock
85          driver precise cross-timestamp ioctl (PTP_SYS_OFFSET_PRECISE).
86
87 config IGB
88         tristate "Intel(R) 82575/82576 PCI-Express Gigabit Ethernet support"
89         depends on PCI
90         depends on PTP_1588_CLOCK_OPTIONAL
91         select I2C
92         select I2C_ALGOBIT
93         help
94           This driver supports Intel(R) 82575/82576 gigabit ethernet family of
95           adapters.  For more information on how to identify your adapter, go
96           to the Adapter & Driver ID Guide that can be located at:
97
98           <http://support.intel.com>
99
100           More specific information on configuring the driver is in
101           <file:Documentation/networking/device_drivers/ethernet/intel/igb.rst>.
102
103           To compile this driver as a module, choose M here. The module
104           will be called igb.
105
106 config IGB_HWMON
107         bool "Intel(R) PCI-Express Gigabit adapters HWMON support"
108         default y
109         depends on IGB && HWMON && !(IGB=y && HWMON=m)
110         help
111           Say Y if you want to expose thermal sensor data on Intel devices.
112
113           Some of our devices contain thermal sensors, both external and internal.
114           This data is available via the hwmon sysfs interface and exposes
115           the onboard sensors.
116
117 config IGB_DCA
118         bool "Direct Cache Access (DCA) Support"
119         default y
120         depends on IGB && DCA && !(IGB=y && DCA=m)
121         help
122           Say Y here if you want to use Direct Cache Access (DCA) in the
123           driver.  DCA is a method for warming the CPU cache before data
124           is used, with the intent of lessening the impact of cache misses.
125
126 config IGBVF
127         tristate "Intel(R) 82576 Virtual Function Ethernet support"
128         depends on PCI
129         help
130           This driver supports Intel(R) 82576 virtual functions.  For more
131           information on how to identify your adapter, go to the Adapter &
132           Driver ID Guide that can be located at:
133
134           <http://support.intel.com>
135
136           More specific information on configuring the driver is in
137           <file:Documentation/networking/device_drivers/ethernet/intel/igbvf.rst>.
138
139           To compile this driver as a module, choose M here. The module
140           will be called igbvf.
141
142 config IXGBE
143         tristate "Intel(R) 10GbE PCI Express adapters support"
144         depends on PCI
145         depends on PTP_1588_CLOCK_OPTIONAL
146         select MDIO
147         select PHYLIB
148         help
149           This driver supports Intel(R) 10GbE PCI Express family of
150           adapters.  For more information on how to identify your adapter, go
151           to the Adapter & Driver ID Guide that can be located at:
152
153           <http://support.intel.com>
154
155           More specific information on configuring the driver is in
156           <file:Documentation/networking/device_drivers/ethernet/intel/ixgbe.rst>.
157
158           To compile this driver as a module, choose M here. The module
159           will be called ixgbe.
160
161 config IXGBE_HWMON
162         bool "Intel(R) 10GbE PCI Express adapters HWMON support"
163         default y
164         depends on IXGBE && HWMON && !(IXGBE=y && HWMON=m)
165         help
166           Say Y if you want to expose the thermal sensor data on some of
167           our cards, via a hwmon sysfs interface.
168
169 config IXGBE_DCA
170         bool "Direct Cache Access (DCA) Support"
171         default y
172         depends on IXGBE && DCA && !(IXGBE=y && DCA=m)
173         help
174           Say Y here if you want to use Direct Cache Access (DCA) in the
175           driver.  DCA is a method for warming the CPU cache before data
176           is used, with the intent of lessening the impact of cache misses.
177
178 config IXGBE_DCB
179         bool "Data Center Bridging (DCB) Support"
180         default n
181         depends on IXGBE && DCB
182         help
183           Say Y here if you want to use Data Center Bridging (DCB) in the
184           driver.
185
186           If unsure, say N.
187
188 config IXGBE_IPSEC
189         bool "IPSec XFRM cryptography-offload acceleration"
190         depends on IXGBE
191         depends on XFRM_OFFLOAD
192         default y
193         select XFRM_ALGO
194         help
195           Enable support for IPSec offload in ixgbe.ko
196
197 config IXGBEVF
198         tristate "Intel(R) 10GbE PCI Express Virtual Function Ethernet support"
199         depends on PCI_MSI
200         help
201           This driver supports Intel(R) PCI Express virtual functions for the
202           Intel(R) ixgbe driver.  For more information on how to identify your
203           adapter, go to the Adapter & Driver ID Guide that can be located at:
204
205           <http://support.intel.com>
206
207           More specific information on configuring the driver is in
208           <file:Documentation/networking/device_drivers/ethernet/intel/ixgbevf.rst>.
209
210           To compile this driver as a module, choose M here. The module
211           will be called ixgbevf.  MSI-X interrupt support is required
212           for this driver to work correctly.
213
214 config IXGBEVF_IPSEC
215         bool "IPSec XFRM cryptography-offload acceleration"
216         depends on IXGBEVF
217         depends on XFRM_OFFLOAD
218         default y
219         select XFRM_ALGO
220         help
221           Enable support for IPSec offload in ixgbevf.ko
222
223 config I40E
224         tristate "Intel(R) Ethernet Controller XL710 Family support"
225         depends on PTP_1588_CLOCK_OPTIONAL
226         depends on PCI
227         select AUXILIARY_BUS
228         select NET_DEVLINK
229         help
230           This driver supports Intel(R) Ethernet Controller XL710 Family of
231           devices.  For more information on how to identify your adapter, go
232           to the Adapter & Driver ID Guide that can be located at:
233
234           <http://support.intel.com>
235
236           More specific information on configuring the driver is in
237           <file:Documentation/networking/device_drivers/ethernet/intel/i40e.rst>.
238
239           To compile this driver as a module, choose M here. The module
240           will be called i40e.
241
242 config I40E_DCB
243         bool "Data Center Bridging (DCB) Support"
244         default n
245         depends on I40E && DCB
246         help
247           Say Y here if you want to use Data Center Bridging (DCB) in the
248           driver.
249
250           If unsure, say N.
251
252 # this is here to allow seamless migration from I40EVF --> IAVF name
253 # so that CONFIG_IAVF symbol will always mirror the state of CONFIG_I40EVF
254 config IAVF
255         tristate
256 config I40EVF
257         tristate "Intel(R) Ethernet Adaptive Virtual Function support"
258         select IAVF
259         depends on PCI_MSI
260         help
261           This driver supports virtual functions for Intel XL710,
262           X710, X722, XXV710, and all devices advertising support for
263           Intel Ethernet Adaptive Virtual Function devices. For more
264           information on how to identify your adapter, go to the Adapter
265           & Driver ID Guide that can be located at:
266
267           <https://support.intel.com>
268
269           This driver was formerly named i40evf.
270
271           More specific information on configuring the driver is in
272           <file:Documentation/networking/device_drivers/ethernet/intel/iavf.rst>.
273
274           To compile this driver as a module, choose M here. The module
275           will be called iavf.  MSI-X interrupt support is required
276           for this driver to work correctly.
277
278 config ICE
279         tristate "Intel(R) Ethernet Connection E800 Series Support"
280         default n
281         depends on PCI_MSI
282         depends on PTP_1588_CLOCK_OPTIONAL
283         depends on GNSS || GNSS = n
284         select AUXILIARY_BUS
285         select DIMLIB
286         select NET_DEVLINK
287         select PLDMFW
288         select DPLL
289         help
290           This driver supports Intel(R) Ethernet Connection E800 Series of
291           devices.  For more information on how to identify your adapter, go
292           to the Adapter & Driver ID Guide that can be located at:
293
294           <http://support.intel.com>
295
296           More specific information on configuring the driver is in
297           <file:Documentation/networking/device_drivers/ethernet/intel/ice.rst>.
298
299           To compile this driver as a module, choose M here. The module
300           will be called ice.
301
302 config ICE_HWMON
303         bool "Intel(R) Ethernet Connection E800 Series Support HWMON support"
304         default y
305         depends on ICE && HWMON && !(ICE=y && HWMON=m)
306         help
307           Say Y if you want to expose thermal sensor data on Intel devices.
308
309           Some of our devices contain internal thermal sensors.
310           This data is available via the hwmon sysfs interface and exposes
311           the onboard sensors.
312
313 config ICE_SWITCHDEV
314         bool "Switchdev Support"
315         default y
316         depends on ICE && NET_SWITCHDEV
317         help
318           Switchdev support provides internal SRIOV packet steering and switching.
319
320           To enable it on running kernel use devlink tool:
321           #devlink dev eswitch set pci/0000:XX:XX.X mode switchdev
322
323           Say Y here if you want to use Switchdev in the driver.
324
325           If unsure, say N.
326
327 config ICE_HWTS
328         bool "Support HW cross-timestamp on platforms with PTM support"
329         default y
330         depends on ICE && X86
331         help
332           Say Y to enable hardware supported cross-timestamping on platforms
333           with PCIe PTM support. The cross-timestamp is available through
334           the PTP clock driver precise cross-timestamp ioctl
335           (PTP_SYS_OFFSET_PRECISE).
336
337 config FM10K
338         tristate "Intel(R) FM10000 Ethernet Switch Host Interface Support"
339         default n
340         depends on PCI_MSI
341         depends on PTP_1588_CLOCK_OPTIONAL
342         help
343           This driver supports Intel(R) FM10000 Ethernet Switch Host
344           Interface.  For more information on how to identify your adapter,
345           go to the Adapter & Driver ID Guide that can be located at:
346
347           <http://support.intel.com>
348
349           More specific information on configuring the driver is in
350           <file:Documentation/networking/device_drivers/ethernet/intel/fm10k.rst>.
351
352           To compile this driver as a module, choose M here. The module
353           will be called fm10k.  MSI-X interrupt support is required
354
355 config IGC
356         tristate "Intel(R) Ethernet Controller I225-LM/I225-V support"
357         default n
358         depends on PCI
359         depends on PTP_1588_CLOCK_OPTIONAL
360         help
361           This driver supports Intel(R) Ethernet Controller I225-LM/I225-V
362           family of adapters.
363
364           For more information on how to identify your adapter, go
365           to the Adapter & Driver ID Guide that can be located at:
366
367           <http://support.intel.com>
368
369           To compile this driver as a module, choose M here. The module
370           will be called igc.
371 config IDPF
372         tristate "Intel(R) Infrastructure Data Path Function Support"
373         depends on PCI_MSI
374         select DIMLIB
375         select PAGE_POOL
376         select PAGE_POOL_STATS
377         help
378           This driver supports Intel(R) Infrastructure Data Path Function
379           devices.
380
381           To compile this driver as a module, choose M here. The module
382           will be called idpf.
383
384 endif # NET_VENDOR_INTEL