RT-Thread RTOS
An open source embedded real-time operating system
rt_dma_chan Struct Reference

#include <dma.h>

Data Fields

const char * name
 
struct rt_dma_controllerctrl
 
struct rt_deviceslave
 
rt_list_t list
 
rt_err_t conf_err
 
rt_err_t prep_err
 
struct rt_dma_slave_config conf
 
struct rt_dma_slave_transfer transfer
 
void(* callback )(struct rt_dma_chan *chan, rt_size_t size)
 
void * priv
 

Detailed Description

DMA channel descriptor.

Represents an allocated DMA channel bound to a specific slave device. Tracks configuration and preparation errors to prevent operations on improperly set up channels.

Field Documentation

◆ name

const char* rt_dma_chan::name

Channel name (from dma-names in device tree)

◆ ctrl

struct rt_dma_controller* rt_dma_chan::ctrl

Parent DMA controller

◆ slave

struct rt_device* rt_dma_chan::slave

Slave device that requested this channel

◆ list

rt_list_t rt_dma_chan::list

Node in the controller's channels list

◆ conf_err

rt_err_t rt_dma_chan::conf_err

Last configuration error (-RT_ERROR = not configured)

◆ prep_err

rt_err_t rt_dma_chan::prep_err

Last preparation error (-RT_ERROR = not prepared)

◆ conf

struct rt_dma_slave_config rt_dma_chan::conf

Saved slave configuration

◆ transfer

struct rt_dma_slave_transfer rt_dma_chan::transfer

Saved transfer descriptor

◆ callback

void(* rt_dma_chan::callback) (struct rt_dma_chan *chan, rt_size_t size)

Transfer completion callback

◆ priv

void* rt_dma_chan::priv

Controller driver private data