mirror of
https://github.com/torvalds/linux.git
synced 2024-12-08 20:21:34 +00:00
media: mediatek: vcodec: Fix v4l2 compliance decoder cmd test fail
Will return -EINVAL using standard framework api when test stateless
decoder with cmd VIDIOC_(TRY)DECODER_CMD. Disable them to adjust v4l2
compliance test for user driver(GStreamer/Chrome) won't use decoder cmd.
Fixes: 8cdc3794b2
("media: mtk-vcodec: vdec: support stateless API")
Signed-off-by: Yunfei Dong <yunfei.dong@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@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
f9222f8ca1
commit
08a8382882
@ -47,14 +47,7 @@ static struct mtk_q_data *mtk_vdec_get_q_data(struct mtk_vcodec_ctx *ctx,
|
||||
static int vidioc_try_decoder_cmd(struct file *file, void *priv,
|
||||
struct v4l2_decoder_cmd *cmd)
|
||||
{
|
||||
struct mtk_vcodec_ctx *ctx = fh_to_ctx(priv);
|
||||
|
||||
/* Use M2M stateless helper if relevant */
|
||||
if (ctx->dev->vdec_pdata->uses_stateless_api)
|
||||
return v4l2_m2m_ioctl_stateless_try_decoder_cmd(file, priv,
|
||||
cmd);
|
||||
else
|
||||
return v4l2_m2m_ioctl_try_decoder_cmd(file, priv, cmd);
|
||||
return v4l2_m2m_ioctl_try_decoder_cmd(file, priv, cmd);
|
||||
}
|
||||
|
||||
|
||||
@ -69,10 +62,6 @@ static int vidioc_decoder_cmd(struct file *file, void *priv,
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
/* Use M2M stateless helper if relevant */
|
||||
if (ctx->dev->vdec_pdata->uses_stateless_api)
|
||||
return v4l2_m2m_ioctl_stateless_decoder_cmd(file, priv, cmd);
|
||||
|
||||
mtk_v4l2_debug(1, "decoder cmd=%u", cmd->cmd);
|
||||
dst_vq = v4l2_m2m_get_vq(ctx->m2m_ctx,
|
||||
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
|
||||
|
@ -400,6 +400,9 @@ static int mtk_vcodec_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
if (dev->vdec_pdata->uses_stateless_api) {
|
||||
v4l2_disable_ioctl(vfd_dec, VIDIOC_DECODER_CMD);
|
||||
v4l2_disable_ioctl(vfd_dec, VIDIOC_TRY_DECODER_CMD);
|
||||
|
||||
dev->mdev_dec.dev = &pdev->dev;
|
||||
strscpy(dev->mdev_dec.model, MTK_VCODEC_DEC_NAME,
|
||||
sizeof(dev->mdev_dec.model));
|
||||
|
Loading…
Reference in New Issue
Block a user