开发者社区> 问答> 正文

Linux内核常用APIDMA中DMA的一般编程接口代码如何编写?

已解决

Linux内核常用APIDMA中DMA的一般编程接口代码如何编写?

展开
收起
去校区学技术 2022-04-03 12:33:25 868 0
1 条回答
写回答
取消 提交回答
  • 推荐回答
    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) 启动传输
    
    
    2022-04-03 14:05:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载