API Reference Manual  1.45.0
api/spec/dma.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (c) 2021-2023 Nokia
3  */
4 
11 #ifndef ODP_API_SPEC_DMA_H_
12 #define ODP_API_SPEC_DMA_H_
13 #include <odp/visibility_begin.h>
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 #include <odp/api/dma_types.h>
20 #include <odp/api/pool_types.h>
21 
37 
46 
61 odp_dma_t odp_dma_create(const char *name, const odp_dma_param_t *param);
62 
75 
84 odp_dma_t odp_dma_lookup(const char *name);
85 
94 
103 
124  odp_dma_result_t *result);
125 
141  odp_dma_result_t *result[], int num);
142 
163  const odp_dma_compl_param_t *compl_param);
164 
180  const odp_dma_compl_param_t *compl_param[], int num);
181 
202  odp_dma_result_t *result);
203 
218 
226 
234 uint64_t odp_dma_to_u64(odp_dma_t dma);
235 
245 
260 
271 
280 
289 
302 
315 
324 
334 
343 
360 odp_pool_t odp_dma_pool_create(const char *name, const odp_dma_pool_param_t *pool_param);
361 
366 #ifdef __cplusplus
367 }
368 #endif
369 
370 #include <odp/visibility_end.h>
371 #endif
372 
ODP DMA.
ODP pool.
odp_dma_t odp_dma_create(const char *name, const odp_dma_param_t *param)
Create DMA session.
odp_pool_t odp_dma_pool_create(const char *name, const odp_dma_pool_param_t *pool_param)
Create DMA completion event pool.
int odp_dma_transfer_done(odp_dma_t dma, odp_dma_transfer_id_t transfer_id, odp_dma_result_t *result)
Check if DMA transfer has completed.
void odp_dma_transfer_id_free(odp_dma_t dma, odp_dma_transfer_id_t transfer_id)
Free DMA transfer identifier.
void odp_dma_transfer_param_init(odp_dma_transfer_param_t *trs_param)
Initialize DMA transfer parameters.
int odp_dma_destroy(odp_dma_t dma)
Destroy DMA session.
odp_dma_t odp_dma_lookup(const char *name)
Find DMA session by name.
int odp_dma_compl_result(odp_dma_compl_t dma_compl, odp_dma_result_t *result)
Check DMA completion event.
void odp_dma_compl_param_init(odp_dma_compl_param_t *compl_param)
Initialize DMA transfer completion parameters.
void odp_dma_compl_print(odp_dma_compl_t dma_compl)
Print DMA completion event debug information.
uint64_t odp_dma_compl_to_u64(odp_dma_compl_t dma_compl)
Get printable value for DMA completion event handle.
odp_event_t odp_dma_compl_to_event(odp_dma_compl_t dma_compl)
Convert DMA completion event to event.
void odp_dma_pool_param_init(odp_dma_pool_param_t *pool_param)
Initialize DMA completion event pool parameters.
int odp_dma_transfer_start(odp_dma_t dma, const odp_dma_transfer_param_t *trs_param, const odp_dma_compl_param_t *compl_param)
Start DMA transfer.
int odp_dma_transfer(odp_dma_t dma, const odp_dma_transfer_param_t *trs_param, odp_dma_result_t *result)
Perform DMA transfer.
uint64_t odp_dma_transfer_id_t
DMA transfer identifier.
void odp_dma_print(odp_dma_t dma)
Print debug info about DMA session.
void * odp_dma_compl_user_area(odp_dma_compl_t dma_compl)
DMA completion event user area.
int odp_dma_transfer_multi(odp_dma_t dma, const odp_dma_transfer_param_t *trs_param[], odp_dma_result_t *result[], int num)
Perform multiple DMA transfers.
int odp_dma_transfer_start_multi(odp_dma_t dma, const odp_dma_transfer_param_t *trs_param[], const odp_dma_compl_param_t *compl_param[], int num)
Start multiple DMA transfers.
odp_dma_compl_t odp_dma_compl_from_event(odp_event_t ev)
Convert event to DMA completion event.
uint64_t odp_dma_to_u64(odp_dma_t dma)
Get printable value for DMA session handle.
void odp_dma_param_init(odp_dma_param_t *param)
Initialize DMA session parameters.
int odp_dma_capability(odp_dma_capability_t *capa)
Query DMA capabilities.
odp_dma_transfer_id_t odp_dma_transfer_id_alloc(odp_dma_t dma)
Allocate DMA transfer identifier.
void odp_dma_compl_free(odp_dma_compl_t dma_compl)
Free DMA completion event.
odp_dma_compl_t odp_dma_compl_alloc(odp_pool_t pool)
Allocate DMA completion event.
DMA transfer completion parameters.
DMA session parameters.
DMA completion event pool parameters.
DMA transfer results.
DMA transfer parameters.