FreeRTOS port on GAP8/RISC-V
|
Macros | |
#define | __PI_HYPER_TEMP_BUFFER_SIZE |
#define | __PI_HYPER_NB_PADS |
#define | BURST_SIZE |
Functions | |
static void | __pi_hyper_handle_end_of_task (struct pi_task *task) |
static void * | l2_memcpy (void *dst0, const void *src0, size_t len0) |
static uint8_t | __pi_hyper_task_fifo_enqueue (struct hyper_driver_fifo *fifo, struct pi_task *task) |
static struct pi_task * | __pi_hyper_task_fifo_pop (struct hyper_driver_fifo *fifo) |
static int32_t | __pi_hyper_resume_emu_task (struct hyper_driver_fifo *fifo) |
static int32_t | __pi_hyper_resume_misaligned_write (struct hyper_driver_fifo *fifo, struct pi_task *task) |
static int32_t | __pi_hyper_resume_misaligned_read (struct hyper_driver_fifo *fifo, struct pi_task *task) |
static int32_t | __pi_hyper_copy_misaligned (struct hyper_driver_fifo *fifo, struct pi_task *task) |
static void | __attribute__ ((noinline)) |
void | __pi_hyper_pin_settings () |
void | __pi_hyper_pin_reset_settings () |
void | hyper_handler (void *arg) |
static void | __pi_hyper_copy_exec (struct hyper_driver_fifo *fifo, struct pi_task *task) |
void | __pi_hyper_copy (int device, struct hyper_transfer_s *transfer, struct pi_task *task) |
static void | __pi_hyper_copy_2d_exec (struct hyper_driver_fifo *fifo, struct pi_task *task) |
void | __pi_hyper_copy_2d (int device, struct hyper_transfer_s *transfer, struct pi_task *task) |
Variables | |
struct hyper_driver_fifo * | __global_hyper_driver_fifo [UDMA_NB_HYPER] |
static uint8_t | __pi_hyper_temp_buffer [__PI_HYPER_TEMP_BUFFER_SIZE] |
static pi_pad_e | __hyper_pad [__PI_HYPER_NB_PADS] |
#define __PI_HYPER_NB_PADS |
Referenced by __pi_hyper_pin_reset_settings(), and __pi_hyper_pin_settings().
#define __PI_HYPER_TEMP_BUFFER_SIZE |
Referenced by __pi_hyper_resume_misaligned_read(), and __pi_hyper_resume_misaligned_write().
#define BURST_SIZE |
|
static |
void __pi_hyper_copy | ( | int | device, |
struct hyper_transfer_s * | transfer, | ||
struct pi_task * | task | ||
) |
void __pi_hyper_copy_2d | ( | int | device, |
struct hyper_transfer_s * | transfer, | ||
struct pi_task * | task | ||
) |
References __pi_hyper_copy_2d_exec(), __pi_hyper_task_fifo_enqueue(), hyper_transfer_s::buffer, hyper_transfer_s::channel, hyper_transfer_s::hyper_addr, hyper_transfer_s::length, hyper_transfer_s::size, and hyper_transfer_s::stride.
Referenced by pi_hyper_read_2d_async(), pi_hyper_read_async(), pi_hyper_write_2d_async(), and pi_hyper_write_async().
|
static |
References __pi_hyper_copy_misaligned(), hyper_driver_fifo::pending_emu_buffer, hyper_driver_fifo::pending_emu_channel, hyper_driver_fifo::pending_emu_do_memcpy, hyper_driver_fifo::pending_emu_hyper_addr, hyper_driver_fifo::pending_emu_size, and hyper_driver_fifo::pending_emu_size_2d.
Referenced by __pi_hyper_copy_2d(), and hyper_handler().
|
static |
References __pi_hyper_copy_misaligned(), HYPER_TRACE, hyper_driver_fifo::pending_emu_buffer, hyper_driver_fifo::pending_emu_channel, hyper_driver_fifo::pending_emu_do_memcpy, hyper_driver_fifo::pending_emu_hyper_addr, hyper_driver_fifo::pending_emu_size, hyper_driver_fifo::pending_emu_size_2d, and TX_CHANNEL.
Referenced by __pi_hyper_copy(), and hyper_handler().
|
static |
|
static |
References pi_task_release(), pmsis_event_get_default_scheduler(), and pmsis_event_push().
Referenced by hyper_handler().
void __pi_hyper_pin_reset_settings | ( | ) |
References __hyper_pad, __PI_HYPER_NB_PADS, and pi_pad_set_function().
Referenced by pi_hyper_close().
void __pi_hyper_pin_settings | ( | ) |
References __hyper_pad, __PI_HYPER_NB_PADS, and pi_pad_set_function().
Referenced by pi_hyper_open().
|
static |
References __pi_hyper_copy_misaligned(), and hyper_driver_fifo::fifo_head.
Referenced by hyper_handler().
|
static |
References __pi_hyper_temp_buffer, __PI_HYPER_TEMP_BUFFER_SIZE, HYPER_TRACE, l2_memcpy(), hyper_driver_fifo::pending_emu_buffer, hyper_driver_fifo::pending_emu_channel, hyper_driver_fifo::pending_emu_do_memcpy, hyper_driver_fifo::pending_emu_hyper_addr, hyper_driver_fifo::pending_emu_size, hyper_driver_fifo::pending_emu_size_2d, and RX_CHANNEL.
Referenced by __pi_hyper_copy_misaligned().
|
static |
References __pi_hyper_temp_buffer, __PI_HYPER_TEMP_BUFFER_SIZE, HYPER_TRACE, l2_memcpy(), hyper_driver_fifo::pending_emu_buffer, hyper_driver_fifo::pending_emu_channel, hyper_driver_fifo::pending_emu_do_memcpy, hyper_driver_fifo::pending_emu_hyper_addr, hyper_driver_fifo::pending_emu_size, hyper_driver_fifo::pending_emu_size_2d, RX_CHANNEL, and TX_CHANNEL.
Referenced by __pi_hyper_copy_misaligned().
|
static |
References hyper_driver_fifo::fifo_head, and hyper_driver_fifo::fifo_tail.
Referenced by __pi_hyper_copy(), and __pi_hyper_copy_2d().
|
static |
References hyper_driver_fifo::fifo_head, and hyper_driver_fifo::fifo_tail.
Referenced by hyper_handler().
void hyper_handler | ( | void * | arg | ) |
References __pi_hyper_copy_2d_exec(), __pi_hyper_copy_exec(), __pi_hyper_handle_end_of_task(), __pi_hyper_resume_emu_task(), __pi_hyper_task_fifo_pop(), hyper_driver_fifo::device_id, hyper_driver_fifo::fifo_head, hal_hyper_enqueue(), HYPER_TRACE, UDMA_CFG_EN, UDMA_CHANNEL_NB_EVENTS_LOG2, and UDMA_HYPER_ID.
Referenced by pi_hyper_open().
|
inlinestatic |
References memcpy().
Referenced by __pi_hyper_resume_misaligned_read(), and __pi_hyper_resume_misaligned_write().
struct hyper_driver_fifo* __global_hyper_driver_fifo[UDMA_NB_HYPER] |
|
static |
Referenced by __pi_hyper_pin_reset_settings(), and __pi_hyper_pin_settings().
|
static |
Referenced by __pi_hyper_resume_misaligned_read(), and __pi_hyper_resume_misaligned_write().