media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls
The (TRY_)DECODER_CMD ioctls are used to support flushing when holding capture buffers is supported. This is the case of this driver but the ioctls were never hooked to the ioctl ops. Add them to correctly support flushing. Fixes: 340ce50f75a6 ("media: hantro: Enable HOLD_CAPTURE_BUF for H.264") Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
3907f6ef8e
commit
6c0d9e12b1
@ -907,6 +907,8 @@ static int hantro_add_func(struct hantro_dev *vpu, unsigned int funcid)
|
||||
|
||||
if (funcid == MEDIA_ENT_F_PROC_VIDEO_ENCODER) {
|
||||
vpu->encoder = func;
|
||||
v4l2_disable_ioctl(vfd, VIDIOC_TRY_DECODER_CMD);
|
||||
v4l2_disable_ioctl(vfd, VIDIOC_DECODER_CMD);
|
||||
} else {
|
||||
vpu->decoder = func;
|
||||
v4l2_disable_ioctl(vfd, VIDIOC_TRY_ENCODER_CMD);
|
||||
|
@ -767,6 +767,9 @@ const struct v4l2_ioctl_ops hantro_ioctl_ops = {
|
||||
.vidioc_g_selection = vidioc_g_selection,
|
||||
.vidioc_s_selection = vidioc_s_selection,
|
||||
|
||||
.vidioc_decoder_cmd = v4l2_m2m_ioctl_stateless_decoder_cmd,
|
||||
.vidioc_try_decoder_cmd = v4l2_m2m_ioctl_stateless_try_decoder_cmd,
|
||||
|
||||
.vidioc_try_encoder_cmd = v4l2_m2m_ioctl_try_encoder_cmd,
|
||||
.vidioc_encoder_cmd = vidioc_encoder_cmd,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user