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