mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 01:31:44 +00:00
[media] media: fsl-viu: fix support for streaming with mmap method
Streaming using mmap didn't work in the VIU driver. We need to start/stop DMA in streamon/streamoff and free the buffers on release. Add appropriate driver extension now. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
2a72b39e51
commit
c335333050
@ -915,6 +915,8 @@ static int vidioc_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
|
||||
if (fh->type != i)
|
||||
return -EINVAL;
|
||||
|
||||
viu_start_dma(fh->dev);
|
||||
|
||||
return videobuf_streamon(&fh->vb_vidq);
|
||||
}
|
||||
|
||||
@ -927,6 +929,8 @@ static int vidioc_streamoff(struct file *file, void *priv, enum v4l2_buf_type i)
|
||||
if (fh->type != i)
|
||||
return -EINVAL;
|
||||
|
||||
viu_stop_dma(fh->dev);
|
||||
|
||||
return videobuf_streamoff(&fh->vb_vidq);
|
||||
}
|
||||
|
||||
@ -1331,6 +1335,7 @@ static int viu_release(struct file *file)
|
||||
|
||||
viu_stop_dma(dev);
|
||||
videobuf_stop(&fh->vb_vidq);
|
||||
videobuf_mmap_free(&fh->vb_vidq);
|
||||
|
||||
kfree(fh);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user