Hi, Shu-hsiang: On Wed, 2024-10-09 at 19:15 +0800, Shu-hsiang Yang wrote: > Introduces the top media device driver for the MediaTek ISP7X CAMSYS. > The driver maintains the camera system, including sub-device management, > DMA operations, and integration with the V4L2 framework. It handles > request stream data, buffer management, and MediaTek-specific features, > and pipeline management, streaming control, error handling mechanism. > Additionally, it aggregates sub-drivers for the camera interface, raw > and yuv pipelines. > > Signed-off-by: Shu-hsiang Yang <Shu-hsiang.Yang@xxxxxxxxxxxx> > --- [snip] > +static void mtk_cam_config_raw_path(struct mtk_cam_device *cam, > + struct mtkcam_ipi_frame_param *frame_param, > + struct mtk_cam_buffer *buf) > +{ > + struct mtk_cam_video_device *node; > + struct mtk_raw_pipeline *raw_pipeline; > + > + node = mtk_cam_vbq_to_vdev(buf->vbb.vb2_buf.vb2_queue); > + raw_pipeline = mtk_cam_dev_get_raw_pipeline(cam, node->uid.pipe_id); > + if (!raw_pipeline) { > + dev_err(cam->dev, "%s: cannot find raw_pipeline, pipe_id:%d\n", > + __func__, node->uid.pipe_id); > + return; > + } > + > + if (raw_pipeline->res_config.raw_path == V4L2_MTK_CAM_RAW_PATH_SELECT_BPC) > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_AFTER_BPC; > + else if (raw_pipeline->res_config.raw_path == V4L2_MTK_CAM_RAW_PATH_SELECT_FUS) > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_AFTER_FUS; > + else if (raw_pipeline->res_config.raw_path == V4L2_MTK_CAM_RAW_PATH_SELECT_DGN) > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_AFTER_DGN; > + else if (raw_pipeline->res_config.raw_path == V4L2_MTK_CAM_RAW_PATH_SELECT_LSC) > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_AFTER_LSC; > + else if (raw_pipeline->res_config.raw_path == V4L2_MTK_CAM_RAW_PATH_SELECT_LTM) > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_AFTER_LTM; > + else > + /* un-processed raw frame */ > + frame_param->raw_param.imgo_path_sel = MTKCAM_IPI_IMGO_UNPROCESSED; This patch is too big, so let this patch support basic function first. Let this patch support only MTKCAM_IPI_IMGO_UNPROCESSED, and add other path by other patch. Maybe one patch for one path. Regards, CK > + > + dev_dbg(cam->dev, "%s: node:%d fd:%d idx:%d raw_path(%d) ipi imgo_path_sel(%d))\n", > + __func__, node->desc.id, buf->vbb.request_fd, buf->vbb.vb2_buf.index, > + raw_pipeline->res_config.raw_path, frame_param->raw_param.imgo_path_sel); > +} > +