FreeRTOS port on GAP8/RISC-V
|
Data Structures | |
struct | pi_udma_datamove_data_t |
struct | pi_udma_datamove_itf_data_t |
Macros | |
#define | DM_NB_DATAMOVES |
Functions | |
static void | __udma_datamove_drv_fifo_enqueue (pi_udma_datamove_itf_data_t *itf_data, pi_task_t *pi_task) |
static pi_task_t * | __udma_datamove_drv_fifo_pop (pi_udma_datamove_itf_data_t *itf_data) |
static void | __pi_udma_datamove_copy_start (pi_udma_datamove_itf_data_t *itf_data) |
static void | __pi_udma_datamove_null_handler (void *arg) |
static void | __pi_udma_datamove_event_handler (void *arg) |
void | pi_udma_datamove_conf_init (pi_udma_datamove_conf_t *conf) |
int | pi_udma_datamove_open (pi_device_t *device) |
void | pi_udma_datamove_close (pi_device_t *device) |
int32_t | pi_udma_datamove_copy_async (pi_device_t *device, void *src, void *dst, uint32_t len, pi_task_t *task) |
int32_t | pi_udma_datamove_copy (pi_device_t *device, void *src, void *dst, uint32_t len) |
Variables | |
static pi_udma_datamove_itf_data_t * | g_udma_datamove_itf_data [DM_NB_DATAMOVES] |
#define DM_NB_DATAMOVES |
Referenced by pi_udma_datamove_open().
|
inlinestatic |
References pi_task_t::data, pi_udma_datamove_itf_data_t::device_id, pi_udma_datamove_data_t::dst_trf_cfg, pi_udma_datamove_itf_data_t::end_task, hal_udma_core_2d_enqueue(), hal_udma_core_2d_get(), hal_udma_core_lin_enqueue(), hal_udma_core_lin_get(), hal_udma_ctrl_datamove0_cfg_set_ids(), hal_udma_ctrl_datamove0_enable(), hal_udma_ctrl_datamove1_cfg_set_ids(), hal_udma_ctrl_datamove1_enable(), pi_udma_datamove_itf_data_t::rx_2d_chan_id, pi_udma_datamove_itf_data_t::rx_lin_chan_id, pi_udma_datamove_data_t::src_trf_cfg, pi_udma_datamove_itf_data_t::tx_2d_chan_id, pi_udma_datamove_itf_data_t::tx_lin_chan_id, and UDMA_NB_CHAN_LIN.
Referenced by __pi_udma_datamove_event_handler(), and pi_udma_datamove_copy_async().
|
static |
|
static |
Referenced by pi_udma_datamove_open().
|
inlinestatic |
References pi_udma_datamove_itf_data_t::fifo_head, pi_udma_datamove_itf_data_t::fifo_tail, and pi_task_t::next.
Referenced by pi_udma_datamove_copy_async().
|
inlinestatic |
References pi_udma_datamove_itf_data_t::fifo_head, pi_udma_datamove_itf_data_t::fifo_tail, hal_compiler_barrier(), and pi_task_t::next.
Referenced by __pi_udma_datamove_event_handler().
void pi_udma_datamove_close | ( | pi_device_t * | device | ) |
void pi_udma_datamove_conf_init | ( | pi_udma_datamove_conf_t * | conf | ) |
Referenced by pi_dmacpy_open().
int32_t pi_udma_datamove_copy | ( | pi_device_t * | device, |
void * | src, | ||
void * | dst, | ||
uint32_t | len | ||
) |
References pi_task_block(), pi_task_destroy(), pi_task_wait_on(), and pi_udma_datamove_copy_async().
int32_t pi_udma_datamove_copy_async | ( | pi_device_t * | device, |
void * | src, | ||
void * | dst, | ||
uint32_t | len, | ||
pi_task_t * | task | ||
) |
int pi_udma_datamove_open | ( | pi_device_t * | device | ) |
References __pi_udma_datamove_event_handler(), __pi_udma_datamove_null_handler(), pi_udma_datamove_itf_data_t::device_id, DM_NB_DATAMOVES, pi_udma_datamove_data_t::dst_trf_cfg, pi_udma_datamove_itf_data_t::end_task, pi_udma_datamove_itf_data_t::fifo_head, pi_udma_datamove_itf_data_t::fifo_tail, hal_soc_eu_clear_fc_mask(), hal_soc_eu_set_fc_mask(), pi_udma_datamove_data_t::itf_data, pi_udma_datamove_itf_data_t::nb_open, pi_fc_l1_free(), pi_fc_l1_malloc(), pi_udma_core_2d_alloc(), pi_udma_core_2d_free(), pi_udma_core_lin_alloc(), pi_udma_core_lin_free(), pi_udma_datamove_itf_data_t::rx_2d_chan_id, pi_udma_datamove_itf_data_t::rx_lin_chan_id, SOC_EVENT_UDMA_CHAN_2D, SOC_EVENT_UDMA_CHAN_LIN, pi_udma_datamove_data_t::src_trf_cfg, pi_udma_datamove_itf_data_t::tx_2d_chan_id, pi_udma_datamove_itf_data_t::tx_lin_chan_id, and UDMA_NB_CHAN_LIN.
Referenced by pi_dmacpy_open().
|
static |