mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-29 05:52:38 -04:00
media: atomisp: Remove the outq videobuf queue
After the file-injection support removal the outq videobuf queue is no longer used, remove it. Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
1ace82c7f9
commit
5e61114e3a
@@ -593,47 +593,6 @@ static void atomisp_buf_release(struct videobuf_queue *vq,
|
||||
atomisp_videobuf_free_buf(vb);
|
||||
}
|
||||
|
||||
static int atomisp_buf_setup_output(struct videobuf_queue *vq,
|
||||
unsigned int *count, unsigned int *size)
|
||||
{
|
||||
struct atomisp_video_pipe *pipe = vq->priv_data;
|
||||
|
||||
*size = pipe->pix.sizeimage;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int atomisp_buf_prepare_output(struct videobuf_queue *vq,
|
||||
struct videobuf_buffer *vb,
|
||||
enum v4l2_field field)
|
||||
{
|
||||
struct atomisp_video_pipe *pipe = vq->priv_data;
|
||||
|
||||
vb->size = pipe->pix.sizeimage;
|
||||
vb->width = pipe->pix.width;
|
||||
vb->height = pipe->pix.height;
|
||||
vb->field = field;
|
||||
vb->state = VIDEOBUF_PREPARED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void atomisp_buf_queue_output(struct videobuf_queue *vq,
|
||||
struct videobuf_buffer *vb)
|
||||
{
|
||||
struct atomisp_video_pipe *pipe = vq->priv_data;
|
||||
|
||||
list_add_tail(&vb->queue, &pipe->activeq_out);
|
||||
vb->state = VIDEOBUF_QUEUED;
|
||||
}
|
||||
|
||||
static void atomisp_buf_release_output(struct videobuf_queue *vq,
|
||||
struct videobuf_buffer *vb)
|
||||
{
|
||||
videobuf_vmalloc_free(vb);
|
||||
vb->state = VIDEOBUF_NEEDS_INIT;
|
||||
}
|
||||
|
||||
static const struct videobuf_queue_ops videobuf_qops = {
|
||||
.buf_setup = atomisp_buf_setup,
|
||||
.buf_prepare = atomisp_buf_prepare,
|
||||
@@ -641,13 +600,6 @@ static const struct videobuf_queue_ops videobuf_qops = {
|
||||
.buf_release = atomisp_buf_release,
|
||||
};
|
||||
|
||||
static const struct videobuf_queue_ops videobuf_qops_output = {
|
||||
.buf_setup = atomisp_buf_setup_output,
|
||||
.buf_prepare = atomisp_buf_prepare_output,
|
||||
.buf_queue = atomisp_buf_queue_output,
|
||||
.buf_release = atomisp_buf_release_output,
|
||||
};
|
||||
|
||||
static int atomisp_init_pipe(struct atomisp_video_pipe *pipe)
|
||||
{
|
||||
/* init locks */
|
||||
@@ -660,15 +612,7 @@ static int atomisp_init_pipe(struct atomisp_video_pipe *pipe)
|
||||
sizeof(struct atomisp_buffer), pipe,
|
||||
NULL); /* ext_lock: NULL */
|
||||
|
||||
videobuf_queue_vmalloc_init(&pipe->outq, &videobuf_qops_output, NULL,
|
||||
&pipe->irq_lock,
|
||||
V4L2_BUF_TYPE_VIDEO_OUTPUT,
|
||||
V4L2_FIELD_NONE,
|
||||
sizeof(struct atomisp_buffer), pipe,
|
||||
NULL); /* ext_lock: NULL */
|
||||
|
||||
INIT_LIST_HEAD(&pipe->activeq);
|
||||
INIT_LIST_HEAD(&pipe->activeq_out);
|
||||
INIT_LIST_HEAD(&pipe->buffers_waiting_for_param);
|
||||
INIT_LIST_HEAD(&pipe->per_frame_params);
|
||||
memset(pipe->frame_request_config_id, 0,
|
||||
@@ -964,12 +908,6 @@ static int atomisp_release(struct file *file)
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (pipe->outq.bufs[0]) {
|
||||
mutex_lock(&pipe->outq.vb_lock);
|
||||
videobuf_queue_cancel(&pipe->outq);
|
||||
mutex_unlock(&pipe->outq.vb_lock);
|
||||
}
|
||||
|
||||
/*
|
||||
* A little trick here:
|
||||
* file injection input resolution is recorded in the sink pad,
|
||||
|
||||
@@ -1066,7 +1066,6 @@ static void atomisp_init_subdev_pipe(struct atomisp_sub_device *asd,
|
||||
pipe->isp = asd->isp;
|
||||
spin_lock_init(&pipe->irq_lock);
|
||||
INIT_LIST_HEAD(&pipe->activeq);
|
||||
INIT_LIST_HEAD(&pipe->activeq_out);
|
||||
INIT_LIST_HEAD(&pipe->buffers_waiting_for_param);
|
||||
INIT_LIST_HEAD(&pipe->per_frame_params);
|
||||
memset(pipe->frame_request_config_id,
|
||||
|
||||
@@ -70,9 +70,7 @@ struct atomisp_video_pipe {
|
||||
enum v4l2_buf_type type;
|
||||
struct media_pad pad;
|
||||
struct videobuf_queue capq;
|
||||
struct videobuf_queue outq;
|
||||
struct list_head activeq;
|
||||
struct list_head activeq_out;
|
||||
/*
|
||||
* the buffers waiting for per-frame parameters, this is only valid
|
||||
* in per-frame setting mode.
|
||||
@@ -86,9 +84,10 @@ struct atomisp_video_pipe {
|
||||
|
||||
unsigned int buffers_in_css;
|
||||
|
||||
/* irq_lock is used to protect video buffer state change operations and
|
||||
* also to make activeq, activeq_out, capq and outq list
|
||||
* operations atomic. */
|
||||
/*
|
||||
* irq_lock is used to protect video buffer state change operations and
|
||||
* also to make activeq and capq operations atomic.
|
||||
*/
|
||||
spinlock_t irq_lock;
|
||||
unsigned int users;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user