| /linux/drivers/nvme/host/ |
| H A D | Kconfig | 15 module will be called nvme. 18 bool "NVMe multipath support" 21 This option controls support for multipath access to NVMe 22 subsystems. If this option is enabled support for NVMe multipath 24 for NVMe multipath access is excluded from the kernel. When this 26 own /dev/nvmeXnY device entry and NVMe multipath access is 32 bool "NVMe verbose error reporting" 35 This option enables verbose reporting for NVMe errors. The 40 bool "NVMe hardware monitoring" 43 This provides support for NVMe hardware monitoring. If enabled, [all …]
|
| H A D | Makefile | 5 obj-$(CONFIG_NVME_CORE) += nvme-core.o 6 obj-$(CONFIG_BLK_DEV_NVME) += nvme.o 7 obj-$(CONFIG_NVME_FABRICS) += nvme-fabrics.o 8 obj-$(CONFIG_NVME_RDMA) += nvme-rdma.o 9 obj-$(CONFIG_NVME_FC) += nvme-fc.o 10 obj-$(CONFIG_NVME_TCP) += nvme-tcp.o 11 obj-$(CONFIG_NVME_APPLE) += nvme-apple.o 13 nvme-core-y += core.o ioctl.o sysfs.o pr.o 14 nvme-core-$(CONFIG_NVME_VERBOSE_ERRORS) += constants.o 15 nvme-core-$(CONFIG_TRACING) += trace.o [all …]
|
| H A D | fabrics.c | 3 * NVMe over Fabrics common host code. 13 #include "nvme.h" 15 #include <linux/nvme-keyring.h> 126 * @ctrl: Host NVMe controller instance which we got the address 152 * nvmf_reg_read32() - NVMe Fabrics "Property Get" API function. 153 * @ctrl: Host NVMe controller instance maintaining the admin 155 * the allocated NVMe controller resource on the target system. 157 * register (see the fabrics section of the NVMe standard). 162 * from an NVMe controller on the target system. 165 * NVMe fabrics space.) [all …]
|
| H A D | fabrics.h | 3 * NVMe over Fabrics common host code. 76 * on adding a NVMe controller. 81 * better description) that will be used by an NVMe controller 84 * in the NVMe specification, "NVMe Qualified Names"). 89 * @host_traddr: A transport-specific field identifying the NVME host port 91 * @host_iface: A transport-specific field identifying the NVME host 98 * @host: Virtual NVMe host, contains the NQN and Host ID. 147 * fabric implementation of NVMe fabrics. 151 * @name: Name of the NVMe fabric driver implementation. 153 * when adding a new NVMe controller. [all …]
|
| H A D | trace.h | 8 #define TRACE_SYSTEM nvme 13 #include <linux/nvme.h> 17 #include "nvme.h" 75 TP_printk("nvme%d: %sqid=%d, cmdid=%u, nsid=%u, flags=0x%x, meta=0x%x, cmd=(%s %s)", 108 TP_printk("nvme%d: %sqid=%d, cmdid=%u, res=%#llx, retries=%u, flags=0x%x, status=%#x", 128 TP_printk("nvme%d: NVME_AEN=%#08x [%s]", 158 TP_printk("nvme%d: %sqid=%d, head=%u, tail=%u",
|
| /linux/drivers/nvme/target/ |
| H A D | Kconfig | 4 tristate "NVMe Target support" 11 This enabled target side support for the NVMe protocol, that is 12 it allows the Linux kernel to implement NVMe subsystems and 13 controllers and export Linux block devices as NVMe namespaces. 17 To configure the NVMe target you probably want to use the nvmetcli 21 bool "NVMe Target debugfs support" 30 bool "NVMe Target Passthrough support" 34 This enables target side NVMe passthru controller support for the 35 NVMe Over Fabrics protocol. It allows for hosts to manage and 36 directly access an actual NVMe controller residing on the target [all …]
|
| /linux/Documentation/nvme/ |
| H A D | nvme-pci-endpoint-target.rst | 4 NVMe PCI Endpoint Function Target 9 The NVMe PCI endpoint function target driver implements an NVMe PCIe controller 10 using an NVMe fabrics target controller configured with the PCI transport type. 15 The NVMe PCI endpoint function target driver allows exposing an NVMe target 16 controller over a PCIe link, thus implementing an NVMe PCIe device similar to a 18 using NVMe over fabrics: the controller represents the interface to an NVMe 21 files or block devices, or can use NVMe passthrough to expose to the PCI host an 22 existing physical NVMe device or an NVMe fabrics host controller (e.g. a NVMe 25 The NVMe PCI endpoint function target driver relies as much as possible on the 26 NVMe target core code to parse and execute NVMe commands submitted by the PCIe [all …]
|
| H A D | feature-and-quirk-policy.rst | 4 Linux NVMe feature and quirk policy 8 Linux NVMe driver and what is not. 16 The Linux NVMe host driver in drivers/nvme/host/ supports devices 17 implementing the NVM Express (NVMe) family of specifications, which 20 - the NVMe Base specification 23 - the NVMe Management Interface specification 25 See https://nvmexpress.org/developers/ for the NVMe specifications. 31 NVMe is a large suite of specifications, and contains features that are only 36 maintainability of the NVMe host driver. 38 Any feature implemented in the Linux NVMe host driver must support the [all …]
|
| /linux/drivers/scsi/qla2xxx/ |
| H A D | qla_nvme.c | 9 #include <linux/nvme.h> 10 #include <linux/nvme-fc.h> 46 "%s: Not registering target since Host NVME is not enabled\n", in qla_nvme_register_remote() 113 /* Allocate a queue for NVMe traffic */ 169 struct srb_iocb *nvme; in qla_nvme_release_fcp_cmd_kref() local 175 nvme = &sp->u.iocb_cmd; in qla_nvme_release_fcp_cmd_kref() 176 fd = nvme->u.nvme.desc; in qla_nvme_release_fcp_cmd_kref() 182 fd->rcv_rsplen = le16_to_cpu(nvme->u.nvme.rsp_pyld_len); in qla_nvme_release_fcp_cmd_kref() 314 __func__, sp, sp->handle, fcport, sp->u.iocb_cmd.u.nvme.desc, fcport->deleted); in qla_nvme_abort_work() 373 struct srb_iocb *nvme; in qla_nvme_xmt_ls_rsp() local [all …]
|
| H A D | qla_nvme.h | 11 #include <linux/nvme-fc-driver.h> 44 #define COMMAND_NVME 0x88 /* Command Type FC-NVMe IOCB */ 56 __le16 nvme_rsp_dsd_len; /* NVMe RSP DSD length */ 111 #define PT_LS4_UNSOL 0x56 /* pass-up unsolicited rec FC-NVMe request */
|
| /linux/include/linux/ |
| H A D | nvme-fc-driver.h | 14 * ********************** FC-NVME LS API ******************** 16 * Data structures used by both FC-NVME hosts and FC-NVME 17 * targets to perform FC-NVME LS requests or transmit 25 * to the LLDD to perform a NVME-FC LS request and obtain 27 * Used by nvme-fc transport (host) to send LS's such as 71 * to request the transmit the NVME-FC LS response to a 72 * NVME-FC LS request. The structure originates in the LLDD 75 * FC exchange context for the NVME-FC LS request that was 80 * Used by the LLDD to pass the nvme-fc transport (host) 86 * or nvme-fc layer via the xxx_rcv_ls_req() transport routines. [all …]
|
| H A D | nvme-tcp.h | 3 * NVMe over Fabrics TCP protocol header. 10 #include <linux/nvme.h> 64 * struct nvme_tcp_hdr - nvme tcp pdu common header 81 * struct nvme_tcp_icreq_pdu - nvme tcp initialize connection request pdu 99 * struct nvme_tcp_icresp_pdu - nvme tcp initialize connection response pdu 117 * struct nvme_tcp_term_pdu - nvme tcp terminate connection pdu 132 * struct nvme_tcp_cmd_pdu - nvme tcp command capsule pdu 135 * @cmd: nvme command 143 * struct nvme_tcp_rsp_pdu - nvme tcp response capsule pdu 146 * @hdr: nvme-tcp generic header [all …]
|
| H A D | nvme-fc.h | 7 * This file contains definitions relative to FC-NVME-2 r1.08 19 /* FC-NVME Cmd IU Flags */ 114 /* FC-NVME Link Services - LS cmd values (w0 bits 31:24) */ 125 /* FC-NVME Link Service Descriptors */ 162 /* FC-NVME LS RJT reason_code values */ 195 /* FC-NVME LS RJT reason_explanation values */ 423 * Note: FC-NVME-2 standard requires a "0x" prefix.
|
| /linux/Documentation/PCI/endpoint/ |
| H A D | pci-nvme-function.rst | 4 PCI NVMe Function 9 The PCI NVMe endpoint function implements a PCI NVMe controller using the NVMe 10 subsystem target core code. The driver for this function resides with the NVMe 11 subsystem as drivers/nvme/target/pci-epf.c. 13 See Documentation/nvme/nvme-pci-endpoint-target.rst for more details.
|
| /linux/arch/arm64/boot/dts/apple/ |
| H A D | t600x-nvme.dtsi | 3 * NVMe related devices for Apple T600x SoCs. 28 DIE_NODE(nvme): nvme@393cc0000 { 29 compatible = "apple,t6000-nvme-ans2", "apple,nvme-ans2"; 31 reg-names = "nvme", "ans"; 33 /* The NVME interrupt is always routed to die */
|
| /linux/Documentation/fault-injection/ |
| H A D | nvme-fault-injection.rst | 1 NVMe Fault Injection 8 Status can be found in include/linux/nvme.h 10 Following examples show how to inject an error into the nvme. 42 nvme_process_cq+0xe7/0x1d0 [nvme] 43 nvme_irq+0x1e/0x40 [nvme] 130 nvme reset /dev/nvme0 134 After NVMe controller reset, the reinitialization may or may not succeed. 139 nvme nvme0: resetting controller 149 nvme_irq+0x129/0x280 [nvme] 177 nvme nvme0: Could not set queue count (16385) [all …]
|
| /linux/drivers/nvme/ |
| H A D | Kconfig | 2 menu "NVME Support" 4 source "drivers/nvme/common/Kconfig" 5 source "drivers/nvme/host/Kconfig" 6 source "drivers/nvme/target/Kconfig"
|
| /linux/drivers/nvme/common/ |
| H A D | Makefile | 5 obj-$(CONFIG_NVME_AUTH) += nvme-auth.o 6 obj-$(CONFIG_NVME_KEYRING) += nvme-keyring.o 8 nvme-auth-y += auth.o 9 nvme-keyring-y += keyring.o
|
| H A D | keyring.c | 10 #include <linux/nvme.h> 11 #include <linux/nvme-tcp.h> 12 #include <linux/nvme-keyring.h> 104 snprintf(identity, identity_len, "NVMe%u%c%02u %s %s", in nvme_tls_psk_lookup() 191 * NVMe PSK priority list 259 nvme_keyring = keyring_alloc(".nvme", in nvme_keyring_init() 285 MODULE_DESCRIPTION("NVMe Keyring implementation");
|
| /linux/Documentation/driver-api/pci/ |
| H A D | p2pdma.rst | 46 For example, in the NVMe Target Copy Offload implementation: 48 * The NVMe PCI driver is both a client, provider and orchestrator 54 can DMA directly to the memory exposed by the NVMe device. 55 * The NVMe Target driver (nvmet) can orchestrate the data from the RNIC 56 to the P2P memory (CMB) and then to the NVMe device (and vice versa). 62 then the NVMe Target could use the RNIC's memory instead of the CMB 63 in cases where the NVMe cards in use do not have CMB support. 96 example, the NVMe Target driver creates a list including the namespace
|
| /linux/drivers/scsi/lpfc/ |
| H A D | lpfc_disc.h | 113 #define NLP_NVME_TARGET 0x20 /* entry is a NVME Target */ 114 #define NLP_NVME_INITIATOR 0x40 /* entry is a NVME Initiator */ 115 #define NLP_NVME_DISCOVERY 0x80 /* entry has NVME disc srvc */ 119 * FCP (0x8) and NVME (0x28) 124 #define NLP_FC4_NVME 0x2 /* FC4 TYPE NVME (value x28) */ 137 u8 nlp_nvme_info; /* NVME NSLER Support */ 139 #define NLP_NVME_NSLER 0x1 /* NVME NSLER device */ 144 struct lpfc_nvme_rport *nrport; /* nvme transport rport struct. */ 161 uint32_t nvme_fb_size; /* NVME target's supported byte cnt */
|
| H A D | lpfc_nvme.h | 24 #include <linux/nvme.h> 25 #include <linux/nvme-fc-driver.h> 26 #include <linux/nvme-fc.h> 47 /* Declare nvme-based local and remote port definitions. */ 80 * set NVME LS request timeouts to 30s. It is larger than the 2*R_A_TOV 97 /* Used for NVME Target */
|
| H A D | lpfc_nvmet.c | 76 /* Setup WQE templates for NVME IOs */ 285 * transmission of an NVME LS response. 292 * used to send the NVME LS RSP. 338 * lock held. This function is the completion handler for NVME LS commands 550 * to FCP command is passed to NVME Layer. in lpfc_nvmet_ktime() 552 * off to NVME Layer to Driver receives a Command op in lpfc_nvmet_ktime() 553 * from NVME Layer. in lpfc_nvmet_ktime() 555 * from NVME Layer to Command is put on WQ. in lpfc_nvmet_ktime() 559 * Command cmpl is passed to NVME Layer. in lpfc_nvmet_ktime() 560 * Segment 6 - Time from Command cmpl is passed to NVME in lpfc_nvmet_ktime() [all …]
|
| /linux/drivers/scsi/mpt3sas/mpi/ |
| H A D | mpi2_pci.h | 25 * NVME Encapsulated Request. 26 * 07-22-18 02.00.03 Updted flags field for NVME Encapsulated req 49 * NVMe Encapsulated message 52 /*NVME Encapsulated Request Message */ 91 /*NVMe Encapuslated Reply Message */
|
| /linux/arch/s390/kernel/ |
| H A D | ipl.c | 49 #define IPL_NVME_STR "nvme" 56 #define DUMP_NVME_STR "nvme" 357 if (ipl_block.nvme.opt == IPL_PB0_NVME_OPT_DUMP) in get_ipl_type() 428 return sysfs_emit(page, "%08ux\n", ipl_block.nvme.fid); in sys_ipl_device_show() 456 DEFINE_IPL_ATTR_SCP_DATA_RO(ipl_nvme, ipl_block.nvme, PAGE_SIZE); 483 /* NVMe ipl device attributes */ 485 (unsigned long long)ipl_block.nvme.fid); 487 (unsigned long long)ipl_block.nvme.nsid); 489 (unsigned long long)ipl_block.nvme.bootprog); 491 (unsigned long long)ipl_block.nvme.br_lba); [all …]
|