162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# ATM device configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci
662306a36Sopenharmony_cimenuconfig ATM_DRIVERS
762306a36Sopenharmony_ci	bool "ATM drivers"
862306a36Sopenharmony_ci	depends on NETDEVICES && ATM
962306a36Sopenharmony_ci	default y
1062306a36Sopenharmony_ci	help
1162306a36Sopenharmony_ci	  Say Y here to get to see options for Asynchronous Transfer Mode
1262306a36Sopenharmony_ci	  device drivers. This option alone does not add any kernel code.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciif ATM_DRIVERS && NETDEVICES && ATM
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig ATM_DUMMY
1962306a36Sopenharmony_ci	tristate "Dummy ATM driver"
2062306a36Sopenharmony_ci	help
2162306a36Sopenharmony_ci	  Dummy ATM driver. Useful for proxy signalling, testing,
2262306a36Sopenharmony_ci	  and development.  If unsure, say N.
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciconfig ATM_TCP
2562306a36Sopenharmony_ci	tristate "ATM over TCP"
2662306a36Sopenharmony_ci	depends on INET
2762306a36Sopenharmony_ci	help
2862306a36Sopenharmony_ci	  ATM over TCP driver. Useful mainly for development and for
2962306a36Sopenharmony_ci	  experiments. If unsure, say N.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciconfig ATM_LANAI
3262306a36Sopenharmony_ci	tristate "Efficient Networks Speedstream 3010"
3362306a36Sopenharmony_ci	depends on PCI && ATM
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  Supports ATM cards based on the Efficient Networks "Lanai"
3662306a36Sopenharmony_ci	  chipset such as the Speedstream 3010 and the ENI-25p.  The
3762306a36Sopenharmony_ci	  Speedstream 3060 is currently not supported since we don't
3862306a36Sopenharmony_ci	  have the code to drive the on-board Alcatel DSL chipset (yet).
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciconfig ATM_ENI
4162306a36Sopenharmony_ci	tristate "Efficient Networks ENI155P"
4262306a36Sopenharmony_ci	depends on PCI
4362306a36Sopenharmony_ci	help
4462306a36Sopenharmony_ci	  Driver for the Efficient Networks ENI155p series and SMC ATM
4562306a36Sopenharmony_ci	  Power155 155 Mbps ATM adapters. Both, the versions with 512KB and
4662306a36Sopenharmony_ci	  2MB on-board RAM (Efficient calls them "C" and "S", respectively),
4762306a36Sopenharmony_ci	  and the FPGA and the ASIC Tonga versions of the board are supported.
4862306a36Sopenharmony_ci	  The driver works with MMF (-MF or ...F) and UTP-5 (-U5 or ...D)
4962306a36Sopenharmony_ci	  adapters.
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
5262306a36Sopenharmony_ci	  be called eni.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig ATM_ENI_DEBUG
5562306a36Sopenharmony_ci	bool "Enable extended debugging"
5662306a36Sopenharmony_ci	depends on ATM_ENI
5762306a36Sopenharmony_ci	help
5862306a36Sopenharmony_ci	  Extended debugging records various events and displays that list
5962306a36Sopenharmony_ci	  when an inconsistency is detected. This mechanism is faster than
6062306a36Sopenharmony_ci	  generally using printks, but still has some impact on performance.
6162306a36Sopenharmony_ci	  Note that extended debugging may create certain race conditions
6262306a36Sopenharmony_ci	  itself. Enable this ONLY if you suspect problems with the driver.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig ATM_ENI_TUNE_BURST
6562306a36Sopenharmony_ci	bool "Fine-tune burst settings"
6662306a36Sopenharmony_ci	depends on ATM_ENI
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  In order to obtain good throughput, the ENI NIC can transfer
6962306a36Sopenharmony_ci	  multiple words of data per PCI bus access cycle. Such a multi-word
7062306a36Sopenharmony_ci	  transfer is called a burst.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci	  The default settings for the burst sizes are suitable for most PCI
7362306a36Sopenharmony_ci	  chipsets. However, in some cases, large bursts may overrun buffers
7462306a36Sopenharmony_ci	  in the PCI chipset and cause data corruption. In such cases, large
7562306a36Sopenharmony_ci	  bursts must be disabled and only (slower) small bursts can be used.
7662306a36Sopenharmony_ci	  The burst sizes can be set independently in the send (TX) and
7762306a36Sopenharmony_ci	  receive (RX) direction.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci	  Note that enabling many different burst sizes in the same direction
8062306a36Sopenharmony_ci	  may increase the cost of setting up a transfer such that the
8162306a36Sopenharmony_ci	  resulting throughput is lower than when using only the largest
8262306a36Sopenharmony_ci	  available burst size.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci	  Also, sometimes larger bursts lead to lower throughput, e.g. on an
8562306a36Sopenharmony_ci	  Intel 440FX board, a drop from 135 Mbps to 103 Mbps was observed
8662306a36Sopenharmony_ci	  when going from 8W to 16W bursts.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig ATM_ENI_BURST_TX_16W
8962306a36Sopenharmony_ci	bool "Enable 16W TX bursts (discouraged)"
9062306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  Burst sixteen words at once in the send direction. This may work
9362306a36Sopenharmony_ci	  with recent PCI chipsets, but is known to fail with older chipsets.
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ciconfig ATM_ENI_BURST_TX_8W
9662306a36Sopenharmony_ci	bool "Enable 8W TX bursts (recommended)"
9762306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
9862306a36Sopenharmony_ci	help
9962306a36Sopenharmony_ci	  Burst eight words at once in the send direction. This is the default
10062306a36Sopenharmony_ci	  setting.
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ciconfig ATM_ENI_BURST_TX_4W
10362306a36Sopenharmony_ci	bool "Enable 4W TX bursts (optional)"
10462306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  Burst four words at once in the send direction. You may want to try
10762306a36Sopenharmony_ci	  this if you have disabled 8W bursts. Enabling 4W if 8W is also set
10862306a36Sopenharmony_ci	  may or may not improve throughput.
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ciconfig ATM_ENI_BURST_TX_2W
11162306a36Sopenharmony_ci	bool "Enable 2W TX bursts (optional)"
11262306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
11362306a36Sopenharmony_ci	help
11462306a36Sopenharmony_ci	  Burst two words at once in the send direction. You may want to try
11562306a36Sopenharmony_ci	  this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or 8W
11662306a36Sopenharmony_ci	  are also set may or may not improve throughput.
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ciconfig ATM_ENI_BURST_RX_16W
11962306a36Sopenharmony_ci	bool "Enable 16W RX bursts (discouraged)"
12062306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
12162306a36Sopenharmony_ci	help
12262306a36Sopenharmony_ci	  Burst sixteen words at once in the receive direction. This may work
12362306a36Sopenharmony_ci	  with recent PCI chipsets, but is known to fail with older chipsets.
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ciconfig ATM_ENI_BURST_RX_8W
12662306a36Sopenharmony_ci	bool "Enable 8W RX bursts (discouraged)"
12762306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
12862306a36Sopenharmony_ci	help
12962306a36Sopenharmony_ci	  Burst eight words at once in the receive direction. This may work
13062306a36Sopenharmony_ci	  with recent PCI chipsets, but is known to fail with older chipsets,
13162306a36Sopenharmony_ci	  such as the Intel Neptune series.
13262306a36Sopenharmony_ci
13362306a36Sopenharmony_ciconfig ATM_ENI_BURST_RX_4W
13462306a36Sopenharmony_ci	bool "Enable 4W RX bursts (recommended)"
13562306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
13662306a36Sopenharmony_ci	help
13762306a36Sopenharmony_ci	  Burst four words at once in the receive direction. This is the
13862306a36Sopenharmony_ci	  default setting. Enabling 4W if 8W is also set may or may not
13962306a36Sopenharmony_ci	  improve throughput.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ciconfig ATM_ENI_BURST_RX_2W
14262306a36Sopenharmony_ci	bool "Enable 2W RX bursts (optional)"
14362306a36Sopenharmony_ci	depends on ATM_ENI_TUNE_BURST
14462306a36Sopenharmony_ci	help
14562306a36Sopenharmony_ci	  Burst two words at once in the receive direction. You may want to
14662306a36Sopenharmony_ci	  try this if you have disabled 4W and 8W bursts. Enabling 2W if 4W or
14762306a36Sopenharmony_ci	  8W are also set may or may not improve throughput.
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ciconfig ATM_NICSTAR
15062306a36Sopenharmony_ci	tristate "IDT 77201 (NICStAR) (ForeRunnerLE)"
15162306a36Sopenharmony_ci	depends on PCI
15262306a36Sopenharmony_ci	help
15362306a36Sopenharmony_ci	  The NICStAR chipset family is used in a large number of ATM NICs for
15462306a36Sopenharmony_ci	  25 and for 155 Mbps, including IDT cards and the Fore ForeRunnerLE
15562306a36Sopenharmony_ci	  series. Say Y if you have one of those.
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
15862306a36Sopenharmony_ci	  be called nicstar.
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ciconfig ATM_NICSTAR_USE_SUNI
16162306a36Sopenharmony_ci	bool "Use suni PHY driver (155Mbps)"
16262306a36Sopenharmony_ci	depends on ATM_NICSTAR
16362306a36Sopenharmony_ci	help
16462306a36Sopenharmony_ci	  Support for the S-UNI and compatible PHYsical layer chips. These are
16562306a36Sopenharmony_ci	  found in most 155Mbps NICStAR based ATM cards, namely in the
16662306a36Sopenharmony_ci	  ForeRunner LE155 cards. This driver provides detection of cable~
16762306a36Sopenharmony_ci	  removal and reinsertion and provides some statistics. This driver
16862306a36Sopenharmony_ci	  doesn't have removal capability when compiled as a module, so if you
16962306a36Sopenharmony_ci	  need that capability don't include S-UNI support (it's not needed to
17062306a36Sopenharmony_ci	  make the card work).
17162306a36Sopenharmony_ci
17262306a36Sopenharmony_ciconfig ATM_NICSTAR_USE_IDT77105
17362306a36Sopenharmony_ci	bool "Use IDT77105 PHY driver (25Mbps)"
17462306a36Sopenharmony_ci	depends on ATM_NICSTAR
17562306a36Sopenharmony_ci	help
17662306a36Sopenharmony_ci	  Support for the PHYsical layer chip in ForeRunner LE25 cards. In
17762306a36Sopenharmony_ci	  addition to cable removal/reinsertion detection, this driver allows
17862306a36Sopenharmony_ci	  you to control the loopback mode of the chip via a dedicated IOCTL.
17962306a36Sopenharmony_ci	  This driver is required for proper handling of temporary carrier
18062306a36Sopenharmony_ci	  loss, so if you have a 25Mbps NICStAR based ATM card you must say Y.
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ciconfig ATM_IDT77252
18362306a36Sopenharmony_ci	tristate "IDT 77252 (NICStAR II)"
18462306a36Sopenharmony_ci	depends on PCI
18562306a36Sopenharmony_ci	help
18662306a36Sopenharmony_ci	  Driver for the IDT 77252 ATM PCI chips.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci	  To compile this driver as a module, choose M here: the module will
18962306a36Sopenharmony_ci	  be called idt77252.
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ciconfig ATM_IDT77252_DEBUG
19262306a36Sopenharmony_ci	bool "Enable debugging messages"
19362306a36Sopenharmony_ci	depends on ATM_IDT77252
19462306a36Sopenharmony_ci	help
19562306a36Sopenharmony_ci	  Somewhat useful debugging messages are available. The choice of
19662306a36Sopenharmony_ci	  messages is controlled by a bitmap.  This may be specified as a
19762306a36Sopenharmony_ci	  module argument.  See the file <file:drivers/atm/idt77252.h> for
19862306a36Sopenharmony_ci	  the meanings of the bits in the mask.
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ci	  When active, these messages can have a significant impact on the
20162306a36Sopenharmony_ci	  speed of the driver, and the size of your syslog files! When
20262306a36Sopenharmony_ci	  inactive, they will have only a modest impact on performance.
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ciconfig ATM_IDT77252_RCV_ALL
20562306a36Sopenharmony_ci	bool "Receive ALL cells in raw queue"
20662306a36Sopenharmony_ci	depends on ATM_IDT77252
20762306a36Sopenharmony_ci	help
20862306a36Sopenharmony_ci	  Enable receiving of all cells on the ATM link, that do not match
20962306a36Sopenharmony_ci	  an open connection in the raw cell queue of the driver.  Useful
21062306a36Sopenharmony_ci	  for debugging or special applications only, so the safe answer is N.
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ciconfig ATM_IDT77252_USE_SUNI
21362306a36Sopenharmony_ci	bool
21462306a36Sopenharmony_ci	depends on ATM_IDT77252
21562306a36Sopenharmony_ci	default y
21662306a36Sopenharmony_ci
21762306a36Sopenharmony_ciconfig ATM_IA
21862306a36Sopenharmony_ci	tristate "Interphase ATM PCI x575/x525/x531"
21962306a36Sopenharmony_ci	depends on PCI
22062306a36Sopenharmony_ci	help
22162306a36Sopenharmony_ci	  This is a driver for the Interphase (i)ChipSAR adapter cards
22262306a36Sopenharmony_ci	  which include a variety of variants in term of the size of the
22362306a36Sopenharmony_ci	  control memory (128K-1KVC, 512K-4KVC), the size of the packet
22462306a36Sopenharmony_ci	  memory (128K, 512K, 1M), and the PHY type (Single/Multi mode OC3,
22562306a36Sopenharmony_ci	  UTP155, UTP25, DS3 and E3). Go to:
22662306a36Sopenharmony_ci	  	<http://www.iphase.com/>
22762306a36Sopenharmony_ci	  for more info about the cards. Say Y (or M to compile as a module
22862306a36Sopenharmony_ci	  named iphase) here if you have one of these cards.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci	  See the file
23162306a36Sopenharmony_ci	  <file:Documentation/networking/device_drivers/atm/iphase.rst>
23262306a36Sopenharmony_ci	  for further details.
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ciconfig ATM_IA_DEBUG
23562306a36Sopenharmony_ci	bool "Enable debugging messages"
23662306a36Sopenharmony_ci	depends on ATM_IA
23762306a36Sopenharmony_ci	help
23862306a36Sopenharmony_ci	  Somewhat useful debugging messages are available. The choice of
23962306a36Sopenharmony_ci	  messages is controlled by a bitmap. This may be specified as a
24062306a36Sopenharmony_ci	  module argument (kernel command line argument as well?), changed
24162306a36Sopenharmony_ci	  dynamically using an ioctl (Get the debug utility, iadbg, from
24262306a36Sopenharmony_ci	  <ftp://ftp.iphase.com/pub/atm/pci/>).
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci	  See the file <file:drivers/atm/iphase.h> for the meanings of the
24562306a36Sopenharmony_ci	  bits in the mask.
24662306a36Sopenharmony_ci
24762306a36Sopenharmony_ci	  When active, these messages can have a significant impact on the
24862306a36Sopenharmony_ci	  speed of the driver, and the size of your syslog files! When
24962306a36Sopenharmony_ci	  inactive, they will have only a modest impact on performance.
25062306a36Sopenharmony_ci
25162306a36Sopenharmony_ciconfig ATM_FORE200E
25262306a36Sopenharmony_ci	tristate "FORE Systems 200E-series"
25362306a36Sopenharmony_ci	depends on (PCI || SBUS)
25462306a36Sopenharmony_ci	select FW_LOADER
25562306a36Sopenharmony_ci	help
25662306a36Sopenharmony_ci	  This is a driver for the FORE Systems 200E-series ATM adapter
25762306a36Sopenharmony_ci	  cards. It simultaneously supports PCA-200E and SBA-200E models
25862306a36Sopenharmony_ci	  on PCI and SBUS hosts. Say Y (or M to compile as a module
25962306a36Sopenharmony_ci	  named fore_200e) here if you have one of these ATM adapters.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci	  See the file
26262306a36Sopenharmony_ci	  <file:Documentation/networking/device_drivers/atm/fore200e.rst> for
26362306a36Sopenharmony_ci	  further details.
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ciconfig ATM_FORE200E_USE_TASKLET
26662306a36Sopenharmony_ci	bool "Defer interrupt work to a tasklet"
26762306a36Sopenharmony_ci	depends on ATM_FORE200E
26862306a36Sopenharmony_ci	default n
26962306a36Sopenharmony_ci	help
27062306a36Sopenharmony_ci	  This defers work to be done by the interrupt handler to a
27162306a36Sopenharmony_ci	  tasklet instead of handling everything at interrupt time.  This
27262306a36Sopenharmony_ci	  may improve the responsive of the host.
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ciconfig ATM_FORE200E_TX_RETRY
27562306a36Sopenharmony_ci	int "Maximum number of tx retries"
27662306a36Sopenharmony_ci	depends on ATM_FORE200E
27762306a36Sopenharmony_ci	default "16"
27862306a36Sopenharmony_ci	help
27962306a36Sopenharmony_ci	  Specifies the number of times the driver attempts to transmit
28062306a36Sopenharmony_ci	  a message before giving up, if the transmit queue of the ATM card
28162306a36Sopenharmony_ci	  is transiently saturated.
28262306a36Sopenharmony_ci
28362306a36Sopenharmony_ci	  Saturation of the transmit queue may occur only under extreme
28462306a36Sopenharmony_ci	  conditions, e.g. when a fast host continuously submits very small
28562306a36Sopenharmony_ci	  frames (<64 bytes) or raw AAL0 cells (48 bytes) to the ATM adapter.
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ci	  Note that under common conditions, it is unlikely that you encounter
28862306a36Sopenharmony_ci	  a saturation of the transmit queue, so the retry mechanism never
28962306a36Sopenharmony_ci	  comes into play.
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ciconfig ATM_FORE200E_DEBUG
29262306a36Sopenharmony_ci	int "Debugging level (0-3)"
29362306a36Sopenharmony_ci	depends on ATM_FORE200E
29462306a36Sopenharmony_ci	default "0"
29562306a36Sopenharmony_ci	help
29662306a36Sopenharmony_ci	  Specifies the level of debugging messages issued by the driver.
29762306a36Sopenharmony_ci	  The verbosity of the driver increases with the value of this
29862306a36Sopenharmony_ci	  parameter.
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci	  When active, these messages can have a significant impact on
30162306a36Sopenharmony_ci	  the performances of the driver, and the size of your syslog files!
30262306a36Sopenharmony_ci	  Keep the debugging level to 0 during normal operations.
30362306a36Sopenharmony_ci
30462306a36Sopenharmony_ciconfig ATM_HE
30562306a36Sopenharmony_ci	tristate "ForeRunner HE Series"
30662306a36Sopenharmony_ci	depends on PCI
30762306a36Sopenharmony_ci	help
30862306a36Sopenharmony_ci	  This is a driver for the Marconi ForeRunner HE-series ATM adapter
30962306a36Sopenharmony_ci	  cards. It simultaneously supports the 155 and 622 versions.
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ciconfig ATM_HE_USE_SUNI
31262306a36Sopenharmony_ci	bool "Use S/UNI PHY driver"
31362306a36Sopenharmony_ci	depends on ATM_HE
31462306a36Sopenharmony_ci	help
31562306a36Sopenharmony_ci	  Support for the S/UNI-Ultra and S/UNI-622 found in the ForeRunner
31662306a36Sopenharmony_ci	  HE cards.  This driver provides carrier detection some statistics.
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ciconfig ATM_SOLOS
31962306a36Sopenharmony_ci	tristate "Solos ADSL2+ PCI Multiport card driver"
32062306a36Sopenharmony_ci	depends on PCI
32162306a36Sopenharmony_ci	select FW_LOADER
32262306a36Sopenharmony_ci	help
32362306a36Sopenharmony_ci	  Support for the Solos multiport ADSL2+ card.
32462306a36Sopenharmony_ci
32562306a36Sopenharmony_ciendif # ATM
326