media: venus: venc: Fix h264 8x8 transform control
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Tue, 8 Feb 2022 01:18:16 +0000 (02:18 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 7 Mar 2022 09:36:07 +0000 (10:36 +0100)
commit61b3317dd424a3488b6754d7ff8301944d9d17d7
tree6971d73cab4e86fe470526bf773ab5ecd11c77f9
parent8403fdd775858a7bf04868d43daea0acbe49ddfc
media: venus: venc: Fix h264 8x8 transform control

During encoder driver open controls are initialized via a call
to v4l2_ctrl_handler_setup which returns EINVAL error for
V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM v4l2 control. The control
default value is disabled and because of firmware limitations
8x8 transform cannot be disabled for the supported HIGH and
CONSTRAINED_HIGH profiles.

To fix the issue change the control default value to enabled
(this is fine because the firmware enables 8x8 transform for
high and constrained_high profiles by default). Also, correct
the checking of profile ids in s_ctrl from hfi to v4l2 ids.

cc: stable@vger.kernel.org # 5.15+
Fixes: bfee75f73c37 ("media: venus: venc: add support for V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM control")
Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/qcom/venus/venc.c
drivers/media/platform/qcom/venus/venc_ctrls.c