FreeRTOS port on GAP8/RISC-V
|
Data Structures | |
struct | pi_ffc_data_t |
struct | pi_ffc_itf_data_t |
Functions | |
static uint32_t | __ffc_compute_udma_lin_shift (uint8_t is_rx, pi_ffc_mode_e mode, pi_ffc_float_type_e fl_type, pi_ffc_fixed_type_e fp_type) |
static void | __ffc_drv_fifo_enqueue (pi_ffc_itf_data_t *itf_data, pi_task_t *pi_task) |
static pi_task_t * | __ffc_drv_fifo_pop (pi_ffc_itf_data_t *itf_data) |
static void | __pi_ffc_conf_apply (pi_ffc_itf_data_t *itf_data) |
static void | __pi_ffc_conversion_start (pi_ffc_itf_data_t *itf_data) |
static void | __pi_ffc_null_handler (void *arg) |
static void | __pi_ffc_event_handler (void *arg) |
void | pi_ffc_conf_init (pi_ffc_conf_t *conf) |
int | pi_ffc_open (pi_device_t *device) |
void | pi_ffc_close (pi_device_t *device) |
void | pi_ffc_ioctl (pi_device_t *device, uint32_t cmd, void *arg) |
void | pi_ffc_convert (pi_device_t *device, void *src, void *dst, uint16_t size) |
void | pi_ffc_convert_async (pi_device_t *device, void *src, void *dst, uint16_t size, pi_task_t *task) |
Variables | |
static pi_ffc_itf_data_t * | g_ffc_itf_data [UDMA_NB_FFC] |
|
inlinestatic |
Referenced by __pi_ffc_conversion_start().
|
inlinestatic |
References pi_ffc_itf_data_t::fifo_head, pi_ffc_itf_data_t::fifo_tail, and pi_task_t::next.
Referenced by pi_ffc_convert_async().
|
inlinestatic |
References pi_ffc_itf_data_t::fifo_head, pi_ffc_itf_data_t::fifo_tail, hal_compiler_barrier(), and pi_task_t::next.
Referenced by __pi_ffc_event_handler().
|
static |
References pi_task_t::data, pi_ffc_itf_data_t::device_id, pi_ffc_itf_data_t::end_task, pi_ffc_data_t::fixed_precision, pi_ffc_data_t::fixed_scale, pi_ffc_data_t::fixed_type, pi_ffc_data_t::float_type, pi_ffc_itf_data_t::latest_conf, pi_ffc_data_t::mode, pi_ffc_itf_data_t::rx_chan_id, pi_ffc_itf_data_t::tx_chan_id, udma_ffc, udma_ffc_fl_format_set(), udma_ffc_fp_format_set(), udma_ffc_fp_prec_set(), udma_ffc_fp_scale_set(), udma_ffc_mode_set(), udma_ffc_rx_dest_set(), and udma_ffc_tx_dest_set().
Referenced by __pi_ffc_conversion_start().
|
static |
References __ffc_compute_udma_lin_shift(), __pi_ffc_conf_apply(), pi_task_t::data, pi_ffc_itf_data_t::device_id, pi_ffc_itf_data_t::end_task, pi_ffc_data_t::fixed_type, pi_ffc_data_t::float_type, hal_udma_core_lin_enqueue(), hal_udma_core_lin_get(), pi_ffc_data_t::mode, udma_ffc, udma_ffc_conv_num_set(), udma_ffc_rx_dest_get(), udma_ffc_start_set(), and udma_ffc_tx_dest_get().
Referenced by __pi_ffc_event_handler(), and pi_ffc_convert_async().
|
static |
References __ffc_drv_fifo_pop(), __pi_ffc_conversion_start(), __pi_irq_handle_end_of_task(), pi_ffc_itf_data_t::device_id, pi_ffc_itf_data_t::end_task, udma_ffc, and udma_ffc_start_set().
Referenced by pi_ffc_open().
|
static |
Referenced by pi_ffc_open().
void pi_ffc_close | ( | pi_device_t * | device | ) |
void pi_ffc_conf_init | ( | pi_ffc_conf_t * | conf | ) |
void pi_ffc_convert | ( | pi_device_t * | device, |
void * | src, | ||
void * | dst, | ||
uint16_t | size | ||
) |
References pi_ffc_convert_async(), pi_task_block(), pi_task_destroy(), and pi_task_wait_on().
void pi_ffc_convert_async | ( | pi_device_t * | device, |
void * | src, | ||
void * | dst, | ||
uint16_t | size, | ||
pi_task_t * | task | ||
) |
References __ffc_drv_fifo_enqueue(), __pi_ffc_conversion_start(), pi_task_t::data, disable_irq(), pi_ffc_itf_data_t::end_task, pi_ffc_data_t::itf_data, and restore_irq().
Referenced by pi_ffc_convert().
void pi_ffc_ioctl | ( | pi_device_t * | device, |
uint32_t | cmd, | ||
void * | arg | ||
) |
int pi_ffc_open | ( | pi_device_t * | device | ) |
References __pi_ffc_event_handler(), __pi_ffc_null_handler(), pi_ffc_data_t::fixed_precision, pi_ffc_data_t::fixed_scale, pi_ffc_data_t::fixed_type, pi_ffc_data_t::float_type, hal_soc_eu_set_fc_mask(), hal_udma_ctrl_cg_disable(), hal_udma_ctrl_reset_disable(), pi_ffc_data_t::itf_data, pi_ffc_data_t::mode, pi_fc_l1_free(), pi_fc_l1_malloc(), pi_udma_core_lin_alloc(), SOC_EVENT_UDMA_CHAN_LIN, and UDMA_FFC_ID.
|
static |