static void fimc_is_scp_buffer_queue(struct vb2_buffer *vb) { int ret = 0; struct fimc_is_video_ctx *vctx = vb->vb2_queue->drv_priv; struct fimc_is_queue *queue; struct fimc_is_video *video; struct fimc_is_device_ischain *device; struct fimc_is_subdev *subdev; BUG_ON(!vctx); #ifdef DBG_STREAMING dbg_scp("%s\n", __func__); #endif queue = GET_DST_QUEUE(vctx); video = vctx->video; device = vctx->device; subdev = &device->scp; ret = fimc_is_queue_buffer_queue(queue, video->vb2, vb); if (ret) { merr("fimc_is_queue_buffer_queue is fail(%d)", vctx, ret); return; } ret = fimc_is_subdev_buffer_queue(subdev, vb->v4l2_buf.index); if (ret) { merr("fimc_is_subdev_buffer_queue is fail(%d)", vctx, ret); return; } }
static int fimc_is_scp_buffer_finish(struct vb2_buffer *vb) { int ret = 0; struct fimc_is_video_ctx *vctx = vb->vb2_queue->drv_priv; struct fimc_is_device_ischain *ischain = vctx->device; struct fimc_is_subdev *scp = &ischain->scp; #ifdef DBG_STREAMING dbg_scp("%s(%d)\n", __func__, vb->v4l2_buf.index); #endif ret = fimc_is_subdev_buffer_finish(scp, vb->v4l2_buf.index); return ret; }
static int fimc_is_scc_video_set_format_mplane(struct file *file, void *fh, struct v4l2_format *format) { int ret = 0; struct fimc_is_video_ctx *video_ctx = file->private_data; dbg_scp("%s\n", __func__); ret = fimc_is_video_set_format_mplane(video_ctx, format); dbg_scc("req w : %d req h : %d\n", video_ctx->frame.width, video_ctx->frame.height); return ret; }
static int fimc_is_bayer_video_set_format_mplane(struct file *file, void *fh, struct v4l2_format *format) { int ret = 0; struct fimc_is_video_sensor *video = file->private_data; dbg_scp("%s\n", __func__); ret = fimc_is_video_set_format_mplane(&video->common, format); dbg_sensor("req w : %d req h : %d\n", video->common.frame.width, video->common.frame.height); return ret; }