高通方案camera子系统daemon存在原因

具体的说来,高通msm系列的android方案中,camera子系统有一个mm-camera-daemon的服务进程是开机自动运行的。它也是很多人诟病的一个东西:太耗电了。为什么要这么设计在(https://www.mail-archive.com/linux-media%40vger.kernel.org/msg26091.html)有明确的答案,摘抄其关键部分如下:
For MSM camera IC, significant portion of image processing and optimization codes are proprietary, so they cannot sit in kernel space. This plays an important role when making design decisions.
其大致意思是,daemon是介于应用和驱动之间翻译ioctl的中间层(委托处理),其目的是将VFE/ISP具体操作策略的私有化代码封闭,所以才会弄出这么一个感觉怪怪的东东。
在驱动设计中,存在msm-config和msm-camera两种model的media controller,前者用于获取事件通知v4l2驱动信息,后者用于获取sensor操作v4l2驱动信息。一个完整的调用流程大致是:app==>v4l2(stream)==>daemon==>v4l2(control)==>app
说明:
1、app到daemon主要是在v4l2(stream)中事件通知方式进行的,对于map/unmap则直接通过domain socket方式进行
2、daemon到app是通过v4l2(control)的事件通知机制进行的
3、v4l2(stream)是通过msm-camera获取到相关信息的,v4l2(control)是通过msm-config获取到相关信息的
分析:
在android中,其实完全可以将私有代码封闭在HAL中,而不用再弄那么一个daemon出来。之所以这样,估计是因为金窝银窝不如自己的狗窝吧。
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值