162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_cimenuconfig FUSION
462306a36Sopenharmony_ci	bool "Fusion MPT device support"
562306a36Sopenharmony_ci	depends on PCI && HAS_IOPORT
662306a36Sopenharmony_ci	help
762306a36Sopenharmony_ci	Say Y here to get to see options for Fusion Message
862306a36Sopenharmony_ci	Passing Technology (MPT) drivers.
962306a36Sopenharmony_ci	This option alone does not add any kernel code.
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci	If you say N, all options in this submenu will be skipped and disabled.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciif FUSION
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciconfig FUSION_SPI
1662306a36Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for SPI"
1762306a36Sopenharmony_ci	depends on PCI && SCSI
1862306a36Sopenharmony_ci	select SCSI_SPI_ATTRS
1962306a36Sopenharmony_ci	help
2062306a36Sopenharmony_ci	  SCSI HOST support for a parallel SCSI host adapters.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	  List of supported controllers:
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	  LSI53C1020
2562306a36Sopenharmony_ci	  LSI53C1020A
2662306a36Sopenharmony_ci	  LSI53C1030
2762306a36Sopenharmony_ci	  LSI53C1035
2862306a36Sopenharmony_ci	  ATTO UL4D
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig FUSION_FC
3162306a36Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for FC"
3262306a36Sopenharmony_ci	depends on PCI && SCSI
3362306a36Sopenharmony_ci	depends on SCSI_FC_ATTRS
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  SCSI HOST support for a Fiber Channel host adapters.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	  List of supported controllers:
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  LSIFC909
4062306a36Sopenharmony_ci	  LSIFC919
4162306a36Sopenharmony_ci	  LSIFC919X
4262306a36Sopenharmony_ci	  LSIFC929
4362306a36Sopenharmony_ci	  LSIFC929X
4462306a36Sopenharmony_ci	  LSIFC929XL
4562306a36Sopenharmony_ci	  LSIFC949X
4662306a36Sopenharmony_ci	  LSIFC949E
4762306a36Sopenharmony_ci	  Brocade FC 410/420
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig FUSION_SAS
5062306a36Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for SAS"
5162306a36Sopenharmony_ci	depends on PCI && SCSI
5262306a36Sopenharmony_ci	select SCSI_SAS_ATTRS
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  SCSI HOST support for a SAS host adapters.
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	  List of supported controllers:
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	  LSISAS1064
5962306a36Sopenharmony_ci	  LSISAS1068
6062306a36Sopenharmony_ci	  LSISAS1064E
6162306a36Sopenharmony_ci	  LSISAS1068E
6262306a36Sopenharmony_ci	  LSISAS1078
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ciconfig FUSION_MAX_SGE
6562306a36Sopenharmony_ci	int "Maximum number of scatter gather entries (16 - 128)"
6662306a36Sopenharmony_ci	default "128"
6762306a36Sopenharmony_ci	range 16 128
6862306a36Sopenharmony_ci	help
6962306a36Sopenharmony_ci	  This option allows you to specify the maximum number of scatter-
7062306a36Sopenharmony_ci	  gather entries per I/O. The driver default is 128, which matches
7162306a36Sopenharmony_ci	  SCSI_MAX_PHYS_SEGMENTS. However, it may decreased down to 16.
7262306a36Sopenharmony_ci	  Decreasing this parameter will reduce memory requirements
7362306a36Sopenharmony_ci	  on a per controller instance.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig FUSION_CTL
7662306a36Sopenharmony_ci	tristate "Fusion MPT misc device (ioctl) driver"
7762306a36Sopenharmony_ci	depends on FUSION_SPI || FUSION_FC || FUSION_SAS
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  The Fusion MPT misc device driver provides specialized control
8062306a36Sopenharmony_ci	  of MPT adapters via system ioctl calls.  Use of ioctl calls to
8162306a36Sopenharmony_ci	  the MPT driver requires that you create and use a misc device
8262306a36Sopenharmony_ci	  node ala:
8362306a36Sopenharmony_ci	  mknod /dev/mptctl c 10 240
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	  One use of this ioctl interface is to perform an upgrade (reflash)
8662306a36Sopenharmony_ci	  of the MPT adapter firmware.  Refer to readme file(s) distributed
8762306a36Sopenharmony_ci	  with the Fusion MPT linux driver for additional details.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci	  If enabled by saying M to this, a driver named: mptctl
9062306a36Sopenharmony_ci	  will be compiled.
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	  If unsure whether you really want or need this, say N.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciconfig FUSION_LAN
9562306a36Sopenharmony_ci	tristate "Fusion MPT LAN driver"
9662306a36Sopenharmony_ci	depends on FUSION_FC && NET_FC
9762306a36Sopenharmony_ci	help
9862306a36Sopenharmony_ci	  This module supports LAN IP traffic over Fibre Channel port(s)
9962306a36Sopenharmony_ci	  on Fusion MPT compatible hardware (LSIFC9xx chips).
10062306a36Sopenharmony_ci	  The physical interface used is defined in RFC 2625.
10162306a36Sopenharmony_ci	  Please refer to that document for details.
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci	  Installing this driver requires the knowledge to configure and
10462306a36Sopenharmony_ci	  activate a new network interface, "fc0", using standard Linux tools.
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci	  If enabled by saying M to this, a driver named: mptlan
10762306a36Sopenharmony_ci	  will be compiled.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci	  If unsure whether you really want or need this, say N.
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ciconfig FUSION_LOGGING
11262306a36Sopenharmony_ci	bool "Fusion MPT logging facility"
11362306a36Sopenharmony_ci	help
11462306a36Sopenharmony_ci	  This turns on a logging facility that can be used to debug a number
11562306a36Sopenharmony_ci	  of Fusion MPT related problems.
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci	  The debug level can be programmed on the fly via SysFS (hex values)
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci	  echo [level] > /sys/class/scsi_host/host#/debug_level
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	  There are various debug levels that can be found in the source:
12262306a36Sopenharmony_ci	  file:drivers/message/fusion/mptdebug.h
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciendif # FUSION
125