Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)相关的知识,希望对你有一定的参考价值。
前面解释了使用dma_buf所涉及的几个重要的结构体以及导出器的示例,我们再来介绍下导入器具体示例。
mock_dmabuf_imp.c示例
#include <linux/device.h>
#include <linux/dma-buf.h>
#include <linux/module.h>
#include <linux/slab.h>extern struct dma_buf *dmabuf_of_exporter;
static int mock_importer(struct dma_buf *dmabuf)
struct dma_buf_attachment *attachment;
struct sg_table *table;
struct device *dev;dev = kmalloc(sizeof(*dev), GFP_KERNEL);
dev_set_name(dev, "bill");attachment = dma_buf_attach(dmabuf, dev);//模拟一个importer,并附加设备到dma_buf缓冲区上,返回的attachment(dma_buf_attachment )中保存着附加信息。
table = dma_buf_map_attachment(attachment, DMA_BIDIRECTIONAL);//映射附件(dma_buf_attachment )
以上是关于Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)的主要内容,如果未能解决你的问题,请参考以下文章
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 三)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)