DMA Linux Parallel Implementation API¶
-
group
aml_dma_linux_par
Parallel DMA implementation.
DMA logic implemented based on general linux API, asynchronous execution threads. This DMA implementation moves between pointers allocated with an aml_area_linux.
Defines
-
AML_DMA_LINUX_PAR_DECL
(name)¶ Static declaration of aml_dma_linux_par structure.
-
AML_DMA_LINUX_PAR_ALLOCSIZE
¶ Static declaration of aml_dma_linux_par structure size.
Functions
-
int
aml_dma_linux_par_create
(struct aml_dma **dma, size_t nbreqs, size_t nbthreads)¶ Allocates and initializes a new parallel DMA.
- Return
0 if successful; an error code otherwise.
- Parameters
dma
: an address where the pointer to the newly allocated DMA structure will be stored.nbreqs
: the initial number of slots for asynchronous requests that are in-flight (will be increased automatically if necessary).nbthreads
: the number of threads to launch for each request.
-
int
aml_dma_linux_par_init
(struct aml_dma *dma, size_t nbreqs, size_t nbthreads)¶ Initializes a new parallel DMA.
- Return
0 if successful; an error code otherwise.
- Parameters
dma
: a pointer to a dma declared with the AML_DMA_LINUX_PAR_DECL macronbreqs
: the initial number of slots for asynchronous requests that are in-flight (will be increased automatically if necessary).nbthreads
: the number of threads to launch for each request.
Variables
-
struct aml_dma_ops
aml_dma_linux_par_ops
¶ Default table of dma request operations for linux parallel dma.
-
struct
aml_dma_linux_par_thread_data
¶ - #include <linux-par.h>
Thread data embeded inside an asynchronous dma request.
-
struct
aml_dma_request_linux_par
¶ - #include <linux-par.h>
Inside of a parallel request for linux movement.
-
struct
aml_dma_linux_par_data
¶ - #include <linux-par.h>
Inside of a parallel request for linux movement.
-
struct
aml_dma_linux_par_ops
- #include <linux-par.h>
Declaration of linux parallel dma operations
-
struct
aml_dma_linux_par
¶ - #include <linux-par.h>
aml_dma structure for linux based, parallel dma movement Needs to be initialized with aml_dma_linux_par_init(). Can be passed to generic aml_dma_*() functions.
-