FreeRTOS port on GAP8/RISC-V
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cluster_dma.h File Reference

Macros

#define CL_DMA_FIX
 
#define CL_DMA_INC
 
#define CL_DMA_IS_1D_EXT
 
#define CL_DMA_IS_2D_EXT
 
#define CL_DMA_IS_1D_TCDM
 
#define CL_DMA_IS_2D_TCDM
 
#define CL_DMA_ELE_DIS
 
#define CL_DMA_ELE_ENA
 
#define CL_DMA_ILE_DIS
 
#define CL_DMA_ILE_ENA
 
#define CL_DMA_BLE_DIS
 
#define CL_DMA_BLE_ENA
 
#define CL_DMA_LEN_SHIFT
 
#define CL_DMA_LEN_WIDTH
 
#define CL_DMA_LEN_MASK
 
#define CL_DMA_TYPE_SHIFT
 
#define CL_DMA_TYPE_WIDTH
 
#define CL_DMA_TYPE_MASK
 
#define CL_DMA_INC_SHIFT
 
#define CL_DMA_INC_WIDTH
 
#define CL_DMA_INC_MASK
 
#define CL_DMA_2D_EXT_SHIFT
 
#define CL_DMA_2D_EXT_WIDTH
 
#define CL_DMA_2D_EXT_MASK
 
#define CL_DMA_ELE_SHIFT
 
#define CL_DMA_ELE_WIDTH
 
#define CL_DMA_ELE_MASK
 
#define CL_DMA_ILE_SHIFT
 
#define CL_DMA_ILE_WIDTH
 
#define CL_DMA_ILE_MASK
 
#define CL_DMA_BLE_SHIFT
 
#define CL_DMA_BLE_WIDTH
 
#define CL_DMA_BLE_MASK
 
#define CL_DMA_2D_TCDM_SHIFT
 
#define CL_DMA_2D_TCDM_WIDTH
 
#define CL_DMA_2D_TCDM_MASK
 

Functions

static uint32_t hal_cl_dma_cmd_make (uint16_t len, uint8_t type, uint8_t inc, uint8_t ext_2d, uint8_t ele, uint8_t ile, uint8_t ble, uint8_t tcdm_2d)
 
static void hal_cl_dma_cmd_set (uint32_t device_id, uint32_t cmd)
 
static uint32_t hal_cl_dma_cmd_get (uint32_t device_id)
 
static void hal_cl_dma_status_set (uint32_t device_id, uint32_t status)
 
static uint32_t hal_cl_dma_status_get (uint32_t device_id)
 
static uint16_t hal_cl_dma_tid_get (uint32_t device_id)
 
static void hal_cl_dma_1d_transfer_push (uint32_t device_id, uint32_t cmd, uint32_t loc, uint32_t ext)
 
static void hal_cl_dma_2d_transfer_push (uint32_t device_id, uint32_t cmd, uint32_t loc, uint32_t ext, uint32_t stride, uint32_t length, uint32_t tcdm_2d)
 
static void hal_cl_dma_tid_free (uint32_t device_id, uint8_t tid)
 
static void hal_cl_dma_flush (uint32_t device_id)
 
static void hal_cl_dma_wait (uint32_t device_id, uint8_t tid)
 

Macro Definition Documentation

#define CL_DMA_2D_EXT_MASK
#define CL_DMA_2D_EXT_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_2D_EXT_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_2D_TCDM_MASK
#define CL_DMA_2D_TCDM_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_2D_TCDM_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_BLE_DIS
#define CL_DMA_BLE_ENA
#define CL_DMA_BLE_MASK
#define CL_DMA_BLE_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_BLE_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_ELE_DIS
#define CL_DMA_ELE_ENA
#define CL_DMA_ELE_MASK
#define CL_DMA_ELE_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_ELE_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_FIX
#define CL_DMA_ILE_DIS
#define CL_DMA_ILE_ENA
#define CL_DMA_ILE_MASK
#define CL_DMA_ILE_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_ILE_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_INC
#define CL_DMA_INC_MASK
#define CL_DMA_INC_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_INC_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_IS_1D_EXT
#define CL_DMA_IS_1D_TCDM
#define CL_DMA_IS_2D_EXT
#define CL_DMA_IS_2D_TCDM
#define CL_DMA_LEN_MASK
#define CL_DMA_LEN_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_LEN_WIDTH

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_TYPE_MASK
#define CL_DMA_TYPE_SHIFT

Referenced by hal_cl_dma_cmd_make().

#define CL_DMA_TYPE_WIDTH

Referenced by hal_cl_dma_cmd_make().

Function Documentation

static void hal_cl_dma_1d_transfer_push ( uint32_t  device_id,
uint32_t  cmd,
uint32_t  loc,
uint32_t  ext 
)
inlinestatic

References hal_cl_dma_cmd_set().

static void hal_cl_dma_2d_transfer_push ( uint32_t  device_id,
uint32_t  cmd,
uint32_t  loc,
uint32_t  ext,
uint32_t  stride,
uint32_t  length,
uint32_t  tcdm_2d 
)
inlinestatic

References hal_cl_dma_cmd_set().

static uint32_t hal_cl_dma_cmd_get ( uint32_t  device_id)
inlinestatic

References cl_dma_cmd_get().

Referenced by hal_cl_dma_tid_get().

static uint32_t hal_cl_dma_cmd_make ( uint16_t  len,
uint8_t  type,
uint8_t  inc,
uint8_t  ext_2d,
uint8_t  ele,
uint8_t  ile,
uint8_t  ble,
uint8_t  tcdm_2d 
)
inlinestatic
static void hal_cl_dma_cmd_set ( uint32_t  device_id,
uint32_t  cmd 
)
inlinestatic
static void hal_cl_dma_flush ( uint32_t  device_id)
inlinestatic
static uint32_t hal_cl_dma_status_get ( uint32_t  device_id)
inlinestatic

References cl_dma_status_get().

Referenced by hal_cl_dma_flush(), and hal_cl_dma_wait().

static void hal_cl_dma_status_set ( uint32_t  device_id,
uint32_t  status 
)
inlinestatic
static void hal_cl_dma_tid_free ( uint32_t  device_id,
uint8_t  tid 
)
inlinestatic

STATUS.

References hal_cl_dma_status_set().

Referenced by hal_cl_dma_wait().

static uint16_t hal_cl_dma_tid_get ( uint32_t  device_id)
inlinestatic

CMD.

References hal_cl_dma_cmd_get().

static void hal_cl_dma_wait ( uint32_t  device_id,
uint8_t  tid 
)
inlinestatic