Re: [PATCH v8 07/11] media: qcom: iris: drop hw_response_timeout_val from platform data

From: Dikshita Agarwal

Date: Mon Mar 23 2026 - 02:38:39 EST




On 3/19/2026 11:29 AM, Dmitry Baryshkov wrote:
> The HW response time is a constant between platforms. Remove it from the
> iris_platform_data structure and use it directly.
>
> Suggested-by: Vikash Garodia <vikash.garodia@xxxxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/iris/iris_core.c | 3 +--
> drivers/media/platform/qcom/iris/iris_platform_common.h | 1 -
> drivers/media/platform/qcom/iris/iris_platform_gen1.c | 2 --
> drivers/media/platform/qcom/iris/iris_platform_gen2.c | 4 ----
> drivers/media/platform/qcom/iris/iris_utils.c | 5 +----
> 5 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_core.c b/drivers/media/platform/qcom/iris/iris_core.c
> index 8406c48d635b..e6141012cd3d 100644
> --- a/drivers/media/platform/qcom/iris/iris_core.c
> +++ b/drivers/media/platform/qcom/iris/iris_core.c
> @@ -28,14 +28,13 @@ void iris_core_deinit(struct iris_core *core)
>
> static int iris_wait_for_system_response(struct iris_core *core)
> {
> - u32 hw_response_timeout_val = core->iris_platform_data->hw_response_timeout;
> int ret;
>
> if (core->state == IRIS_CORE_ERROR)
> return -EIO;
>
> ret = wait_for_completion_timeout(&core->core_init_done,
> - msecs_to_jiffies(hw_response_timeout_val));
> + msecs_to_jiffies(HW_RESPONSE_TIMEOUT_VALUE));
> if (!ret) {
> core->state = IRIS_CORE_ERROR;
> return -ETIMEDOUT;
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h
> index d1daef2d874b..e8a219023aaa 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_common.h
> +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h
> @@ -232,7 +232,6 @@ struct iris_platform_data {
> const struct tz_cp_config *tz_cp_config_data;
> u32 tz_cp_config_data_size;
> u32 core_arch;
> - u32 hw_response_timeout;
> u32 num_vpp_pipe;
> bool no_aon;
> u32 max_session_count;
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen1.c b/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> index 9925a893b404..6ed4c4ae4056 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_gen1.c
> @@ -361,7 +361,6 @@ const struct iris_platform_data sm8250_data = {
> .inst_fw_caps_enc_size = ARRAY_SIZE(inst_fw_cap_sm8250_enc),
> .tz_cp_config_data = tz_cp_config_sm8250,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8250),
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 4,
> .max_session_count = 16,
> .max_core_mbpf = NUM_MBS_8K,
> @@ -410,7 +409,6 @@ const struct iris_platform_data sc7280_data = {
> .inst_fw_caps_enc_size = ARRAY_SIZE(inst_fw_cap_sm8250_enc),
> .tz_cp_config_data = tz_cp_config_sm8250,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8250),
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 1,
> .no_aon = true,
> .max_session_count = 16,
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_gen2.c b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> index 10a972f96cbe..abe523db45c2 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_gen2.c
> @@ -936,7 +936,6 @@ const struct iris_platform_data sm8550_data = {
> .tz_cp_config_data = tz_cp_config_sm8550,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8550),
> .core_arch = VIDEO_ARCH_LX,
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 4,
> .max_session_count = 16,
> .max_core_mbpf = NUM_MBS_8K * 2,
> @@ -1036,7 +1035,6 @@ const struct iris_platform_data sm8650_data = {
> .tz_cp_config_data = tz_cp_config_sm8550,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8550),
> .core_arch = VIDEO_ARCH_LX,
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 4,
> .max_session_count = 16,
> .max_core_mbpf = NUM_MBS_8K * 2,
> @@ -1127,7 +1125,6 @@ const struct iris_platform_data sm8750_data = {
> .tz_cp_config_data = tz_cp_config_sm8550,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8550),
> .core_arch = VIDEO_ARCH_LX,
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 4,
> .max_session_count = 16,
> .max_core_mbpf = NUM_MBS_8K * 2,
> @@ -1222,7 +1219,6 @@ const struct iris_platform_data qcs8300_data = {
> .tz_cp_config_data = tz_cp_config_sm8550,
> .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_sm8550),
> .core_arch = VIDEO_ARCH_LX,
> - .hw_response_timeout = HW_RESPONSE_TIMEOUT_VALUE,
> .num_vpp_pipe = 2,
> .max_session_count = 16,
> .max_core_mbpf = ((4096 * 2176) / 256) * 4,
> diff --git a/drivers/media/platform/qcom/iris/iris_utils.c b/drivers/media/platform/qcom/iris/iris_utils.c
> index cfc5b576ec56..29b07d88507e 100644
> --- a/drivers/media/platform/qcom/iris/iris_utils.c
> +++ b/drivers/media/platform/qcom/iris/iris_utils.c
> @@ -55,16 +55,13 @@ void iris_helper_buffers_done(struct iris_inst *inst, unsigned int type,
>
> int iris_wait_for_session_response(struct iris_inst *inst, bool is_flush)
> {
> - struct iris_core *core = inst->core;
> - u32 hw_response_timeout_val;
> struct completion *done;
> int ret;
>
> - hw_response_timeout_val = core->iris_platform_data->hw_response_timeout;
> done = is_flush ? &inst->flush_completion : &inst->completion;
>
> mutex_unlock(&inst->lock);
> - ret = wait_for_completion_timeout(done, msecs_to_jiffies(hw_response_timeout_val));
> + ret = wait_for_completion_timeout(done, msecs_to_jiffies(HW_RESPONSE_TIMEOUT_VALUE));
> mutex_lock(&inst->lock);
> if (!ret) {
> iris_inst_change_state(inst, IRIS_INST_ERROR);
>

Reviewed-by: Dikshita Agarwal <dikshita.agarwal@xxxxxxxxxxxxxxxx>

Thanks,
Dikshita