#include <stdint.h>
#include <stdbool.h>
#include <sys/queue.h>
#include <spdk/nvmf_transport.h>
#include <doca_error.h>
#include <doca_dpa.h>
#include <doca_dev.h>
#include <doca_buf.h>
#include <doca_buf_inventory.h>
#include <doca_buf_pool.h>
#include <doca_dma.h>
#include <doca_devemu_pci.h>
#include <doca_comch_msgq.h>
#include <doca_comch_producer.h>
#include <doca_comch_consumer.h>
Go to the source code of this file.
|
| doca_error_t | nvmf_doca_io_create (const struct nvmf_doca_io_create_attr *attr, struct nvmf_doca_io *io) |
| |
| void | nvmf_doca_io_destroy (struct nvmf_doca_io *io) |
| |
| void | nvmf_doca_io_stop (struct nvmf_doca_io *io) |
| |
| void | nvmf_doca_io_add_sq (struct nvmf_doca_io *io, const struct nvmf_doca_io_add_sq_attr *attr, struct nvmf_doca_sq *sq) |
| |
| void | nvmf_doca_sq_stop (struct nvmf_doca_sq *sq) |
| |
| void | nvmf_doca_io_rm_sq (struct nvmf_doca_sq *sq) |
| |
| void | nvmf_doca_io_post_cqe (struct nvmf_doca_io *io, const struct nvmf_doca_cqe *cqe, union doca_data user_data) |
| |
| struct doca_buf * | nvmf_doca_sq_get_dpu_buffer (struct nvmf_doca_sq *sq) |
| |
| struct doca_buf * | nvmf_doca_sq_get_host_buffer (struct nvmf_doca_sq *sq, uintptr_t host_io_address) |
| |
| void | nvmf_doca_sq_copy_data (struct nvmf_doca_sq *sq, struct doca_buf *dst_buffer, struct doca_buf *src_buffer, size_t length, union doca_data user_data) |
| |
| struct nvmf_doca_request * | nvmf_doca_request_get (struct nvmf_doca_sq *sq) |
| |
| void | nvmf_doca_request_complete (struct nvmf_doca_request *request) |
| |
| void | nvmf_doca_request_free (struct nvmf_doca_request *request) |
| |
◆ DMA_POOL_DATA_BUFFER_SIZE
| #define DMA_POOL_DATA_BUFFER_SIZE (1UL << 12) |
◆ NVMF_DOCA_CQE_SIZE
| #define NVMF_DOCA_CQE_SIZE 16 |
◆ NVMF_DOCA_SQE_SIZE
| #define NVMF_DOCA_SQE_SIZE 64 |
◆ nvmf_doca_cq_post_cqe_cb
◆ nvmf_doca_io_stop_cb
| typedef void(* nvmf_doca_io_stop_cb) (struct nvmf_doca_io *io) |
◆ nvmf_doca_req_cb
◆ nvmf_doca_sq_copy_data_cb
| typedef void(* nvmf_doca_sq_copy_data_cb) (struct nvmf_doca_sq *sq, struct doca_buf *dst, struct doca_buf *src, union doca_data user_data) |
◆ nvmf_doca_sq_fetch_sqe_cb
◆ nvmf_doca_sq_stop_cb
| typedef void(* nvmf_doca_sq_stop_cb) (struct nvmf_doca_sq *sq) |
◆ nvmf_doca_sq_db_state
| Enumerator |
|---|
| NVMF_DOCA_SQ_DB_UNBOUND | |
| NVMF_DOCA_SQ_DB_BIND_REQUESTED | |
| NVMF_DOCA_SQ_DB_BOUND | |
| NVMF_DOCA_SQ_DB_UNBIND_REQUESTED | |
Definition at line 137 of file nvmf_doca_io.h.
◆ nvmf_doca_sq_state
| Enumerator |
|---|
| NVMF_DOCA_SQ_STATE_INITIAL | |
| NVMF_DOCA_SQ_STATE_BIND_DB_REQUESTED | |
| NVMF_DOCA_SQ_STATE_BIND_DB_DONE | |
| NVMF_DOCA_SQ_STATE_READY | |
| NVMF_DOCA_SQ_STATE_UNBIND_DB_REQUESTED | |
| NVMF_DOCA_SQ_STATE_UNBIND_DB_DONE | |
Definition at line 128 of file nvmf_doca_io.h.
◆ nvmf_doca_io_add_sq()
◆ nvmf_doca_io_create()
◆ nvmf_doca_io_destroy()
◆ nvmf_doca_io_post_cqe()
Update the phase bit according to the iteration For every even iteration the phase should be 1, while for odd should be 0
Definition at line 1163 of file nvmf_doca_io.c.
◆ nvmf_doca_io_rm_sq()
◆ nvmf_doca_io_stop()
◆ nvmf_doca_request_complete()
◆ nvmf_doca_request_free()
◆ nvmf_doca_request_get()
◆ nvmf_doca_sq_copy_data()
| void nvmf_doca_sq_copy_data |
( |
struct nvmf_doca_sq * |
sq, |
|
|
struct doca_buf * |
dst_buffer, |
|
|
struct doca_buf * |
src_buffer, |
|
|
size_t |
length, |
|
|
union doca_data |
user_data |
|
) |
| |
◆ nvmf_doca_sq_get_dpu_buffer()
| struct doca_buf* nvmf_doca_sq_get_dpu_buffer |
( |
struct nvmf_doca_sq * |
sq | ) |
|
◆ nvmf_doca_sq_get_host_buffer()
◆ nvmf_doca_sq_stop()