Le lundi 04 avril 2022 à 18:35 +0200, Philipp Zabel a écrit : > Use v4l2_disable_ioctl() to disable the stateful encoder ioctls > VIDIOC_ENUM_FRAMEINTERVALS, VIDIOC_G_PARM, and VIDIOC_S_PARM for > the jpeg encoder device, to fix this v4l2-compliance test failure: > > fail: v4l2-test-formats.cpp(68): node->is_m2m && !(node->codec_mask & STATEFUL_ENCODER) > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL > fail: v4l2-test-formats.cpp(1363): node->is_m2m && !is_stateful_enc > test VIDIOC_G/S_PARM: FAIL > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@xxxxxxxxxxxxx> > --- > drivers/media/platform/chips-media/coda-common.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/media/platform/chips-media/coda-common.c b/drivers/media/platform/chips-media/coda-common.c > index c60473b18b6b..4a7346ed771e 100644 > --- a/drivers/media/platform/chips-media/coda-common.c > +++ b/drivers/media/platform/chips-media/coda-common.c > @@ -2882,6 +2882,11 @@ static int coda_register_device(struct coda_dev *dev, int i) > if (dev->devtype->vdevs[i]->type == CODA_INST_ENCODER) { > v4l2_disable_ioctl(vfd, VIDIOC_DECODER_CMD); > v4l2_disable_ioctl(vfd, VIDIOC_TRY_DECODER_CMD); > + if (dev->devtype->vdevs[i]->dst_formats[0] == V4L2_PIX_FMT_JPEG) { > + v4l2_disable_ioctl(vfd, VIDIOC_ENUM_FRAMEINTERVALS); > + v4l2_disable_ioctl(vfd, VIDIOC_G_PARM); > + v4l2_disable_ioctl(vfd, VIDIOC_S_PARM); > + } > } else { > v4l2_disable_ioctl(vfd, VIDIOC_ENCODER_CMD); > v4l2_disable_ioctl(vfd, VIDIOC_TRY_ENCODER_CMD);