Linux内核常用APIDMA中DMA的一般编程接口代码如何编写?
struct dma_chan *dma_request_channel(dma_cap_mask_t mask, dma_filter_fn filter_fn, void *filter_param)
typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param) 一般就是通过name找到对应的dma channel
int dmaengine_slave_config(struct dma_chan *chan, struct dma_slave_config *config)
struct dma_async_tx_descriptor *(*chan->device->device_prep_slave_sg)(struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, enum dma_data_direction direction, unsigned long flags) 用于产生传输描述符
dma_cookie_t dmaengine_submit(struct dma_async_tx_descriptor *desc) 提交传输请求
void dma_async_issue_pending(struct dma_chan *chan) 启动传输
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。