|
@@ -496,8 +496,8 @@ static struct vb2_ops sh_mobile_ceu_videobuf_ops = {
|
|
|
.buf_queue = sh_mobile_ceu_videobuf_queue,
|
|
|
.buf_cleanup = sh_mobile_ceu_videobuf_release,
|
|
|
.buf_init = sh_mobile_ceu_videobuf_init,
|
|
|
- .wait_prepare = soc_camera_unlock,
|
|
|
- .wait_finish = soc_camera_lock,
|
|
|
+ .wait_prepare = vb2_ops_wait_prepare,
|
|
|
+ .wait_finish = vb2_ops_wait_finish,
|
|
|
.stop_streaming = sh_mobile_ceu_stop_streaming,
|
|
|
};
|
|
|
|
|
@@ -1661,6 +1661,8 @@ static int sh_mobile_ceu_querycap(struct soc_camera_host *ici,
|
|
|
static int sh_mobile_ceu_init_videobuf(struct vb2_queue *q,
|
|
|
struct soc_camera_device *icd)
|
|
|
{
|
|
|
+ struct soc_camera_host *ici = to_soc_camera_host(icd->parent);
|
|
|
+
|
|
|
q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
|
|
|
q->io_modes = VB2_MMAP | VB2_USERPTR;
|
|
|
q->drv_priv = icd;
|
|
@@ -1668,6 +1670,7 @@ static int sh_mobile_ceu_init_videobuf(struct vb2_queue *q,
|
|
|
q->mem_ops = &vb2_dma_contig_memops;
|
|
|
q->buf_struct_size = sizeof(struct sh_mobile_ceu_buffer);
|
|
|
q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
|
|
|
+ q->lock = &ici->host_lock;
|
|
|
|
|
|
return vb2_queue_init(q);
|
|
|
}
|