On Fri May 9 14:09:10 2025 +0530, Dikshita Agarwal wrote:
> Subscribe and set mandatory properties to the firmware for HEVC and VP9
> decoders.
> 
> Acked-by: Vikash Garodia <quic_vgaro...@quicinc.com>
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8550-HDK
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-QRD
> Tested-by: Neil Armstrong <neil.armstr...@linaro.org> # on SM8650-HDK
> Signed-off-by: Dikshita Agarwal <quic_diksh...@quicinc.com>
> Tested-by: Vikash Garodia <quic_vgaro...@quicinc.com> # on sa8775p-ride
> Signed-off-by: Bryan O'Donoghue <b...@kernel.org>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/qcom/iris/iris_hfi_common.h |   1 +
 .../platform/qcom/iris/iris_hfi_gen1_command.c     |   4 +-
 .../platform/qcom/iris/iris_hfi_gen2_command.c     |  97 +++++++++++++++---
 .../platform/qcom/iris/iris_hfi_gen2_response.c    |   7 ++
 .../platform/qcom/iris/iris_platform_common.h      |  16 ++-
 .../media/platform/qcom/iris/iris_platform_gen2.c  | 114 +++++++++++++++++----
 .../platform/qcom/iris/iris_platform_sm8250.c      |   4 +-
 7 files changed, 203 insertions(+), 40 deletions(-)

---

diff --git a/drivers/media/platform/qcom/iris/iris_hfi_common.h 
b/drivers/media/platform/qcom/iris/iris_hfi_common.h
index b2c541367fc6..9e6aadb83783 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_common.h
+++ b/drivers/media/platform/qcom/iris/iris_hfi_common.h
@@ -140,6 +140,7 @@ struct hfi_subscription_params {
        u32     color_info;
        u32     profile;
        u32     level;
+       u32     tier;
 };
 
 u32 iris_hfi_get_v4l2_color_primaries(u32 hfi_primaries);
diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c 
b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
index dbb1b1dab097..2e3f5a6b2ff1 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_gen1_command.c
@@ -776,8 +776,8 @@ static int iris_hfi_gen1_session_set_config_params(struct 
iris_inst *inst, u32 p
                        iris_hfi_gen1_set_bufsize},
        };
 
-       config_params = core->iris_platform_data->input_config_params;
-       config_params_size = core->iris_platform_data->input_config_params_size;
+       config_params = core->iris_platform_data->input_config_params_default;
+       config_params_size = 
core->iris_platform_data->input_config_params_default_size;
 
        if (V4L2_TYPE_IS_OUTPUT(plane)) {
                for (i = 0; i < config_params_size; i++) {
diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c 
b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
index 8c91d336ff7e..7ca5ae13d62b 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c
@@ -391,11 +391,28 @@ static int 
iris_hfi_gen2_set_linear_stride_scanline(struct iris_inst *inst)
                                                  sizeof(u64));
 }
 
