summaryrefslogtreecommitdiff
path: root/drivers/media/platform/qcom/iris/iris_vdec.c
diff options
context:
space:
mode:
authorVedang Nagar <quic_vnagar@quicinc.com>2025-02-07 13:24:57 +0530
committerHans Verkuil <hverkuil@xs4all.nl>2025-02-07 11:51:37 +0100
commit3a19d7b9e08b00969a28d0e137c0fbd7feaa1780 (patch)
tree0679c5da369747eba62ad1d21844fd17fc16f440 /drivers/media/platform/qcom/iris/iris_vdec.c
parent11712ce70f8e52fc94365b48ee15aec806b02422 (diff)
media: iris: implement set properties to firmware during streamon
During the stream on operation, set some mandatory properties on the firmware to start a session. Set all v4l2 properties, which are set by the client, on to firmware, which is prepared with the dependency graph. Signed-off-by: Vedang Nagar <quic_vnagar@quicinc.com> Tested-by: Stefan Schmidt <stefan.schmidt@linaro.org> # x1e80100 (Dell XPS 13 9345) Reviewed-by: Stefan Schmidt <stefan.schmidt@linaro.org> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-HDK Signed-off-by: Dikshita Agarwal <quic_dikshita@quicinc.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Diffstat (limited to 'drivers/media/platform/qcom/iris/iris_vdec.c')
-rw-r--r--drivers/media/platform/qcom/iris/iris_vdec.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/iris/iris_vdec.c b/drivers/media/platform/qcom/iris/iris_vdec.c
index 92651d86376d..13902f4e9724 100644
--- a/drivers/media/platform/qcom/iris/iris_vdec.c
+++ b/drivers/media/platform/qcom/iris/iris_vdec.c
@@ -267,6 +267,12 @@ static int iris_vdec_process_streamon_input(struct iris_inst *inst)
int iris_vdec_streamon_input(struct iris_inst *inst)
{
+ int ret;
+
+ ret = iris_set_properties(inst, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
+ if (ret)
+ return ret;
+
return iris_vdec_process_streamon_input(inst);
}
@@ -284,8 +290,13 @@ static int iris_vdec_process_streamon_output(struct iris_inst *inst)
int iris_vdec_streamon_output(struct iris_inst *inst)
{
+ const struct iris_hfi_command_ops *hfi_ops = inst->core->hfi_ops;
int ret;
+ ret = hfi_ops->session_set_config_params(inst, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
+ if (ret)
+ return ret;
+
ret = iris_vdec_process_streamon_output(inst);
if (ret)
goto error;