]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/nvme/host/Kconfig
Linux 5.6-rc7
[linux.git] / drivers / nvme / host / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config NVME_CORE
3         tristate
4         select BLK_DEV_INTEGRITY_T10 if BLK_DEV_INTEGRITY
5
6 config BLK_DEV_NVME
7         tristate "NVM Express block device"
8         depends on PCI && BLOCK
9         select NVME_CORE
10         ---help---
11           The NVM Express driver is for solid state drives directly
12           connected to the PCI or PCI Express bus.  If you know you
13           don't have one of these, it is safe to answer N.
14
15           To compile this driver as a module, choose M here: the
16           module will be called nvme.
17
18 config NVME_MULTIPATH
19         bool "NVMe multipath support"
20         depends on NVME_CORE
21         ---help---
22            This option enables support for multipath access to NVMe
23            subsystems.  If this option is enabled only a single
24            /dev/nvmeXnY device will show up for each NVMe namespaces,
25            even if it is accessible through multiple controllers.
26
27 config NVME_HWMON
28         bool "NVMe hardware monitoring"
29         depends on (NVME_CORE=y && HWMON=y) || (NVME_CORE=m && HWMON)
30         help
31           This provides support for NVMe hardware monitoring. If enabled,
32           a hardware monitoring device will be created for each NVMe drive
33           in the system.
34
35           If unsure, say N.
36
37 config NVME_FABRICS
38         tristate
39
40 config NVME_RDMA
41         tristate "NVM Express over Fabrics RDMA host driver"
42         depends on INFINIBAND && INFINIBAND_ADDR_TRANS && BLOCK
43         select NVME_CORE
44         select NVME_FABRICS
45         select SG_POOL
46         help
47           This provides support for the NVMe over Fabrics protocol using
48           the RDMA (Infiniband, RoCE, iWarp) transport.  This allows you
49           to use remote block devices exported using the NVMe protocol set.
50
51           To configure a NVMe over Fabrics controller use the nvme-cli tool
52           from https://github.com/linux-nvme/nvme-cli.
53
54           If unsure, say N.
55
56 config NVME_FC
57         tristate "NVM Express over Fabrics FC host driver"
58         depends on BLOCK
59         depends on HAS_DMA
60         select NVME_CORE
61         select NVME_FABRICS
62         select SG_POOL
63         help
64           This provides support for the NVMe over Fabrics protocol using
65           the FC transport.  This allows you to use remote block devices
66           exported using the NVMe protocol set.
67
68           To configure a NVMe over Fabrics controller use the nvme-cli tool
69           from https://github.com/linux-nvme/nvme-cli.
70
71           If unsure, say N.
72
73 config NVME_TCP
74         tristate "NVM Express over Fabrics TCP host driver"
75         depends on INET
76         depends on BLK_DEV_NVME
77         select NVME_FABRICS
78         select CRYPTO_CRC32C
79         help
80           This provides support for the NVMe over Fabrics protocol using
81           the TCP transport.  This allows you to use remote block devices
82           exported using the NVMe protocol set.
83
84           To configure a NVMe over Fabrics controller use the nvme-cli tool
85           from https://github.com/linux-nvme/nvme-cli.
86
87           If unsure, say N.