/haiku/src/add-ons/kernel/drivers/disk/nvme/libnvme/ |
H A D | nvme_ctrlr.c | 41 nvme_ctrlr_get_ready_to_in_ms(struct nvme_ctrlr *ctrlr) argument 48 cap.raw = nvme_reg_mmio_read_8(ctrlr, cap.raw); 56 static int nvme_ctrlr_create_qpair(struct nvme_ctrlr *ctrlr, argument 62 ret = nvme_admin_create_ioq(ctrlr, qpair, NVME_IO_COMPLETION_QUEUE); 70 ret = nvme_admin_create_ioq(ctrlr, qpair, NVME_IO_SUBMISSION_QUEUE); 75 nvme_admin_delete_ioq(ctrlr, qpair, NVME_IO_COMPLETION_QUEUE); 87 static int nvme_ctrlr_delete_qpair(struct nvme_ctrlr *ctrlr, argument 93 ret = nvme_admin_delete_ioq(ctrlr, qpair, NVME_IO_SUBMISSION_QUEUE); 101 ret = nvme_admin_delete_ioq(ctrlr, qpair, NVME_IO_COMPLETION_QUEUE); 115 nvme_ctrlr_construct_intel_support_log_page_list(struct nvme_ctrlr *ctrlr, argument 146 nvme_ctrlr_set_intel_support_log_pages(struct nvme_ctrlr *ctrlr) argument 175 nvme_ctrlr_set_supported_log_pages(struct nvme_ctrlr *ctrlr) argument 195 nvme_ctrlr_set_intel_supported_features(struct nvme_ctrlr *ctrlr) argument 211 nvme_ctrlr_set_supported_features(struct nvme_ctrlr *ctrlr) argument 243 nvme_ctrlr_init_io_qpairs(struct nvme_ctrlr *ctrlr) argument 284 nvme_ctrlr_shutdown(struct nvme_ctrlr *ctrlr) argument 316 nvme_ctrlr_enable(struct nvme_ctrlr *ctrlr) argument 374 nvme_ctrlr_disable(struct nvme_ctrlr *ctrlr) argument 387 nvme_ctrlr_enabled(struct nvme_ctrlr *ctrlr) argument 399 nvme_ctrlr_ready(struct nvme_ctrlr *ctrlr) argument 411 nvme_ctrlr_set_state(struct nvme_ctrlr *ctrlr, enum nvme_ctrlr_state state, uint64_t timeout_in_ms) argument 425 nvme_ctrlr_identify(struct nvme_ctrlr *ctrlr) argument 449 nvme_ctrlr_get_max_io_qpairs(struct nvme_ctrlr *ctrlr) argument 478 nvme_ctrlr_set_num_qpairs(struct nvme_ctrlr *ctrlr) argument 529 nvme_ctrlr_destruct_namespaces(struct nvme_ctrlr *ctrlr) argument 544 nvme_ctrlr_construct_namespaces(struct nvme_ctrlr *ctrlr) argument 597 struct nvme_ctrlr *ctrlr = aer->ctrlr; local 627 nvme_ctrlr_construct_and_submit_aer(struct nvme_ctrlr *ctrlr, struct nvme_async_event_request *aer) argument 647 nvme_ctrlr_configure_aer(struct nvme_ctrlr *ctrlr) argument 683 nvme_ctrlr_start(struct nvme_ctrlr *ctrlr) argument 716 nvme_ctrlr_map_cmb(struct nvme_ctrlr *ctrlr) argument 777 nvme_ctrlr_unmap_cmb(struct nvme_ctrlr *ctrlr) argument 794 nvme_ctrlr_map_bars(struct nvme_ctrlr *ctrlr) argument 817 nvme_ctrlr_unmap_bars(struct nvme_ctrlr *ctrlr) argument 842 nvme_ctrlr_fail(struct nvme_ctrlr *ctrlr) argument 858 nvme_ctrlr_init(struct nvme_ctrlr *ctrlr) argument 990 nvme_ctrlr_reset(struct nvme_ctrlr *ctrlr) argument 1037 nvme_ctrlr_set_opts(struct nvme_ctrlr *ctrlr, struct nvme_ctrlr_opts *opts) argument 1062 struct nvme_ctrlr *ctrlr; local 1141 nvme_ctrlr_detach(struct nvme_ctrlr *ctrlr) argument 1171 nvme_ctrlr_get_feature(struct nvme_ctrlr *ctrlr, enum nvme_feat_sel sel, enum nvme_feat feature, uint32_t cdw11, uint32_t *attributes) argument 1193 nvme_ctrlr_set_feature(struct nvme_ctrlr *ctrlr, bool save, enum nvme_feat feature, uint32_t cdw11, uint32_t cdw12, uint32_t *attributes) argument 1216 nvme_ctrlr_attach_ns(struct nvme_ctrlr *ctrlr, unsigned int nsid, struct nvme_ctrlr_list *clist) argument 1242 nvme_ctrlr_detach_ns(struct nvme_ctrlr *ctrlr, unsigned int nsid, struct nvme_ctrlr_list *clist) argument 1268 nvme_ctrlr_create_ns(struct nvme_ctrlr *ctrlr, struct nvme_ns_data *nsdata) argument 1290 nvme_ctrlr_delete_ns(struct nvme_ctrlr *ctrlr, unsigned int nsid) argument 1315 nvme_ctrlr_format_ns(struct nvme_ctrlr *ctrlr, unsigned int nsid, struct nvme_format *format) argument 1344 nvme_ctrlr_update_firmware(struct nvme_ctrlr *ctrlr, void *fw, size_t size, int slot) argument 1402 nvme_ioqp_get(struct nvme_ctrlr *ctrlr, enum nvme_qprio qprio, unsigned int qd) argument 1488 struct nvme_ctrlr *ctrlr; local [all...] |
H A D | nvme.c | 45 static struct nvme_ctrlr *nvme_ctrlr_get(struct nvme_ctrlr *ctrlr, argument 53 if (c == ctrlr) { 60 ctrlr = NULL; 65 return ctrlr; 175 struct nvme_ctrlr *ctrlr; local 197 LIST_FOREACH(ctrlr, &ctrlr_head, link) { 198 if (nvme_pci_dev_cmp(ctrlr->pci_dev, pdev) == 0) { 200 ctrlr = NULL; 206 ctrlr = nvme_ctrlr_attach(pdev, opts); 207 if (!ctrlr) { 225 nvme_ctrlr_close(struct nvme_ctrlr *ctrlr) argument 246 nvme_ctrlr_stat(struct nvme_ctrlr *ctrlr, struct nvme_ctrlr_stat *cstat) argument 321 nvme_ctrlr_data(struct nvme_ctrlr *ctrlr, struct nvme_ctrlr_data *cdata, struct nvme_register_data *rdata) argument 355 struct nvme_ctrlr *ctrlr = qpair->ctrlr; local 381 struct nvme_ctrlr *ctrlr; local [all...] |
H A D | nvme_admin.c | 40 static int nvme_admin_submit_cmd(struct nvme_ctrlr *ctrlr, argument 48 req = nvme_request_allocate_contig(&ctrlr->adminq, buf, len, 51 req = nvme_request_allocate_null(&ctrlr->adminq, cb_fn, cb_arg); 57 return nvme_qpair_submit_request(&ctrlr->adminq, req); 64 static int nvme_admin_wait_cmd(struct nvme_ctrlr *ctrlr, argument 70 nvme_qpair_poll(&ctrlr->adminq, 0); 83 static int nvme_admin_exec_cmd(struct nvme_ctrlr *ctrlr, argument 92 ret = nvme_admin_submit_cmd(ctrlr, cmd, buf, len, 99 return nvme_admin_wait_cmd(ctrlr, &status); 105 int nvme_admin_identify_ctrlr(struct nvme_ctrlr *ctrlr, argument 123 nvme_admin_get_feature(struct nvme_ctrlr *ctrlr, enum nvme_feat_sel sel, enum nvme_feat feature, uint32_t cdw11, uint32_t *attributes) argument 157 nvme_admin_set_feature(struct nvme_ctrlr *ctrlr, bool save, enum nvme_feat feature, uint32_t cdw11, uint32_t cdw12, uint32_t *attributes) argument 195 nvme_admin_create_ioq(struct nvme_ctrlr *ctrlr, struct nvme_qpair *qpair, enum nvme_io_queue_type io_qtype) argument 231 nvme_admin_delete_ioq(struct nvme_ctrlr *ctrlr, struct nvme_qpair *qpair, enum nvme_io_queue_type io_qtype) argument 258 nvme_admin_identify_ns(struct nvme_ctrlr *ctrlr, uint16_t nsid, struct nvme_ns_data *nsdata) argument 278 nvme_admin_attach_ns(struct nvme_ctrlr *ctrlr, uint32_t nsid, struct nvme_ctrlr_list *clist) argument 298 nvme_admin_detach_ns(struct nvme_ctrlr *ctrlr, uint32_t nsid, struct nvme_ctrlr_list *clist) argument 318 nvme_admin_create_ns(struct nvme_ctrlr *ctrlr, struct nvme_ns_data *nsdata, unsigned int *nsid) argument 352 nvme_admin_delete_ns(struct nvme_ctrlr *ctrlr, unsigned int nsid) argument 371 nvme_admin_format_nvm(struct nvme_ctrlr *ctrlr, unsigned int nsid, struct nvme_format *format) argument 390 nvme_admin_get_log_page(struct nvme_ctrlr *ctrlr, uint8_t log_page, uint32_t nsid, void *payload, uint32_t payload_size) argument 412 nvme_admin_abort_cmd(struct nvme_ctrlr *ctrlr, uint16_t cid, uint16_t sqid) argument 429 nvme_admin_fw_commit(struct nvme_ctrlr *ctrlr, const struct nvme_fw_commit *fw_commit) argument 446 nvme_admin_fw_image_dl(struct nvme_ctrlr *ctrlr, void *fw, uint32_t size, uint32_t offset) argument [all...] |
H A D | nvme_ns.c | 38 return &ns->ctrlr->nsdata[ns->id - 1]; 43 struct nvme_ctrlr *ctrlr = ns->ctrlr; local 48 ret = nvme_admin_identify_ns(ctrlr, ns->id, nsdata); 57 ns->sectors_per_max_io = ctrlr->max_xfer_size / sector_size; 62 if (ctrlr->cdata.oncs.dsm) 65 if (ctrlr->cdata.vwc.present) 68 if (ctrlr->cdata.oncs.write_zeroes) 90 int nvme_ns_construct(struct nvme_ctrlr *ctrlr, struct nvme_ns *ns, argument 95 ns->ctrlr 110 nvme_ns_open(struct nvme_ctrlr *ctrlr, unsigned int ns_id) argument 132 struct nvme_ctrlr *ctrlr; local 164 struct nvme_ctrlr *ctrlr; local 184 struct nvme_ctrlr *ctrlr; local 209 struct nvme_ctrlr *ctrlr; local [all...] |
H A D | nvme_internal.h | 304 struct nvme_ctrlr *ctrlr; member in struct:nvme_async_event_request 398 struct nvme_ctrlr *ctrlr; member in struct:nvme_qpair 409 struct nvme_ctrlr *ctrlr; member in struct:nvme_ns 621 extern int nvme_admin_identify_ctrlr(struct nvme_ctrlr *ctrlr, 624 extern int nvme_admin_get_feature(struct nvme_ctrlr *ctrlr, 629 extern int nvme_admin_set_feature(struct nvme_ctrlr *ctrlr, 635 extern int nvme_admin_format_nvm(struct nvme_ctrlr *ctrlr, 639 extern int nvme_admin_get_log_page(struct nvme_ctrlr *ctrlr, 643 extern int nvme_admin_abort_cmd(struct nvme_ctrlr *ctrlr, 646 extern int nvme_admin_create_ioq(struct nvme_ctrlr *ctrlr, [all...] |
H A D | nvme.h | 550 * @param ctrlr Controller handle 557 extern int nvme_ctrlr_close(struct nvme_ctrlr *ctrlr); 562 * @param ctrlr Controller handle 567 extern int nvme_ctrlr_stat(struct nvme_ctrlr *ctrlr, 573 * @param ctrlr Controller handle 581 extern int nvme_ctrlr_data(struct nvme_ctrlr *ctrlr, 588 * @param ctrlr Controller handle 601 extern int nvme_ctrlr_get_feature(struct nvme_ctrlr *ctrlr, 609 * @param ctrlr Controller handle 623 extern int nvme_ctrlr_set_feature(struct nvme_ctrlr *ctrlr, [all...] |
H A D | nvme_qpair.c | 427 while (!qpair->ctrlr->resetting && LIST_FIRST(&qpair->free_tr) 783 qpair->ctrlr->enabled_io_qpairs++; 814 qpair->ctrlr->enabled_io_qpairs--; 821 static int nvme_ctrlr_reserve_sq_in_cmb(struct nvme_ctrlr *ctrlr, argument 828 round_offset = ctrlr->cmb_current_offset; 831 if (round_offset + length > ctrlr->cmb_size) 835 ctrlr->cmb_current_offset = round_offset + length; 843 int nvme_qpair_construct(struct nvme_ctrlr *ctrlr, struct nvme_qpair *qpair, argument 863 qpair->ctrlr = ctrlr; 1010 struct nvme_ctrlr *ctrlr = qpair->ctrlr; local [all...] |
/haiku/src/add-ons/kernel/drivers/disk/nvme/ |
H A D | nvme_disk.cpp | 83 struct nvme_ctrlr* ctrlr; member in struct:__anon25 158 ASSERT(info->ctrlr == NULL); 188 info->ctrlr = nvme_ctrlr_open(device, NULL); 189 if (info->ctrlr == NULL) { 195 int err = nvme_ctrlr_stat(info->ctrlr, &cstat); 198 nvme_ctrlr_close(info->ctrlr); 207 info->ns = nvme_ns_open(info->ctrlr, cstat.ns_ids[0]); 210 nvme_ctrlr_close(info->ctrlr); 219 nvme_ctrlr_close(info->ctrlr); 262 if (info->ctrlr [all...] |