NVIDIA DOCA SDK Data Center on a Chip Framework Documentation
dma_common.c File Reference
#include <string.h>
#include <unistd.h>
#include <doca_argp.h>
#include <doca_buf_inventory.h>
#include <doca_dev.h>
#include <doca_ctx.h>
#include <doca_dma.h>
#include <doca_error.h>
#include <doca_log.h>
#include <doca_mmap.h>
#include <doca_pe.h>
#include "dma_common.h"
Include dependency graph for dma_common.c:

Go to the source code of this file.

Functions

 DOCA_LOG_REGISTER (DMA_COMMON)
 
static doca_error_t pci_callback (void *param, void *config)
 
static doca_error_t text_callback (void *param, void *config)
 
static doca_error_t descriptor_path_callback (void *param, void *config)
 
static doca_error_t buf_info_path_callback (void *param, void *config)
 
doca_error_t register_dma_params (bool is_remote)
 
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 void dma_state_changed_callback (const union doca_data user_data, struct doca_ctx *ctx, enum doca_ctx_states prev_state, enum doca_ctx_states next_state)
 
doca_error_t allocate_dma_resources (const char *pcie_addr, int num_buf, struct dma_resources *resources)
 
doca_error_t destroy_dma_resources (struct dma_resources *resources)
 
doca_error_t allocate_dma_host_resources (const char *pcie_addr, struct program_core_objects *state)
 
doca_error_t destroy_dma_host_resources (struct program_core_objects *state)
 
doca_error_t dma_task_is_supported (struct doca_devinfo *devinfo)
 

Function Documentation

◆ allocate_dma_host_resources()

doca_error_t allocate_dma_host_resources ( const char *  pcie_addr,
struct program_core_objects state 
)

Definition at line 536 of file dma_common.c.

◆ allocate_dma_resources()

doca_error_t allocate_dma_resources ( const char *  pcie_addr,
int  num_buf,
struct dma_resources resources 
)

Definition at line 427 of file dma_common.c.

◆ buf_info_path_callback()

static doca_error_t buf_info_path_callback ( void *  param,
void *  config 
)
static

Definition at line 179 of file dma_common.c.

◆ descriptor_path_callback()

static doca_error_t descriptor_path_callback ( void *  param,
void *  config 
)
static

Definition at line 101 of file dma_common.c.

◆ destroy_dma_host_resources()

doca_error_t destroy_dma_host_resources ( struct program_core_objects state)

Definition at line 576 of file dma_common.c.

◆ destroy_dma_resources()

doca_error_t destroy_dma_resources ( struct dma_resources resources)

Definition at line 513 of file dma_common.c.

◆ dma_memcpy_completed_callback()

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

Definition at line 331 of file dma_common.c.

◆ dma_memcpy_error_callback()

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

Definition at line 358 of file dma_common.c.

◆ dma_state_changed_callback()

static void dma_state_changed_callback ( const union doca_data  user_data,
struct doca_ctx *  ctx,
enum doca_ctx_states  prev_state,
enum doca_ctx_states  next_state 
)
static

Callback triggered whenever DMA context state changes

@user_data [in]: User data associated with the DMA context. Will hold struct dma_resources * @ctx [in]: The DMA context that had a state change @prev_state [in]: Previous context state @next_state [in]: Next context state (context is already in this state when the callback is called)

The context is in starting state, this is unexpected for DMA.

doca_ctx_stop() has been called. In this sample, this happens either due to a failure encountered, in which case doca_pe_progress() will cause any inflight task to be flushed, or due to the successful compilation of the sample flow. In both cases, in this sample, doca_pe_progress() will eventually transition the context to idle state.

Definition at line 387 of file dma_common.c.

◆ dma_task_is_supported()

doca_error_t dma_task_is_supported ( struct doca_devinfo *  devinfo)

Definition at line 593 of file dma_common.c.

◆ DOCA_LOG_REGISTER()

DOCA_LOG_REGISTER ( DMA_COMMON  )

◆ pci_callback()

static doca_error_t pci_callback ( void *  param,
void *  config 
)
static

Definition at line 50 of file dma_common.c.

◆ register_dma_params()

doca_error_t register_dma_params ( bool  is_remote)

Definition at line 204 of file dma_common.c.

◆ text_callback()

static doca_error_t text_callback ( void *  param,
void *  config 
)
static

Definition at line 76 of file dma_common.c.