xref: /openbmc/linux/drivers/atm/Kconfig (revision 7a010c3c)
1# SPDX-License-Identifier: GPL-2.0
2#
3# ATM device configuration
4#
5
6menuconfig 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
16if ATM_DRIVERS && NETDEVICES && ATM
17
18config 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
24config 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
31config 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
40config 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
54config 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
64config 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
88config 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
95config 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
102config 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
110config 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
118config 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
125config 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
133config 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
141config 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
149config 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
159config 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
169config 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
179config 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
190config 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
202config 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
212config 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
221config 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
234config 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
242config ATM_IDT77252_USE_SUNI
243	bool
244	depends on ATM_IDT77252
245	default y
246
247config 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
256config 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
272config 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
280config 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
296config 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
313config 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
330config 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
344config 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
353config 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
370config 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
383config 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
390config 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
397config 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
404endif # ATM
405