DMA缓存共享机制(翻译版)

DMA缓存共享机制
一、共享的DMA缓存
应用:1.将视频流解码成适合图像渲染和显示的缓存格式。
2.相机捕获到适合编码和渲染的缓冲区。
要求:
1.支持添加到现存的内核子系统。
2.有允许将常见像素格式和页映射到多设备的硬件。
二、为什么要用DMA缓存共享机制
在不同设备和子系统间共享DMA缓存的统一机制目前还没有形成
不同的解决方案:
1.V4l2拥有“USERPTR”机制,对于不同的设备的内存的访问需要进行用户空间进行映射。
2.同样,wayland和x11拥有他们自己的机制,不过仅仅是在 client and compositor之间共享缓存。
3.其他的SoC提供商,框架和子系统也有他们自己的共享缓存的方法。
存在的问题:
1.在V4l2中,用户空间映射可能是必须的,但是这可能会因为内核空间和用户空间的来回震荡造成overkill。
2.目前还没有统一的共享API,因此没有统一的共享方式。
三、什么是 dma_buf API
用于共享缓冲区的通用内核级框架。
定义新的缓冲区对象,该对象提供导出和使用共享缓冲区的机制。
提供统一的API,允许与缓冲区共享相关的各种操作。

四、dma_buf中定义的operations
attach()
这是一个可选的op,它可以允许导出器收集有关连接设备的信息,它们对缓冲区的需求(如支持存储约束等),然后相应地做出决定。
如果导出器无法满足请求设备的需要,也可以用于返回错误。
detach()
这是一个可选的op,它可以允许导出器决定是否需要迁移后备存储,以及根据仍然连接的设备的更新需求对缓冲区做出类似的决定。

ma

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值