| NVIDIA DOCA SDK | Data Center on a Chip Framework Documentation |
#include <stdint.h>#include <string.h>#include <time.h>#include <netinet/in.h>#include <errno.h>#include <sys/epoll.h>#include <unistd.h>#include <doca_buf.h>#include <doca_buf_inventory.h>#include <doca_ctx.h>#include <doca_dev.h>#include <doca_dma.h>#include <doca_mmap.h>#include <samples/common.h>#include "pack.h"#include "utils.h"#include "dma_copy_core.h"
Go to the source code of this file.
Macros | |
| #define | CC_MAX_QUEUE_SIZE 10 /* Max number of messages on Comm Channel queue */ |
| #define | SLEEP_IN_NANOS (10 * 1000) /* Sample the task every 10 microseconds */ |
| #define | STATUS_SUCCESS true /* Successful status */ |
| #define | STATUS_FAILURE false /* Unsuccessful status */ |
Functions | |
| DOCA_LOG_REGISTER (DMA_COPY_CORE) | |
| static doca_error_t | get_dma_max_buf_size (struct dma_copy_resources *resources, uint64_t *max_buf_size) |
| static doca_error_t | validate_file_size (const char *file_path, uint64_t *file_size) |
| static doca_error_t | args_validation_callback (void *config) |
| static doca_error_t | dev_pci_addr_callback (void *param, void *config) |
| static doca_error_t | file_path_callback (void *param, void *config) |
| static doca_error_t | rep_pci_addr_callback (void *param, void *config) |
| static doca_error_t | save_buffer_into_a_file (struct dma_copy_cfg *cfg, const char *buffer) |
| static doca_error_t | fill_buffer_with_file_content (struct dma_copy_cfg *cfg, char *buffer) |
| static doca_error_t | memory_alloc_and_populate (struct doca_mmap *mmap, size_t buffer_len, uint32_t access_flags, char **buffer) |
| static doca_error_t | dpu_submit_dma_task (struct dma_copy_cfg *cfg, struct dma_copy_resources *resources, size_t bytes_to_copy, char *buffer, struct doca_buf *local_doca_buf, struct doca_buf *remote_doca_buf, size_t *num_remaining_tasks) |
| static doca_error_t | check_dev_dma_capable (struct doca_devinfo *devinfo) |
| doca_error_t | register_dma_copy_params (void) |
| doca_error_t | open_dma_device (struct doca_dev **dev) |
| static void | dma_memcpy_completed_callback (struct doca_dma_task_memcpy *dma_task, union doca_data task_user_data, union doca_data ctx_user_data) |
| static void | dma_memcpy_error_callback (struct doca_dma_task_memcpy *dma_task, union doca_data task_user_data, union doca_data ctx_user_data) |
| static doca_error_t | destroy_dma_copy_resources (struct dma_copy_resources *resources) |
| static doca_error_t | allocate_dma_copy_resources (struct dma_copy_resources *resources) |
| static void | send_status_msg (struct doca_comch_connection *comch_connection, bool status) |
| static doca_error_t | host_process_dma_direction_and_size (struct dma_copy_cfg *cfg, struct doca_comch_connection *comch_connection, struct comch_msg_dma_direction *dir_msg) |
| void | host_recv_event_cb (struct doca_comch_event_msg_recv *event, uint8_t *recv_buffer, uint32_t msg_len, struct doca_comch_connection *comch_connection) |
| static doca_error_t | send_file_direction_request (struct dma_copy_cfg *dma_cfg, struct comch_cfg *comch_cfg) |
| doca_error_t | host_start_dma_copy (struct dma_copy_cfg *dma_cfg, struct comch_cfg *comch_cfg) |
| static doca_error_t | dpu_process_dma_direction_and_size (struct dma_copy_cfg *cfg, struct doca_comch_connection *comch_connection, struct comch_msg_dma_direction *dir_msg) |
| static doca_error_t | dpu_process_export_descriptor (struct dma_copy_cfg *cfg, struct comch_msg_dma_export_discriptor *des_msg) |
| void | dpu_recv_event_cb (struct doca_comch_event_msg_recv *event, uint8_t *recv_buffer, uint32_t msg_len, struct doca_comch_connection *comch_connection) |
| doca_error_t | dpu_start_dma_copy (struct dma_copy_cfg *dma_cfg, struct comch_cfg *comch_cfg) |
| #define CC_MAX_QUEUE_SIZE 10 /* Max number of messages on Comm Channel queue */ |
Definition at line 48 of file dma_copy_core.c.
| #define SLEEP_IN_NANOS (10 * 1000) /* Sample the task every 10 microseconds */ |
Definition at line 49 of file dma_copy_core.c.
| #define STATUS_FAILURE false /* Unsuccessful status */ |
Definition at line 51 of file dma_copy_core.c.
| #define STATUS_SUCCESS true /* Successful status */ |
Definition at line 50 of file dma_copy_core.c.
|
static |
Definition at line 586 of file dma_copy_core.c.
|
static |
Definition at line 123 of file dma_copy_core.c.
|
static |
Definition at line 415 of file dma_copy_core.c.
|
static |
Definition at line 556 of file dma_copy_core.c.
|
static |
Definition at line 142 of file dma_copy_core.c.
|
static |
Definition at line 515 of file dma_copy_core.c.
|
static |
Definition at line 536 of file dma_copy_core.c.
| DOCA_LOG_REGISTER | ( | DMA_COPY_CORE | ) |
|
static |
Definition at line 945 of file dma_copy_core.c.
|
static |
Definition at line 1000 of file dma_copy_core.c.
| void dpu_recv_event_cb | ( | struct doca_comch_event_msg_recv * | event, |
| uint8_t * | recv_buffer, | ||
| uint32_t | msg_len, | ||
| struct doca_comch_connection * | comch_connection | ||
| ) |
Definition at line 1018 of file dma_copy_core.c.
| doca_error_t dpu_start_dma_copy | ( | struct dma_copy_cfg * | dma_cfg, |
| struct comch_cfg * | comch_cfg | ||
| ) |
Definition at line 1116 of file dma_copy_core.c.
|
static |
Definition at line 320 of file dma_copy_core.c.
|
static |
Definition at line 165 of file dma_copy_core.c.
|
static |
Definition at line 241 of file dma_copy_core.c.
|
static |
Definition at line 62 of file dma_copy_core.c.
|
static |
Definition at line 684 of file dma_copy_core.c.
| void host_recv_event_cb | ( | struct doca_comch_event_msg_recv * | event, |
| uint8_t * | recv_buffer, | ||
| uint32_t | msg_len, | ||
| struct doca_comch_connection * | comch_connection | ||
| ) |
Definition at line 735 of file dma_copy_core.c.
| doca_error_t host_start_dma_copy | ( | struct dma_copy_cfg * | dma_cfg, |
| struct comch_cfg * | comch_cfg | ||
| ) |
Definition at line 840 of file dma_copy_core.c.
|
static |
Definition at line 271 of file dma_copy_core.c.
| doca_error_t open_dma_device | ( | struct doca_dev ** | dev | ) |
Definition at line 497 of file dma_copy_core.c.
| doca_error_t register_dma_copy_params | ( | void | ) |
Definition at line 420 of file dma_copy_core.c.
|
static |
Definition at line 188 of file dma_copy_core.c.
|
static |
Definition at line 213 of file dma_copy_core.c.
|
static |
Definition at line 824 of file dma_copy_core.c.
|
static |
Definition at line 663 of file dma_copy_core.c.
|
static |
Definition at line 84 of file dma_copy_core.c.