mm: prevent page_frag_alloc() from corrupting the memory
[platform/kernel/linux-rpi.git] / drivers / atm / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # ATM device configuration
4 #
5
6 menuconfig ATM_DRIVERS
7         bool "ATM drivers"
8         depends on NETDEVICES && ATM
9         default y
10         help
11           Say Y here to get to see options for Asynchronous Transfer Mode
12           device drivers. This option alone does not add any kernel code.
13
14           If you say N, all options in this submenu will be skipped and disabled.
15
16 if ATM_DRIVERS && NETDEVICES && ATM
17
18 config ATM_DUMMY
19         tristate "Dummy ATM driver"
20         help
21           Dummy ATM driver. Useful for proxy signalling, testing,
22           and development.  If unsure, say N.
23
24 config ATM_TCP
25         tristate "ATM over TCP"
26         depends on INET
27         help
28           ATM over TCP driver. Useful mainly for development and for
29           experiments. If unsure, say N.
30
31 config ATM_LANAI
32         tristate "Efficient Networks Speedstream 3010"
33         depends on PCI && ATM
34         help
35           Supports ATM cards based on the Efficient Networks "Lanai"
36           chipset such as the Speedstream 3010 and the ENI-25p.  The
37           Speedstream 3060 is currently not supported since we don't
38           have the code to drive the on-board Alcatel DSL chipset (yet).
39
40 config ATM_ENI
41         tristate "Efficient Networks ENI155P"
42         depends on PCI
43         help
44           Driver for the Efficient Networks ENI155p series and SMC ATM
45           Power155 155 Mbps ATM adapters. Both, the versions with 512KB and
46           2MB on-board RAM (Efficient calls them "C" and "S", respectively),
47           and the FPGA and the ASIC Tonga versions of the board are supported.
48           The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D)
49           adapters.
50
51           To compile this driver as a module, choose M here: the module will
52           be called eni.
53
54 config ATM_ENI_DEBUG
55         bool "Enable extended debugging"
56         depends on ATM_ENI
57         help
58           Extended debugging records various events and displays that list
59           when an inconsistency is detected. This mechanism is faster than
60           generally using printks, but still has some impact on performance.
61           Note that extended debugging may create certain race conditions
62           itself. Enable this ONLY if you suspect problems with the driver.
63
64 config ATM_ENI_TUNE_BURST
65         bool "Fine-tune burst settings"
66         depends on ATM_ENI
67         help
68           In order to obtain good throughput, the ENI NIC can transfer
69           multiple words of data per PCI bus access cycle. Such a multi-word
70           transfer is called a burst.
71
72           The default settings for the burst sizes are suitable for most PCI
73           chipsets. However, in some cases, large bursts may overrun buffers
74           in the PCI chipset and cause data corruption. In such cases, large
75           bursts must be disabled and only (slower) small bursts can be used.
76           The burst sizes can be set independently in the send (TX) and
77           receive (RX) direction.
78
79           Note that enabling many different burst sizes in the same direction
80           may increase the cost of setting up a transfer such that the
81           resulting throughput is lower than when using only the largest
82           available burst size.
83
84           Also, sometimes larger bursts lead to lower throughput, e.g. on an
85           Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed
86           when going from 8W to 16W bursts.
87
88 config ATM_ENI_BURST_TX_16W
89         bool "Enable 16W TX bursts (discouraged)"
90         depends on ATM_ENI_TUNE_BURST
91         help
92           Burst sixteen words at once in the send direction. This may work
93           with recent PCI chipsets, but is known to fail with older chipsets.
94
95 config ATM_ENI_BURST_TX_8W
96         bool "Enable 8W TX bursts (recommended)"
97         depends on ATM_ENI_TUNE_BURST
98         help
99           Burst eight words at once in the send direction. This is the default
100           setting.
101
102 config ATM_ENI_BURST_TX_4W
103         bool "Enable 4W TX bursts (optional)"
104         depends on ATM_ENI_TUNE_BURST
105         help
106           Burst four words at once in the send direction. You may want to try
107           this if you have disabled 8W bursts. Enabling 4W if 8W is also set
108           may or may not improve throughput.
109
110 config ATM_ENI_BURST_TX_2W
111         bool "Enable 2W TX bursts (optional)"
112         depends on ATM_ENI_TUNE_BURST
113         help
114           Burst two words at once in the send direction. You may want to try
115           this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W
116           are also set may or may not improve throughput.
117
118 config ATM_ENI_BURST_RX_16W
119         bool "Enable 16W RX bursts (discouraged)"
120         depends on ATM_ENI_TUNE_BURST
121         help
122           Burst sixteen words at once in the receive direction. This may work
123           with recent PCI chipsets, but is known to fail with older chipsets.
124
125 config ATM_ENI_BURST_RX_8W
126         bool "Enable 8W RX bursts (discouraged)"
127         depends on ATM_ENI_TUNE_BURST
128         help
129           Burst eight words at once in the receive direction. This may work
130           with recent PCI chipsets, but is known to fail with older chipsets,
131           such as the Intel Neptune series.
132
133 config ATM_ENI_BURST_RX_4W
134         bool "Enable 4W RX bursts (recommended)"
135         depends on ATM_ENI_TUNE_BURST
136         help
137           Burst four words at once in the receive direction. This is the
138           default setting. Enabling 4W if 8W is also set may or may not
139           improve throughput.
140
141 config ATM_ENI_BURST_RX_2W
142         bool "Enable 2W RX bursts (optional)"
143         depends on ATM_ENI_TUNE_BURST
144         help
145           Burst two words at once in the receive direction. You may want to
146           try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or
147           8W are also set may or may not improve throughput.
148
149 config ATM_FIRESTREAM
150         tristate "Fujitsu FireStream (FS50/FS155) "
151         depends on PCI && VIRT_TO_BUS
152         help
153           Driver for the Fujitsu FireStream 155 (MB86697) and
154           FireStream 50 (MB86695) ATM PCI chips.
155
156           To compile this driver as a module, choose M here: the module will
157           be called firestream.
158
159 config ATM_ZATM
160         tristate "ZeitNet ZN1221/ZN1225"
161         depends on PCI && VIRT_TO_BUS
162         help
163           Driver for the ZeitNet ZN1221 (MMF) and ZN1225 (UTP-5) 155 Mbps ATM
164           adapters.
165
166           To compile this driver as a module, choose M here: the module will
167           be called zatm.
168
169 config ATM_ZATM_DEBUG
170         bool "Enable extended debugging"
171         depends on ATM_ZATM
172         help
173           Extended debugging records various events and displays that list
174           when an inconsistency is detected. This mechanism is faster than
175           generally using printks, but still has some impact on performance.
176           Note that extended debugging may create certain race conditions
177           itself. Enable this ONLY if you suspect problems with the driver.
178
179 config ATM_NICSTAR
180         tristate "IDT 77201 (NICStAR) (ForeRunnerLE)"
181         depends on PCI
182         help
183           The NICStAR chipset family is used in a large number of ATM NICs for
184           25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE
185           series. Say Y if you have one of those.
186
187           To compile this driver as a module, choose M here: the module will
188           be called nicstar.
189
190 config ATM_NICSTAR_USE_SUNI
191         bool "Use suni PHY driver (155Mbps)"
192         depends on ATM_NICSTAR
193         help
194           Support for the S-UNI and compatible PHYsical layer chips. These are
195           found in most 155Mbps NICStAR based ATM cards, namely in the
196           ForeRunner LE155 cards. This driver provides detection of cable~
197           removal and reinsertion and provides some statistics. This driver
198           doesn't have removal capability when compiled as a module, so if you
199           need that capability don't include S-UNI support (it's not needed to
200           make the card work).
201
202 config ATM_NICSTAR_USE_IDT77105
203         bool "Use IDT77105 PHY driver (25Mbps)"
204         depends on ATM_NICSTAR
205         help
206           Support for the PHYsical layer chip in ForeRunner LE25 cards. In
207           addition to cable removal/reinsertion detection, this driver allows
208           you to control the loopback mode of the chip via a dedicated IOCTL.
209           This driver is required for proper handling of temporary carrier
210           loss, so if you have a 25Mbps NICStAR based ATM card you must say Y.
211
212 config ATM_IDT77252
213         tristate "IDT 77252 (NICStAR II)"
214         depends on PCI
215         help
216           Driver for the IDT 77252 ATM PCI chips.
217
218           To compile this driver as a module, choose M here: the module will
219           be called idt77252.
220
221 config ATM_IDT77252_DEBUG
222         bool "Enable debugging messages"
223         depends on ATM_IDT77252
224         help
225           Somewhat useful debugging messages are available. The choice of
226           messages is controlled by a bitmap.  This may be specified as a
227           module argument.  See the file <file:drivers/atm/idt77252.h> for
228           the meanings of the bits in the mask.
229
230           When active, these messages can have a significant impact on the
231           speed of the driver, and the size of your syslog files! When
232           inactive, they will have only a modest impact on performance.
233
234 config ATM_IDT77252_RCV_ALL
235         bool "Receive ALL cells in raw queue"
236         depends on ATM_IDT77252
237         help
238           Enable receiving of all cells on the ATM link, that do not match
239           an open connection in the raw cell queue of the driver.  Useful
240           for debugging or special applications only, so the safe answer is N.
241
242 config ATM_IDT77252_USE_SUNI
243         bool
244         depends on ATM_IDT77252
245         default y
246
247 config ATM_AMBASSADOR
248         tristate "Madge Ambassador (Collage PCI 155 Server)"
249         depends on PCI && VIRT_TO_BUS
250         select BITREVERSE
251         help
252           This is a driver for ATMizer based ATM card produced by Madge
253           Networks Ltd. Say Y (or M to compile as a module named ambassador)
254           here if you have one of these cards.
255
256 config ATM_AMBASSADOR_DEBUG
257         bool "Enable debugging messages"
258         depends on ATM_AMBASSADOR
259         help
260           Somewhat useful debugging messages are available. The choice of
261           messages is controlled by a bitmap.  This may be specified as a
262           module argument (kernel command line argument as well?), changed
263           dynamically using an ioctl (not yet) or changed by sending the
264           string "Dxxxx" to VCI 1023 (where x is a hex digit).  See the file
265           <file:drivers/atm/ambassador.h> for the meanings of the bits in the
266           mask.
267
268           When active, these messages can have a significant impact on the
269           speed of the driver, and the size of your syslog files! When
270           inactive, they will have only a modest impact on performance.
271
272 config ATM_HORIZON
273         tristate "Madge Horizon [Ultra] (Collage PCI 25 and Collage PCI 155 Client)"
274         depends on PCI && VIRT_TO_BUS
275         help
276           This is a driver for the Horizon chipset ATM adapter cards once
277           produced by Madge Networks Ltd. Say Y (or M to compile as a module
278           named horizon) here if you have one of these cards.
279
280 config ATM_HORIZON_DEBUG
281         bool "Enable debugging messages"
282         depends on ATM_HORIZON
283         help
284           Somewhat useful debugging messages are available. The choice of
285           messages is controlled by a bitmap.  This may be specified as a
286           module argument (kernel command line argument as well?), changed
287           dynamically using an ioctl (not yet) or changed by sending the
288           string "Dxxxx" to VCI 1023 (where x is a hex digit).  See the file
289           <file:drivers/atm/horizon.h> for the meanings of the bits in the
290           mask.
291
292           When active, these messages can have a significant impact on the
293           speed of the driver, and the size of your syslog files! When
294           inactive, they will have only a modest impact on performance.
295
296 config ATM_IA
297         tristate "Interphase ATM PCI x575/x525/x531"
298         depends on PCI
299         help
300           This is a driver for the Interphase (i)ChipSAR adapter cards
301           which include a variety of variants in term of the size of the
302           control memory (128K-1KVC, 512K-4KVC), the size of the packet
303           memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3,
304           UTP155, UTP25, DS3 and E3). Go to:
305                 <http://www.iphase.com/>
306           for more info about the cards. Say Y (or M to compile as a module
307           named iphase) here if you have one of these cards.
308
309           See the file
310           <file:Documentation/networking/device_drivers/atm/iphase.rst>
311           for further details.
312
313 config ATM_IA_DEBUG
314         bool "Enable debugging messages"
315         depends on ATM_IA
316         help
317           Somewhat useful debugging messages are available. The choice of
318           messages is controlled by a bitmap. This may be specified as a
319           module argument (kernel command line argument as well?), changed
320           dynamically using an ioctl (Get the debug utility, iadbg, from
321           <ftp://ftp.iphase.com/pub/atm/pci/>).
322
323           See the file <file:drivers/atm/iphase.h> for the meanings of the
324           bits in the mask.
325
326           When active, these messages can have a significant impact on the
327           speed of the driver, and the size of your syslog files! When
328           inactive, they will have only a modest impact on performance.
329
330 config ATM_FORE200E
331         tristate "FORE Systems 200E-series"
332         depends on (PCI || SBUS)
333         select FW_LOADER
334         help
335           This is a driver for the FORE Systems 200E-series ATM adapter
336           cards. It simultaneously supports PCA-200E and SBA-200E models
337           on PCI and SBUS hosts. Say Y (or M to compile as a module
338           named fore_200e) here if you have one of these ATM adapters.
339
340           See the file
341           <file:Documentation/networking/device_drivers/atm/fore200e.rst> for
342           further details.
343
344 config ATM_FORE200E_USE_TASKLET
345         bool "Defer interrupt work to a tasklet"
346         depends on ATM_FORE200E
347         default n
348         help
349           This defers work to be done by the interrupt handler to a
350           tasklet instead of handling everything at interrupt time.  This
351           may improve the responsive of the host.
352
353 config ATM_FORE200E_TX_RETRY
354         int "Maximum number of tx retries"
355         depends on ATM_FORE200E
356         default "16"
357         help
358           Specifies the number of times the driver attempts to transmit
359           a message before giving up, if the transmit queue of the ATM card
360           is transiently saturated.
361
362           Saturation of the transmit queue may occur only under extreme
363           conditions, e.g. when a fast host continuously submits very small
364           frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
365
366           Note that under common conditions, it is unlikely that you encounter
367           a saturation of the transmit queue, so the retry mechanism never
368           comes into play.
369
370 config ATM_FORE200E_DEBUG
371         int "Debugging level (0-3)"
372         depends on ATM_FORE200E
373         default "0"
374         help
375           Specifies the level of debugging messages issued by the driver.
376           The verbosity of the driver increases with the value of this
377           parameter.
378
379           When active, these messages can have a significant impact on
380           the performances of the driver, and the size of your syslog files!
381           Keep the debugging level to 0 during normal operations.
382
383 config ATM_HE
384         tristate "ForeRunner HE Series"
385         depends on PCI
386         help
387           This is a driver for the Marconi ForeRunner HE-series ATM adapter
388           cards. It simultaneously supports the 155 and 622 versions.
389
390 config ATM_HE_USE_SUNI
391         bool "Use S/UNI PHY driver"
392         depends on ATM_HE
393         help
394           Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
395           HE cards.  This driver provides carrier detection some statistics.
396
397 config ATM_SOLOS
398         tristate "Solos ADSL2+ PCI Multiport card driver"
399         depends on PCI
400         select FW_LOADER
401         help
402           Support for the Solos multiport ADSL2+ card.
403
404 endif # ATM