第24讲 CDM工作流程

2024年11月06日 第24讲 CDM工作流程 极客笔记

本讲是Camera KMD ISP子系统专题的第24讲,我们讲解Camera KMD ISP子系统CDM之工作流程。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

CDM bl request

  • struct cam_cdm_bl_request – Cam CDM HW base & length (BL) request

  • BL(base&length) 意思就是提供cdm命令的基地址和长度给cdm hw, cdm hw就可以正确解析一个cdm命令了。

CDM命令分类

CDM 命令有哪些

  • CAM_CDM_CMD_DMI //一般用于配置look up table
  • CAM_CDM_CMD_REG_CONT //连续寄存器配置
  • CAM_CDM_CMD_REG_RANDOM //随机寄存器配置
  • CAM_CDM_CMD_BUFF_INDIRECT //cdm命令在另外一个Buffer,间接访问这些CDM命令
  • CAM_CDM_CMD_GEN_IRQ //产生一个中断
  • CAM_CDM_CMD_CHANGE_BASE //修改硬件寄存器base addr,例如多个tfe共用一个cdm hw时
  • CAM_CDM_CMD_COMP_WAIT //等待一个comp 事件
  • CAM_CDM_CLEAR_COMP_WAIT //清除一个comp 事件

CDM命令存在形式

CDM DMI Command

CDM REG Continuous Command

CDM REG Random Command

CDM Indirect Command

如何使用CDM

Client->data.cam_cdm_callback回调接口是client 调用cam_cdm_acquire()时传进来的

struct cam_cdm_bl_request介绍

cam_cdm_submit_bls()接口的参数struct cam_cdm_bl_request

所有的cdm 命令都是组装到cam_cdm_bl_request中发送到cdm hw

  • 如何组装cam_cdm_bl_request

  • 实际上所有的cdm命令都是存放在cmd buffer中,需要一个一个编排到cam_cdm_bl_request中

CDM hw解析执行bl request

本文链接:http://so.lmcjl.com/news/17171/

展开阅读全文