Merge tag 'iommu-fixes-v5.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.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 <file:Documentation/networking/iphase.txt> for further
310           details.
311
312 config ATM_IA_DEBUG
313         bool "Enable debugging messages"
314         depends on ATM_IA
315         ---help---
316           Somewhat useful debugging messages are available. The choice of
317           messages is controlled by a bitmap. This may be specified as a
318           module argument (kernel command line argument as well?), changed
319           dynamically using an ioctl (Get the debug utility, iadbg, from
320           <ftp://ftp.iphase.com/pub/atm/pci/>).
321
322           See the file <file:drivers/atm/iphase.h> for the meanings of the
323           bits in the mask.
324
325           When active, these messages can have a significant impact on the
326           speed of the driver, and the size of your syslog files! When
327           inactive, they will have only a modest impact on performance.
328
329 config ATM_FORE200E
330         tristate "FORE Systems 200E-series"
331         depends on (PCI || SBUS)
332         select FW_LOADER
333         ---help---
334           This is a driver for the FORE Systems 200E-series ATM adapter
335           cards. It simultaneously supports PCA-200E and SBA-200E models
336           on PCI and SBUS hosts. Say Y (or M to compile as a module
337           named fore_200e) here if you have one of these ATM adapters.
338
339           See the file <file:Documentation/networking/fore200e.txt> for
340           further details.
341
342 config ATM_FORE200E_USE_TASKLET
343         bool "Defer interrupt work to a tasklet"
344         depends on ATM_FORE200E
345         default n
346         help
347           This defers work to be done by the interrupt handler to a
348           tasklet instead of handling everything at interrupt time.  This
349           may improve the responsive of the host.
350
351 config ATM_FORE200E_TX_RETRY
352         int "Maximum number of tx retries"
353         depends on ATM_FORE200E
354         default "16"
355         ---help---
356           Specifies the number of times the driver attempts to transmit
357           a message before giving up, if the transmit queue of the ATM card
358           is transiently saturated.
359
360           Saturation of the transmit queue may occur only under extreme
361           conditions, e.g. when a fast host continuously submits very small
362           frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
363
364           Note that under common conditions, it is unlikely that you encounter
365           a saturation of the transmit queue, so the retry mechanism never
366           comes into play.
367
368 config ATM_FORE200E_DEBUG
369         int "Debugging level (0-3)"
370         depends on ATM_FORE200E
371         default "0"
372         help
373           Specifies the level of debugging messages issued by the driver.
374           The verbosity of the driver increases with the value of this
375           parameter.
376
377           When active, these messages can have a significant impact on
378           the performances of the driver, and the size of your syslog files!
379           Keep the debugging level to 0 during normal operations.
380
381 config ATM_HE
382         tristate "ForeRunner HE Series"
383         depends on PCI
384         help
385           This is a driver for the Marconi ForeRunner HE-series ATM adapter
386           cards. It simultaneously supports the 155 and 622 versions.
387
388 config ATM_HE_USE_SUNI
389         bool "Use S/UNI PHY driver"
390         depends on ATM_HE
391         help
392           Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
393           HE cards.  This driver provides carrier detection some statistics.
394
395 config ATM_SOLOS
396         tristate "Solos ADSL2+ PCI Multiport card driver"
397         depends on PCI
398         select FW_LOADER
399         help
400           Support for the Solos multiport ADSL2+ card.
401
402 endif # ATM