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_NICSTAR
150	tristate "IDT 77201 (NICStAR) (ForeRunnerLE)"
151	depends on PCI
152	help
153	  The NICStAR chipset family is used in a large number of ATM NICs for
154	  25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE
155	  series. Say Y if you have one of those.
156
157	  To compile this driver as a module, choose M here: the module will
158	  be called nicstar.
159
160config ATM_NICSTAR_USE_SUNI
161	bool "Use suni PHY driver (155Mbps)"
162	depends on ATM_NICSTAR
163	help
164	  Support for the S-UNI and compatible PHYsical layer chips. These are
165	  found in most 155Mbps NICStAR based ATM cards, namely in the
166	  ForeRunner LE155 cards. This driver provides detection of cable~
167	  removal and reinsertion and provides some statistics. This driver
168	  doesn't have removal capability when compiled as a module, so if you
169	  need that capability don't include S-UNI support (it's not needed to
170	  make the card work).
171
172config ATM_NICSTAR_USE_IDT77105
173	bool "Use IDT77105 PHY driver (25Mbps)"
174	depends on ATM_NICSTAR
175	help
176	  Support for the PHYsical layer chip in ForeRunner LE25 cards. In
177	  addition to cable removal/reinsertion detection, this driver allows
178	  you to control the loopback mode of the chip via a dedicated IOCTL.
179	  This driver is required for proper handling of temporary carrier
180	  loss, so if you have a 25Mbps NICStAR based ATM card you must say Y.
181
182config ATM_IDT77252
183	tristate "IDT 77252 (NICStAR II)"
184	depends on PCI
185	help
186	  Driver for the IDT 77252 ATM PCI chips.
187
188	  To compile this driver as a module, choose M here: the module will
189	  be called idt77252.
190
191config ATM_IDT77252_DEBUG
192	bool "Enable debugging messages"
193	depends on ATM_IDT77252
194	help
195	  Somewhat useful debugging messages are available. The choice of
196	  messages is controlled by a bitmap.  This may be specified as a
197	  module argument.  See the file <file:drivers/atm/idt77252.h> for
198	  the meanings of the bits in the mask.
199
200	  When active, these messages can have a significant impact on the
201	  speed of the driver, and the size of your syslog files! When
202	  inactive, they will have only a modest impact on performance.
203
204config ATM_IDT77252_RCV_ALL
205	bool "Receive ALL cells in raw queue"
206	depends on ATM_IDT77252
207	help
208	  Enable receiving of all cells on the ATM link, that do not match
209	  an open connection in the raw cell queue of the driver.  Useful
210	  for debugging or special applications only, so the safe answer is N.
211
212config ATM_IDT77252_USE_SUNI
213	bool
214	depends on ATM_IDT77252
215	default y
216
217config ATM_IA
218	tristate "Interphase ATM PCI x575/x525/x531"
219	depends on PCI
220	help
221	  This is a driver for the Interphase (i)ChipSAR adapter cards
222	  which include a variety of variants in term of the size of the
223	  control memory (128K-1KVC, 512K-4KVC), the size of the packet
224	  memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3,
225	  UTP155, UTP25, DS3 and E3). Go to:
226	  	<http://www.iphase.com/>
227	  for more info about the cards. Say Y (or M to compile as a module
228	  named iphase) here if you have one of these cards.
229
230	  See the file
231	  <file:Documentation/networking/device_drivers/atm/iphase.rst>
232	  for further details.
233
234config ATM_IA_DEBUG
235	bool "Enable debugging messages"
236	depends on ATM_IA
237	help
238	  Somewhat useful debugging messages are available. The choice of
239	  messages is controlled by a bitmap. This may be specified as a
240	  module argument (kernel command line argument as well?), changed
241	  dynamically using an ioctl (Get the debug utility, iadbg, from
242	  <ftp://ftp.iphase.com/pub/atm/pci/>).
243
244	  See the file <file:drivers/atm/iphase.h> for the meanings of the
245	  bits in the mask.
246
247	  When active, these messages can have a significant impact on the
248	  speed of the driver, and the size of your syslog files! When
249	  inactive, they will have only a modest impact on performance.
250
251config ATM_FORE200E
252	tristate "FORE Systems 200E-series"
253	depends on (PCI || SBUS)
254	select FW_LOADER
255	help
256	  This is a driver for the FORE Systems 200E-series ATM adapter
257	  cards. It simultaneously supports PCA-200E and SBA-200E models
258	  on PCI and SBUS hosts. Say Y (or M to compile as a module
259	  named fore_200e) here if you have one of these ATM adapters.
260
261	  See the file
262	  <file:Documentation/networking/device_drivers/atm/fore200e.rst> for
263	  further details.
264
265config ATM_FORE200E_USE_TASKLET
266	bool "Defer interrupt work to a tasklet"
267	depends on ATM_FORE200E
268	default n
269	help
270	  This defers work to be done by the interrupt handler to a
271	  tasklet instead of handling everything at interrupt time.  This
272	  may improve the responsive of the host.
273
274config ATM_FORE200E_TX_RETRY
275	int "Maximum number of tx retries"
276	depends on ATM_FORE200E
277	default "16"
278	help
279	  Specifies the number of times the driver attempts to transmit
280	  a message before giving up, if the transmit queue of the ATM card
281	  is transiently saturated.
282
283	  Saturation of the transmit queue may occur only under extreme
284	  conditions, e.g. when a fast host continuously submits very small
285	  frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
286
287	  Note that under common conditions, it is unlikely that you encounter
288	  a saturation of the transmit queue, so the retry mechanism never
289	  comes into play.
290
291config ATM_FORE200E_DEBUG
292	int "Debugging level (0-3)"
293	depends on ATM_FORE200E
294	default "0"
295	help
296	  Specifies the level of debugging messages issued by the driver.
297	  The verbosity of the driver increases with the value of this
298	  parameter.
299
300	  When active, these messages can have a significant impact on
301	  the performances of the driver, and the size of your syslog files!
302	  Keep the debugging level to 0 during normal operations.
303
304config ATM_HE
305	tristate "ForeRunner HE Series"
306	depends on PCI
307	help
308	  This is a driver for the Marconi ForeRunner HE-series ATM adapter
309	  cards. It simultaneously supports the 155 and 622 versions.
310
311config ATM_HE_USE_SUNI
312	bool "Use S/UNI PHY driver"
313	depends on ATM_HE
314	help
315	  Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
316	  HE cards.  This driver provides carrier detection some statistics.
317
318config ATM_SOLOS
319	tristate "Solos ADSL2+ PCI Multiport card driver"
320	depends on PCI
321	select FW_LOADER
322	help
323	  Support for the Solos multiport ADSL2+ card.
324
325endif # ATM
326