struct dma_chan结构体具体代码
时间: 2023-06-26 12:06:40 浏览: 150
以下Linux内核中DMA通道结构体`dma_chan`的定义:
```c
struct dma_chan {
struct device *dev; /* DMA通道所属设备 */
enum dma_status status; /* DMA通道状态 */
dma_cookie_t cookie; /* DMA操作标识符 */
unsigned long flags; /* DMA通道标志 */
dma_async_tx_callback callback; /* DMA异步传输回调函数 */
void *callback_param; /* DMA异步传输回调函数参数 */
struct dma_slave_config slave_config; /* DMA从设备配置信息 */
struct dma_chan_desc *desc; /* DMA传输描述符 */
dma_cookie_t residue; /* 传输剩余字节数 */
struct list_head device_node; /* 通道列表 */
spinlock_t lock; /* 通道自旋锁 */
};
```
其中,`dma_chan`结构体成员变量的意义如下:
- `struct device *dev`:DMA通道所属的设备。
- `enum dma_status status`:DMA通道的状态。
- `dma_cookie_t cookie`:DMA操作标识符。
- `unsigned long flags`:DMA通道标志。
- `dma_async_tx_callback callback`:DMA异步传输回调函数。
- `void *callback_param`:DMA异步传输回调函数参数。
- `struct dma_slave_config slave_config`:DMA从设备配置信息。
- `struct dma_chan_desc *desc`:DMA传输描述符。
- `dma_cookie_t residue`:传输剩余字节数。
- `struct list_head device_node`:通道列表。
- `spinlock_t lock`:通道自旋锁。
阅读全文