+static int iris_hfi_gen2_set_tier(struct iris_inst *inst)
+{
+       struct iris_inst_hfi_gen2 *inst_hfi_gen2 = to_iris_inst_hfi_gen2(inst);
+       u32 port = iris_hfi_gen2_get_port(V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE);
+       u32 tier = inst->fw_caps[TIER].value;
+
+       inst_hfi_gen2->src_subcr_params.tier = tier;
+
+       return iris_hfi_gen2_session_set_property(inst,
+                                                 HFI_PROP_TIER,
+                                                 HFI_HOST_FLAGS_NONE,
+                                                 port,
+                                                 HFI_PAYLOAD_U32_ENUM,
+                                                 &tier,
+                                                 sizeof(u32));
+}
+
 static int iris_hfi_gen2_session_set_config_params(struct iris_inst *inst, u32 
plane)
 {
        struct iris_core *core = inst->core;
-       u32 config_params_size, i, j;
-       const u32 *config_params;
+       u32 config_params_size = 0, i, j;
+       const u32 *config_params = NULL;
        int ret;
 
        static const struct iris_hfi_prop_type_handle prop_type_handle_arr[] = {
@@ -410,11 +427,27 @@ static int iris_hfi_gen2_session_set_config_params(struct 
iris_inst *inst, u32 p
                {HFI_PROP_LEVEL,                      iris_hfi_gen2_set_level   
               },
                {HFI_PROP_COLOR_FORMAT,               
iris_hfi_gen2_set_colorformat            },
                {HFI_PROP_LINEAR_STRIDE_SCANLINE,     
iris_hfi_gen2_set_linear_stride_scanline },
+               {HFI_PROP_TIER,                       iris_hfi_gen2_set_tier    
               },
        };
 
        if (V4L2_TYPE_IS_OUTPUT(plane)) {
-               config_params = core->iris_platform_data->input_config_params;
-               config_params_size = 
core->iris_platform_data->input_config_params_size;
+               switch (inst->codec) {
+               case V4L2_PIX_FMT_H264:
+                       config_params = 
core->iris_platform_data->input_config_params_default;
+                       config_params_size =
+                               
core->iris_platform_data->input_config_params_default_size;
+                       break;
+               case V4L2_PIX_FMT_HEVC:
+                       config_params = 
core->iris_platform_data->input_config_params_hevc;
+                       config_params_size =
+                               
core->iris_platform_data->input_config_params_hevc_size;
+                       break;
+               case V4L2_PIX_FMT_VP9:
+                       config_params = 
core->iris_platform_data->input_config_params_vp9;
+                       config_params_size =
+                               
core->iris_platform_data->input_config_params_vp9_size;
+                       break;
+               }
        } else {
                config_params = core->iris_platform_data->output_config_params;
                config_params_size = 
core->iris_platform_data->output_config_params_size;
@@ -584,8 +617,8 @@ static int iris_hfi_gen2_subscribe_change_param(struct 
iris_inst *inst, u32 plan
        struct hfi_subscription_params subsc_params;
        u32 prop_type, payload_size, payload_type;
        struct iris_core *core = inst->core;
-       const u32 *change_param;
-       u32 change_param_size;
+       const u32 *change_param = NULL;
+       u32 change_param_size = 0;
        u32 payload[32] = {0};
        u32 hfi_port = 0, i;
        int ret;
@@ -596,8 +629,23 @@ static int iris_hfi_gen2_subscribe_change_param(struct 
iris_inst *inst, u32 plan
                return 0;
        }
 
-       change_param = core->iris_platform_data->input_config_params;
-       change_param_size = core->iris_platform_data->input_config_params_size;
+       switch (inst->codec) {
+       case V4L2_PIX_FMT_H264:
+               change_param = 
core->iris_platform_data->input_config_params_default;
+               change_param_size =
+                       
core->iris_platform_data->input_config_params_default_size;
+               break;
+       case V4L2_PIX_FMT_HEVC:
+               change_param = 
core->iris_platform_data->input_config_params_hevc;
+               change_param_size =
+                       core->iris_platform_data->input_config_params_hevc_size;
+               break;
+       case V4L2_PIX_FMT_VP9:
+               change_param = 
core->iris_platform_data->input_config_params_vp9;
+               change_param_size =
+                       core->iris_platform_data->input_config_params_vp9_size;
+               break;
+       }
 
        payload[0] = HFI_MODE_PORT_SETTINGS_CHANGE;
 
@@ -644,6 +692,11 @@ static int iris_hfi_gen2_subscribe_change_param(struct 
iris_inst *inst, u32 plan
                                payload_size = sizeof(u32);
                                payload_type = HFI_PAYLOAD_U32;
                                break;
+                       case HFI_PROP_LUMA_CHROMA_BIT_DEPTH:
+                               payload[0] = subsc_params.bit_depth;
+                               payload_size = sizeof(u32);
+                               payload_type = HFI_PAYLOAD_U32;
+                               break;
                        case HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT:
                                payload[0] = subsc_params.fw_min_count;
                                payload_size = sizeof(u32);
@@ -669,6 +722,11 @@ static int iris_hfi_gen2_subscribe_change_param(struct 
iris_inst *inst, u32 plan
                                payload_size = sizeof(u32);
                                payload_type = HFI_PAYLOAD_U32;
                                break;
+                       case HFI_PROP_TIER:
+                               payload[0] = subsc_params.tier;
+                               payload_size = sizeof(u32);
+                               payload_type = HFI_PAYLOAD_U32;
+                               break;
                        default:
                                prop_type = 0;
                                ret = -EINVAL;
@@ -695,8 +753,8 @@ static int iris_hfi_gen2_subscribe_change_param(struct 
iris_inst *inst, u32 plan
 static int iris_hfi_gen2_subscribe_property(struct iris_inst *inst, u32 plane)
 {
        struct iris_core *core = inst->core;
-       u32 subscribe_prop_size, i;
-       const u32 *subcribe_prop;
+       u32 subscribe_prop_size = 0, i;
+       const u32 *subcribe_prop = NULL;
        u32 payload[32] = {0};
 
        payload[0] = HFI_MODE_PROPERTY;
@@ -705,8 +763,23 @@ static int iris_hfi_gen2_subscribe_property(struct 
iris_inst *inst, u32 plane)
                subscribe_prop_size = 
core->iris_platform_data->dec_input_prop_size;
                subcribe_prop = core->iris_platform_data->dec_input_prop;
        } else {
-               subscribe_prop_size = 
core->iris_platform_data->dec_output_prop_size;
-               subcribe_prop = core->iris_platform_data->dec_output_prop;
+               switch (inst->codec) {
+               case V4L2_PIX_FMT_H264:
+                       subcribe_prop = 
core->iris_platform_data->dec_output_prop_avc;
+                       subscribe_prop_size =
+                               
core->iris_platform_data->dec_output_prop_avc_size;
+                       break;
+               case V4L2_PIX_FMT_HEVC:
+                       subcribe_prop = 
core->iris_platform_data->dec_output_prop_hevc;
+                       subscribe_prop_size =
+                               
core->iris_platform_data->dec_output_prop_hevc_size;
+                       break;
+               case V4L2_PIX_FMT_VP9:
+                       subcribe_prop = 
core->iris_platform_data->dec_output_prop_vp9;
+                       subscribe_prop_size =
+                               
core->iris_platform_data->dec_output_prop_vp9_size;
+                       break;
+               }
        }
 
        for (i = 0; i < subscribe_prop_size; i++)
diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c 
b/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
index 8e54962414ae..a8c30fc5c0d0 100644
--- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
+++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_response.c
@@ -587,6 +587,7 @@ static void iris_hfi_gen2_read_input_subcr_params(struct 
iris_inst *inst)
        }
 
        inst->fw_caps[POC].value = subsc_params.pic_order_cnt;
+       inst->fw_caps[TIER].value = subsc_params.tier;
 
        if (subsc_params.bit_depth != BIT_DEPTH_8 ||
            !(subsc_params.coded_frames & HFI_BITMASK_FRAME_MBS_ONLY_FLAG)) {
@@ -668,6 +669,9 @@ static int iris_hfi_gen2_handle_session_property(struct 
iris_inst *inst,
                inst_hfi_gen2->src_subcr_params.crop_offsets[0] = 
pkt->payload[0];
                inst_hfi_gen2->src_subcr_params.crop_offsets[1] = 
pkt->payload[1];
                break;
+       case HFI_PROP_LUMA_CHROMA_BIT_DEPTH:
+               inst_hfi_gen2->src_subcr_params.bit_depth = pkt->payload[0];
+               break;
        case HFI_PROP_CODED_FRAMES:
                inst_hfi_gen2->src_subcr_params.coded_frames = pkt->payload[0];
                break;
@@ -686,6 +690,9 @@ static int iris_hfi_gen2_handle_session_property(struct 
iris_inst *inst,
        case HFI_PROP_LEVEL:
                inst_hfi_gen2->src_subcr_params.level = pkt->payload[0];
                break;
+       case HFI_PROP_TIER:
+               inst_hfi_gen2->src_subcr_params.tier = pkt->payload[0];
+               break;
        case HFI_PROP_PICTURE_TYPE:
                inst_hfi_gen2->hfi_frame_info.picture_type = pkt->payload[0];
                break;
diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h 
b/drivers/media/platform/qcom/iris/iris_platform_common.h
index 71d23214f224..adafdce8a856 100644
--- a/drivers/media/platform/qcom/iris/iris_platform_common.h
+++ b/drivers/media/platform/qcom/iris/iris_platform_common.h
@@ -179,14 +179,22 @@ struct iris_platform_data {
        u32 max_session_count;
        /* max number of macroblocks per frame supported */
        u32 max_core_mbpf;
-       const u32 *input_config_params;
-       unsigned int input_config_params_size;
+       const u32 *input_config_params_default;
+       unsigned int input_config_params_default_size;
+       const u32 *input_config_params_hevc;
+       unsigned int input_config_params_hevc_size;
+       const u32 *input_config_params_vp9;
+       unsigned int input_config_params_vp9_size;
        const u32 *output_config_params;
        unsigned int output_config_params_size;
        const u32 *dec_input_prop;
        unsigned int dec_input_prop_size;
-       const u32 *dec_output_prop;
-       unsigned int dec_output_prop_size;
+       const u32 *dec_output_prop_avc;
+       unsigned int dec_output_prop_avc_size;
+       const u32 *dec_output_prop_hevc;
+       unsigned int dec_output_prop_hevc_size;
+       const u32 *dec_output_prop_vp9;
+       unsigned int dec_output_prop_vp9_size;
        const u32 *dec_ip_int_buf_tbl;
        unsigned int dec_ip_int_buf_tbl_size;
        const u32 *dec_op_int_buf_tbl;
diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c 
b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
index c2cded2876b7..d3026b2bcb70 100644
--- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
+++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
@@ -257,9 +257,10 @@ static struct tz_cp_config tz_cp_config_sm8550 = {
        .cp_nonpixel_size = 0x24800000,
 };
 
-static const u32 sm8550_vdec_input_config_params[] = {
+static const u32 sm8550_vdec_input_config_params_default[] = {
        HFI_PROP_BITSTREAM_RESOLUTION,
        HFI_PROP_CROP_OFFSETS,
+       HFI_PROP_LUMA_CHROMA_BIT_DEPTH,
        HFI_PROP_CODED_FRAMES,
        HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
        HFI_PROP_PIC_ORDER_CNT_TYPE,
@@ -268,6 +269,26 @@ static const u32 sm8550_vdec_input_config_params[] = {
        HFI_PROP_SIGNAL_COLOR_INFO,
 };
 
+static const u32 sm8550_vdec_input_config_param_hevc[] = {
+       HFI_PROP_BITSTREAM_RESOLUTION,
+       HFI_PROP_CROP_OFFSETS,
+       HFI_PROP_LUMA_CHROMA_BIT_DEPTH,
+       HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
+       HFI_PROP_PROFILE,
+       HFI_PROP_LEVEL,
+       HFI_PROP_TIER,
+       HFI_PROP_SIGNAL_COLOR_INFO,
+};
+
+static const u32 sm8550_vdec_input_config_param_vp9[] = {
+       HFI_PROP_BITSTREAM_RESOLUTION,
+       HFI_PROP_CROP_OFFSETS,
+       HFI_PROP_LUMA_CHROMA_BIT_DEPTH,
+       HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
+       HFI_PROP_PROFILE,
+       HFI_PROP_LEVEL,
+};
+
 static const u32 sm8550_vdec_output_config_params[] = {
        HFI_PROP_COLOR_FORMAT,
        HFI_PROP_LINEAR_STRIDE_SCANLINE,
@@ -277,11 +298,19 @@ static const u32 sm8550_vdec_subscribe_input_properties[] 
= {
        HFI_PROP_NO_OUTPUT,
 };
 
-static const u32 sm8550_vdec_subscribe_output_properties[] = {
+static const u32 sm8550_vdec_subscribe_output_properties_avc[] = {
        HFI_PROP_PICTURE_TYPE,
        HFI_PROP_CABAC_SESSION,
 };
 
+static const u32 sm8550_vdec_subscribe_output_properties_hevc[] = {
+       HFI_PROP_PICTURE_TYPE,
+};
+
+static const u32 sm8550_vdec_subscribe_output_properties_vp9[] = {
+       HFI_PROP_PICTURE_TYPE,
+};
+
 static const u32 sm8550_dec_ip_int_buf_tbl[] = {
        BUF_BIN,
        BUF_COMV,
@@ -325,18 +354,33 @@ struct iris_platform_data sm8550_data = {
        .num_vpp_pipe = 4,
        .max_session_count = 16,
        .max_core_mbpf = NUM_MBS_8K * 2,
-       .input_config_params =
-               sm8550_vdec_input_config_params,
-       .input_config_params_size =
-               ARRAY_SIZE(sm8550_vdec_input_config_params),
+       .input_config_params_default =
+               sm8550_vdec_input_config_params_default,
+       .input_config_params_default_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_params_default),
+       .input_config_params_hevc =
+               sm8550_vdec_input_config_param_hevc,
+       .input_config_params_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_hevc),
+       .input_config_params_vp9 =
+               sm8550_vdec_input_config_param_vp9,
+       .input_config_params_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_vp9),
        .output_config_params =
                sm8550_vdec_output_config_params,
        .output_config_params_size =
                ARRAY_SIZE(sm8550_vdec_output_config_params),
        .dec_input_prop = sm8550_vdec_subscribe_input_properties,
        .dec_input_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_input_properties),
-       .dec_output_prop = sm8550_vdec_subscribe_output_properties,
-       .dec_output_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_output_properties),
+       .dec_output_prop_avc = sm8550_vdec_subscribe_output_properties_avc,
+       .dec_output_prop_avc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_avc),
+       .dec_output_prop_hevc = sm8550_vdec_subscribe_output_properties_hevc,
+       .dec_output_prop_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_hevc),
+       .dec_output_prop_vp9 = sm8550_vdec_subscribe_output_properties_vp9,
+       .dec_output_prop_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_vp9),
 
        .dec_ip_int_buf_tbl = sm8550_dec_ip_int_buf_tbl,
        .dec_ip_int_buf_tbl_size = ARRAY_SIZE(sm8550_dec_ip_int_buf_tbl),
@@ -385,18 +429,33 @@ struct iris_platform_data sm8650_data = {
        .num_vpp_pipe = 4,
        .max_session_count = 16,
        .max_core_mbpf = NUM_MBS_8K * 2,
-       .input_config_params =
-               sm8550_vdec_input_config_params,
-       .input_config_params_size =
-               ARRAY_SIZE(sm8550_vdec_input_config_params),
+       .input_config_params_default =
+               sm8550_vdec_input_config_params_default,
+       .input_config_params_default_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_params_default),
+       .input_config_params_hevc =
+               sm8550_vdec_input_config_param_hevc,
+       .input_config_params_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_hevc),
+       .input_config_params_vp9 =
+               sm8550_vdec_input_config_param_vp9,
+       .input_config_params_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_vp9),
        .output_config_params =
                sm8550_vdec_output_config_params,
        .output_config_params_size =
                ARRAY_SIZE(sm8550_vdec_output_config_params),
        .dec_input_prop = sm8550_vdec_subscribe_input_properties,
        .dec_input_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_input_properties),
-       .dec_output_prop = sm8550_vdec_subscribe_output_properties,
-       .dec_output_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_output_properties),
+       .dec_output_prop_avc = sm8550_vdec_subscribe_output_properties_avc,
+       .dec_output_prop_avc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_avc),
+       .dec_output_prop_hevc = sm8550_vdec_subscribe_output_properties_hevc,
+       .dec_output_prop_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_hevc),
+       .dec_output_prop_vp9 = sm8550_vdec_subscribe_output_properties_vp9,
+       .dec_output_prop_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_vp9),
 
        .dec_ip_int_buf_tbl = sm8550_dec_ip_int_buf_tbl,
        .dec_ip_int_buf_tbl_size = ARRAY_SIZE(sm8550_dec_ip_int_buf_tbl),
@@ -441,18 +500,33 @@ struct iris_platform_data qcs8300_data = {
        .num_vpp_pipe = 2,
        .max_session_count = 16,
        .max_core_mbpf = ((4096 * 2176) / 256) * 4,
-       .input_config_params =
-               sm8550_vdec_input_config_params,
-       .input_config_params_size =
-               ARRAY_SIZE(sm8550_vdec_input_config_params),
+       .input_config_params_default =
+               sm8550_vdec_input_config_params_default,
+       .input_config_params_default_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_params_default),
+       .input_config_params_hevc =
+               sm8550_vdec_input_config_param_hevc,
+       .input_config_params_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_hevc),
+       .input_config_params_vp9 =
+               sm8550_vdec_input_config_param_vp9,
+       .input_config_params_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_input_config_param_vp9),
        .output_config_params =
                sm8550_vdec_output_config_params,
        .output_config_params_size =
                ARRAY_SIZE(sm8550_vdec_output_config_params),
        .dec_input_prop = sm8550_vdec_subscribe_input_properties,
        .dec_input_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_input_properties),
