Transfer specification (single element of a linked transfer list)

This structure defines a single transfer operation in a linked transfer list. It contains the source and destination addresses, the size of the transfer, and flags for incrementing the source and destination pointers.

Public Attributes#

void *

Source address.

void *

Destination address.

size_t

Size in bytes.

sl_dma_ctrl_size_t

One of SL_DMA_CTRL_SIZE_* macros.

sl_dma_ctrl_block_size_t

One of SL_DMA_CTRL_BLOCKSIZE_* macros.

bool

Increment source pointer per unit.

bool

Increment destination pointer per unit.

bool

Transfer one block per DMA channel request if true.

bool

Generate callback when this transfer completes.

bool

If requires cacheable attribute (Everest/XDMA)

sl_dma_channel_xfer_descriptor_t *

HW Descriptor buffer (Dynamically allocated if NULL)

struct sl_dma_channel_transfer *

Next in list (NULL = end or forms loop)

Public Attribute Documentation#

source#

void* sl_dma_channel_transfer_t::source

Source address.


destination#

void* sl_dma_channel_transfer_t::destination

Destination address.


size#

size_t sl_dma_channel_transfer_t::size

Size in bytes.


unit_size#

sl_dma_ctrl_size_t sl_dma_channel_transfer_t::unit_size

One of SL_DMA_CTRL_SIZE_* macros.


block_size#

sl_dma_ctrl_block_size_t sl_dma_channel_transfer_t::block_size

One of SL_DMA_CTRL_BLOCKSIZE_* macros.


increment_source#

bool sl_dma_channel_transfer_t::increment_source

Increment source pointer per unit.


increment_destination#

bool sl_dma_channel_transfer_t::increment_destination

Increment destination pointer per unit.


block_handshake_mode#

bool sl_dma_channel_transfer_t::block_handshake_mode

Transfer one block per DMA channel request if true.


callback_on_complete#

bool sl_dma_channel_transfer_t::callback_on_complete

Generate callback when this transfer completes.


cacheable#

bool sl_dma_channel_transfer_t::cacheable

If requires cacheable attribute (Everest/XDMA)


descriptor#

sl_dma_channel_xfer_descriptor_t* sl_dma_channel_transfer_t::descriptor

HW Descriptor buffer (Dynamically allocated if NULL)


next#

struct sl_dma_channel_transfer* sl_dma_channel_transfer_t::next

Next in list (NULL = end or forms loop)