nvme_cmd_t
sizeof (nvme_cmd_t), 64, NULL, NULL, NULL, NULL, NULL, 0);
list_create(&nvme_lost_cmds, sizeof (nvme_cmd_t),
offsetof(nvme_cmd_t, nc_list));
kmem_free(qp->nq_cmd, sizeof (nvme_cmd_t *) * qp->nq_nentry);
qp->nq_cmd = kmem_zalloc(sizeof (nvme_cmd_t *) * nentry, KM_SLEEP);
static nvme_cmd_t *
nvme_cmd_t *cmd = kmem_cache_alloc(nvme_cmd_cache, kmflag);
bzero(cmd, sizeof (nvme_cmd_t));
static nvme_cmd_t *
nvme_cmd_t *cmd = nvme_alloc_cmd(nvme, kmflag);
nvme_free_cmd(nvme_cmd_t *cmd)
nvme_submit_admin_cmd(nvme_qpair_t *qp, nvme_cmd_t *cmd, uint32_t *qtimeoutp)
nvme_submit_io_cmd(nvme_qpair_t *qp, nvme_cmd_t *cmd)
nvme_submit_cmd_common(nvme_qpair_t *qp, nvme_cmd_t *cmd, uint32_t *qtimeoutp)
static nvme_cmd_t *
nvme_cmd_t *cmd;
nvme_lost_cmd(nvme_t *nvme, nvme_cmd_t *cmd)
static nvme_cmd_t *
nvme_cmd_t *cmd;
nvme_cmd_t *cmd;
static nvme_cmd_t *
nvme_cmd_t *cmd;
nvme_check_unknown_cmd_status(nvme_cmd_t *cmd)
nvme_check_vendor_cmd_status(nvme_cmd_t *cmd)
nvme_check_integrity_cmd_status(nvme_cmd_t *cmd)
nvme_check_generic_cmd_status(nvme_cmd_t *cmd)
nvme_check_specific_cmd_status(nvme_cmd_t *cmd)
nvme_check_cmd_status(nvme_cmd_t *cmd)
nvme_check_cmd_status_ioctl(nvme_cmd_t *cmd, nvme_ioctl_common_t *ioc)
nvme_abort_cmd(nvme_cmd_t *cmd, const uint32_t sec)
nvme_cmd_t *abort_cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_wait_cmd(nvme_cmd_t *cmd, uint32_t sec)
DTRACE_PROBE1(nvme_admin_cmd_completed, nvme_cmd_t *, cmd);
DTRACE_PROBE1(nvme_admin_cmd_timeout, nvme_cmd_t *, cmd);
DTRACE_PROBE1(nvme_admin_cmd_completed, nvme_cmd_t *,
nvme_cmd_t *cmd = arg;
nvme_cmd_t *cmd = arg;
nvme_admin_cmd(nvme_cmd_t *cmd, uint32_t sec)
nvme_cmd_t *cmd;
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd = nvme_alloc_admin_cmd(nvme, KM_SLEEP);
nvme_cmd_t *cmd;
nvme_cmd_t *cmd = qp->nq_cmd[j];
nvme_cmd_t *u_cmd;
nvme_fill_prp(nvme_cmd_t *cmd, ddi_dma_handle_t dma)
nvme_fill_ranges(nvme_cmd_t *cmd, bd_xfer_t *xfer, uint64_t blocksize,
static nvme_cmd_t *
nvme_cmd_t *cmd;
nvme_cmd_t *cmd = arg;
nvme_cmd_t *cmd;
nvme_cmd_t *cmd;
static nvme_cmd_t *nvme_alloc_cmd(nvme_t *, int);
static void nvme_free_cmd(nvme_cmd_t *);
static nvme_cmd_t *nvme_create_nvm_cmd(nvme_namespace_t *, uint8_t,
static void nvme_admin_cmd(nvme_cmd_t *, uint32_t);
static void nvme_submit_admin_cmd(nvme_qpair_t *, nvme_cmd_t *, uint32_t *);
static int nvme_submit_io_cmd(nvme_qpair_t *, nvme_cmd_t *);
static void nvme_submit_cmd_common(nvme_qpair_t *, nvme_cmd_t *, uint32_t *);
static nvme_cmd_t *nvme_unqueue_cmd(nvme_t *, nvme_qpair_t *, int);
static nvme_cmd_t *nvme_retrieve_cmd(nvme_t *, nvme_qpair_t *);
static void nvme_wait_cmd(nvme_cmd_t *, uint_t);
static int nvme_check_unknown_cmd_status(nvme_cmd_t *);
static int nvme_check_vendor_cmd_status(nvme_cmd_t *);
static int nvme_check_integrity_cmd_status(nvme_cmd_t *);
static int nvme_check_specific_cmd_status(nvme_cmd_t *);
static int nvme_check_generic_cmd_status(nvme_cmd_t *);
static inline int nvme_check_cmd_status(nvme_cmd_t *);
static boolean_t nvme_check_cmd_status_ioctl(nvme_cmd_t *,
static int nvme_abort_cmd(nvme_cmd_t *, const uint32_t);
static int nvme_fill_prp(nvme_cmd_t *, ddi_dma_handle_t);
nvme_admin_stat_cmd(nvme_t *nvme, nvme_cmd_t *cmd)
nvme_cmd_t **nq_cmd; /* active command array */
nvme_cmd_t *nt_cmd;
extern void nvme_admin_stat_cmd(nvme_t *, nvme_cmd_t *);