-       .dec_output_prop = sm8550_vdec_subscribe_output_properties,
-       .dec_output_prop_size = 
ARRAY_SIZE(sm8550_vdec_subscribe_output_properties),
+       .dec_output_prop_avc = sm8550_vdec_subscribe_output_properties_avc,
+       .dec_output_prop_avc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_avc),
+       .dec_output_prop_hevc = sm8550_vdec_subscribe_output_properties_hevc,
+       .dec_output_prop_hevc_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_hevc),
+       .dec_output_prop_vp9 = sm8550_vdec_subscribe_output_properties_vp9,
+       .dec_output_prop_vp9_size =
+               ARRAY_SIZE(sm8550_vdec_subscribe_output_properties_vp9),
 
        .dec_ip_int_buf_tbl = sm8550_dec_ip_int_buf_tbl,
        .dec_ip_int_buf_tbl_size = ARRAY_SIZE(sm8550_dec_ip_int_buf_tbl),
diff --git a/drivers/media/platform/qcom/iris/iris_platform_sm8250.c 
b/drivers/media/platform/qcom/iris/iris_platform_sm8250.c
index 8183e4e95fa4..8d0816a67ae0 100644
--- a/drivers/media/platform/qcom/iris/iris_platform_sm8250.c
+++ b/drivers/media/platform/qcom/iris/iris_platform_sm8250.c
@@ -128,9 +128,9 @@ struct iris_platform_data sm8250_data = {
        .num_vpp_pipe = 4,
        .max_session_count = 16,
        .max_core_mbpf = NUM_MBS_8K,
-       .input_config_params =
+       .input_config_params_default =
                sm8250_vdec_input_config_param_default,
-       .input_config_params_size =
+       .input_config_params_default_size =
                ARRAY_SIZE(sm8250_vdec_input_config_param_default),
 
        .dec_ip_int_buf_tbl = sm8250_dec_ip_int_buf_tbl,

Reply via email to