static int fimc_is_sen_queue_setup(struct vb2_queue *vbq, const struct v4l2_format *fmt, unsigned int *num_buffers, unsigned int *num_planes, unsigned int sizes[], void *allocators[]) { int ret = 0; struct fimc_is_video_ctx *vctx = vbq->drv_priv; struct fimc_is_video *video; struct fimc_is_queue *queue; BUG_ON(!vctx); BUG_ON(!vctx->video); mdbgv_sensor("%s\n", vctx, __func__); queue = GET_DST_QUEUE(vctx); video = vctx->video; ret = fimc_is_queue_setup(queue, video->alloc_ctx, num_planes, sizes, allocators); if (ret) merr("fimc_is_queue_setup is fail(%d)", vctx, ret); return ret; }
static int fimc_is_isp_queue_setup(struct vb2_queue *vbq, const struct v4l2_format *fmt, unsigned int *num_buffers, unsigned int *num_planes, unsigned int sizes[], void *allocators[]) { int ret = 0; struct fimc_is_video_ctx *vctx = vbq->drv_priv; struct fimc_is_video *video; struct fimc_is_queue *queue; struct fimc_is_core *core; void *alloc_ctx; BUG_ON(!vctx); mdbgv_isp("%s\n", vctx, __func__); video = vctx->video; queue = GET_SRC_QUEUE(vctx); core = video->core; alloc_ctx = core->mem.alloc_ctx; ret = fimc_is_queue_setup(queue, alloc_ctx, num_planes, sizes, allocators); if (ret) merr("fimc_is_queue_setup is fail(%d)", vctx, ret); return ret; }
static int fimc_is_3a1_queue_setup(struct vb2_queue *vbq, const struct v4l2_format *fmt, unsigned int *num_buffers, unsigned int *num_planes, unsigned int sizes[], void *allocators[]) { int ret = 0; struct fimc_is_video_ctx *vctx = vbq->drv_priv; struct fimc_is_video *video; struct fimc_is_queue *queue; struct fimc_is_core *core; void *alloc_ctx; BUG_ON(!vctx); mdbgv_3a1("%s\n", vctx, __func__); queue = GET_VCTX_QUEUE(vctx, vbq); video = vctx->video; core = video->core; alloc_ctx = core->mem.alloc_ctx; if (*num_buffers < VIDEO_3A1_MIN_BUFFERS) { warn("number of req. buffers is too small(%d->%d)\n", *num_buffers, VIDEO_3A1_MIN_BUFFERS); *num_buffers = VIDEO_3A1_MIN_BUFFERS; } ret = fimc_is_queue_setup(queue, alloc_ctx, num_planes, sizes, allocators); if (ret) merr("fimc_is_queue_setup is fail(%d)", vctx, ret); return ret; }