config NVME_CORE
	tristate

config BLK_DEV_NVME
	tristate "NVM Express block device"
	depends on PCI && BLOCK
	select NVME_CORE
	---help---
	  The NVM Express driver is for solid state drives directly
	  connected to the PCI or PCI Express bus.  If you know you
	  don't have one of these, it is safe to answer N.

	  To compile this driver as a module, choose M here: the
	  module will be called nvme.

config BLK_DEV_NVME_SCSI
	bool "SCSI emulation for NVMe device nodes"
	depends on NVME_CORE
	---help---
	  This adds support for the SG_IO ioctl on the NVMe character
	  and block devices nodes, as well as a translation for a small
	  number of selected SCSI commands to NVMe commands to the NVMe
	  driver.  If you don't know what this means you probably want
	  to say N here, unless you run a distro that abuses the SCSI
	  emulation to provide stable device names for mount by id, like
	  some OpenSuSE and SLES versions.

config NVME_FABRICS
	tristate

config NVME_RDMA
	tristate "NVM Express over Fabrics RDMA host driver"
	depends on INFINIBAND && BLOCK
	select NVME_CORE
	select NVME_FABRICS
	select SG_POOL
	help
	  This provides support for the NVMe over Fabrics protocol using
	  the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
	  to use remote block devices exported using the NVMe protocol set.

	  To configure a NVMe over Fabrics controller use the nvme-cli tool
	  from https://github.com/linux-nvme/nvme-cli.

	  If unsure, say N.

config SNSC_NVME_RW_DSM_SEQ_REQ
	bool "Enable Sequential Request Attribute about NVM Express"
	depends on NVME_CORE
	default n
	---help---
	  This provides support for Sequential Request Attribute of DSM for
	  read/write command. One point, This config does not effect to
	  access using ioctl().

	  If you want to access data with SequentialRequest Attribute, you
	  set 1 to 'dsm_seq_req_enabled' device attribute.

config SNSC_NVME_RW_DSM_SEQ_REQ_WRITE_ONLY
	bool "Enable Sequential Request Attribute only write access"
	depends on SNSC_NVME_RW_DSM_SEQ_REQ
	---help---
	  If you set Y, SequentialRequest Attribute of DSM is turned on only
	  for write commands.

config SNSC_NVME_FORCE_ONE_QUEUE
	bool "Force one queue used for NVMe driver"
	depends on NVME_CORE
	default n
	---help---
	  If you set Y, only one IO queue is allocated and setup, and
	  blk_mq_make_request is used for NVMe driver regardless of queue
	  number to ensure r/w commands handled in sequence.
