18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_cimenuconfig FUSION
48c2ecf20Sopenharmony_ci	bool "Fusion MPT device support"
58c2ecf20Sopenharmony_ci	depends on PCI
68c2ecf20Sopenharmony_ci	help
78c2ecf20Sopenharmony_ci	Say Y here to get to see options for Fusion Message
88c2ecf20Sopenharmony_ci	Passing Technology (MPT) drivers.
98c2ecf20Sopenharmony_ci	This option alone does not add any kernel code.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	If you say N, all options in this submenu will be skipped and disabled.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciif FUSION
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciconfig FUSION_SPI
168c2ecf20Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for SPI"
178c2ecf20Sopenharmony_ci	depends on PCI && SCSI
188c2ecf20Sopenharmony_ci	select SCSI_SPI_ATTRS
198c2ecf20Sopenharmony_ci	help
208c2ecf20Sopenharmony_ci	  SCSI HOST support for a parallel SCSI host adapters.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	  List of supported controllers:
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	  LSI53C1020
258c2ecf20Sopenharmony_ci	  LSI53C1020A
268c2ecf20Sopenharmony_ci	  LSI53C1030
278c2ecf20Sopenharmony_ci	  LSI53C1035
288c2ecf20Sopenharmony_ci	  ATTO UL4D
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciconfig FUSION_FC
318c2ecf20Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for FC"
328c2ecf20Sopenharmony_ci	depends on PCI && SCSI
338c2ecf20Sopenharmony_ci	depends on SCSI_FC_ATTRS
348c2ecf20Sopenharmony_ci	help
358c2ecf20Sopenharmony_ci	  SCSI HOST support for a Fiber Channel host adapters.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	  List of supported controllers:
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci	  LSIFC909
408c2ecf20Sopenharmony_ci	  LSIFC919
418c2ecf20Sopenharmony_ci	  LSIFC919X
428c2ecf20Sopenharmony_ci	  LSIFC929
438c2ecf20Sopenharmony_ci	  LSIFC929X
448c2ecf20Sopenharmony_ci	  LSIFC929XL
458c2ecf20Sopenharmony_ci	  LSIFC949X
468c2ecf20Sopenharmony_ci	  LSIFC949E
478c2ecf20Sopenharmony_ci	  Brocade FC 410/420
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig FUSION_SAS
508c2ecf20Sopenharmony_ci	tristate "Fusion MPT ScsiHost drivers for SAS"
518c2ecf20Sopenharmony_ci	depends on PCI && SCSI
528c2ecf20Sopenharmony_ci	select SCSI_SAS_ATTRS
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  SCSI HOST support for a SAS host adapters.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  List of supported controllers:
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  LSISAS1064
598c2ecf20Sopenharmony_ci	  LSISAS1068
608c2ecf20Sopenharmony_ci	  LSISAS1064E
618c2ecf20Sopenharmony_ci	  LSISAS1068E
628c2ecf20Sopenharmony_ci	  LSISAS1078
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciconfig FUSION_MAX_SGE
658c2ecf20Sopenharmony_ci	int "Maximum number of scatter gather entries (16 - 128)"
668c2ecf20Sopenharmony_ci	default "128"
678c2ecf20Sopenharmony_ci	range 16 128
688c2ecf20Sopenharmony_ci	help
698c2ecf20Sopenharmony_ci	  This option allows you to specify the maximum number of scatter-
708c2ecf20Sopenharmony_ci	  gather entries per I/O. The driver default is 128, which matches
718c2ecf20Sopenharmony_ci	  SCSI_MAX_PHYS_SEGMENTS. However, it may decreased down to 16.
728c2ecf20Sopenharmony_ci	  Decreasing this parameter will reduce memory requirements
738c2ecf20Sopenharmony_ci	  on a per controller instance.
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciconfig FUSION_CTL
768c2ecf20Sopenharmony_ci	tristate "Fusion MPT misc device (ioctl) driver"
778c2ecf20Sopenharmony_ci	depends on FUSION_SPI || FUSION_FC || FUSION_SAS
788c2ecf20Sopenharmony_ci	help
798c2ecf20Sopenharmony_ci	  The Fusion MPT misc device driver provides specialized control
808c2ecf20Sopenharmony_ci	  of MPT adapters via system ioctl calls.  Use of ioctl calls to
818c2ecf20Sopenharmony_ci	  the MPT driver requires that you create and use a misc device
828c2ecf20Sopenharmony_ci	  node ala:
838c2ecf20Sopenharmony_ci	  mknod /dev/mptctl c 10 240
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  One use of this ioctl interface is to perform an upgrade (reflash)
868c2ecf20Sopenharmony_ci	  of the MPT adapter firmware.  Refer to readme file(s) distributed
878c2ecf20Sopenharmony_ci	  with the Fusion MPT linux driver for additional details.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci	  If enabled by saying M to this, a driver named: mptctl
908c2ecf20Sopenharmony_ci	  will be compiled.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci	  If unsure whether you really want or need this, say N.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ciconfig FUSION_LAN
958c2ecf20Sopenharmony_ci	tristate "Fusion MPT LAN driver"
968c2ecf20Sopenharmony_ci	depends on FUSION_FC && NET_FC
978c2ecf20Sopenharmony_ci	help
988c2ecf20Sopenharmony_ci	  This module supports LAN IP traffic over Fibre Channel port(s)
998c2ecf20Sopenharmony_ci	  on Fusion MPT compatible hardware (LSIFC9xx chips).
1008c2ecf20Sopenharmony_ci	  The physical interface used is defined in RFC 2625.
1018c2ecf20Sopenharmony_ci	  Please refer to that document for details.
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci	  Installing this driver requires the knowledge to configure and
1048c2ecf20Sopenharmony_ci	  activate a new network interface, "fc0", using standard Linux tools.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci	  If enabled by saying M to this, a driver named: mptlan
1078c2ecf20Sopenharmony_ci	  will be compiled.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  If unsure whether you really want or need this, say N.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciconfig FUSION_LOGGING
1128c2ecf20Sopenharmony_ci	bool "Fusion MPT logging facility"
1138c2ecf20Sopenharmony_ci	help
1148c2ecf20Sopenharmony_ci	  This turns on a logging facility that can be used to debug a number
1158c2ecf20Sopenharmony_ci	  of Fusion MPT related problems.
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci	  The debug level can be programmed on the fly via SysFS (hex values)
1188c2ecf20Sopenharmony_ci
1198c2ecf20Sopenharmony_ci	  echo [level] > /sys/class/scsi_host/host#/debug_level
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	  There are various debug levels that can be found in the source:
1228c2ecf20Sopenharmony_ci	  file:drivers/message/fusion/mptdebug.h
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ciendif # FUSION
125