How qualcomm-linux/camera-driver works
This is a Qualcomm Linux camera-driver stack: camera device nodes and contexts manage acquisition, configuration, streaming requests, and completion for camera hardware. The common context layer dispatches operations through state-specific callbacks; ISP request handling tracks requests and forwards hardware work, while packet parsing invokes hardware command operations. The tree also contains distinct processing engines and shared hardware services. The README is empty, and sampled source is partial, so the graph emphasizes evidenced dispatch and calls; it does not infer wiring between unsampled engines or IRQ clients.
Main entry points: cam_context.c Context Dispatcher · cam_isp_hw_mgr.c ISP Hardware Manager · cam_isp_context.c ISP Context · cam_custom_context.c Custom Context
Components 20
Camera Core
- Context Dispatcher
camera/drivers/cam_core/cam_context.c - Context Interface
camera/drivers/cam_core/cam_context.h
ISP Pipeline
- ISP Context
camera/drivers/cam_isp/cam_isp_context.c - ISP Device
camera/drivers/cam_isp/cam_isp_dev.c - ISP Hardware Manager
camera/drivers/cam_isp/isp_hw_mgr/cam_isp_hw_mgr.c - IFE Manager
camera/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c - TFE Manager
camera/drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c - ISP Packet Parser
camera/drivers/cam_isp/isp_hw_mgr/hw_utils/cam_isp_packet_parser.c - IRQ Controller
camera/drivers/cam_isp/isp_hw_mgr/hw_utils/irq_controller/cam_irq_controller.c
Processing Engines
- ICP Context
camera/drivers/cam_icp/cam_icp_context.c - ICP Hardware Manager
camera/drivers/cam_icp/icp_hw/icp_hw_mgr/cam_icp_hw_mgr.c - CRE Hardware Manager
camera/drivers/cam_cre/cam_cre_hw_mgr/cam_cre_hw_mgr.c - Face Detect Manager
camera/drivers/cam_fd/fd_hw_mgr/cam_fd_hw_mgr.c - JPEG Hardware Manager
camera/drivers/cam_jpeg/jpeg_hw/cam_jpeg_hw_mgr.c - LRME Hardware Manager
camera/drivers/cam_lrme/lrme_hw_mgr/cam_lrme_hw_mgr.c - Custom Context
camera/drivers/cam_cust/cam_custom_context.c - Custom Hardware Manager
camera/drivers/cam_cust/cam_custom_hw_mgr/cam_custom_hw_mgr.c
Hardware Services
- Command DMA
camera/drivers/cam_cdm/cam_cdm_intf.c - Camera Power Service
camera/drivers/cam_cpas/cam_cpas_intf.c
Other components
- Camera Client
Connections 11
- Camera Client → Context Dispatcher: issues commands
- Context Dispatcher → Context Interface: uses interface
- Context Dispatcher → ISP Context: dispatches callbacks
- ISP Context → ISP Hardware Manager: submits hardware work
- ISP Context → ISP Packet Parser: prepares requests
- ISP Packet Parser → ISP Hardware Manager: calls hardware ops
- ISP Hardware Manager → IFE Manager: dispatches IFE
- ISP Hardware Manager → TFE Manager: dispatches TFE
- ICP Context → Context Dispatcher: uses context services
- Custom Context → Context Dispatcher: initializes base context
- Custom Context → Custom Hardware Manager: calls hardware interface