Re: [PATCH v7 03/18] media: iris: drop IRIS_FMT_foo enumeration
From: Vishnu Reddy
Date: Thu Jul 16 2026 - 23:39:27 EST
On 7/9/2026 7:11 PM, Dmitry Baryshkov wrote:
> The IRIS_FMT_foo defines are only used for indexing values in the format
> enumeration arrays. However this kind of enumeration doesn't follow the
> V4L2 logic (which expects an array with consequtive indexing rather
> than a sparse array) and complicates adding support for platforms which
> support different sets of formats. Drop this enumeration and use flat
> lists of supported formats.
>
> Reviewed-by: Vikash Garodia <vikash.garodia@xxxxxxxxxxxxxxxx>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/iris/iris_instance.h | 14 --------------
> drivers/media/platform/qcom/iris/iris_platform_vpu2.c | 6 +++---
> drivers/media/platform/qcom/iris/iris_platform_vpu3x.c | 8 ++++----
> drivers/media/platform/qcom/iris/iris_vdec.c | 8 ++++----
> drivers/media/platform/qcom/iris/iris_venc.c | 8 ++++----
> 5 files changed, 15 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_instance.h b/drivers/media/platform/qcom/iris/iris_instance.h
> index a770331d1675..ffdbbd20901a 100644
> --- a/drivers/media/platform/qcom/iris/iris_instance.h
> +++ b/drivers/media/platform/qcom/iris/iris_instance.h
> @@ -17,20 +17,6 @@
>
> struct iris_hfi_session_ops;
>
> -enum iris_fmt_type_out {
> - IRIS_FMT_H264,
> - IRIS_FMT_HEVC,
> - IRIS_FMT_VP9,
> - IRIS_FMT_AV1,
> -};
> -
> -enum iris_fmt_type_cap {
> - IRIS_FMT_NV12,
> - IRIS_FMT_QC08C,
> - IRIS_FMT_TP10,
> - IRIS_FMT_QC10C,
> -};
> -
> /**
> * struct iris_inst - holds per video instance parameters
> *
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c
> index 961dce2e6aa9..ba91672df1bb 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c
> @@ -35,9 +35,9 @@ static const struct iris_firmware_desc iris_vpu20_p4_gen1_desc = {
> };
>
> static const u32 iris_fmts_vpu2_dec[] = {
> - [IRIS_FMT_H264] = V4L2_PIX_FMT_H264,
> - [IRIS_FMT_HEVC] = V4L2_PIX_FMT_HEVC,
> - [IRIS_FMT_VP9] = V4L2_PIX_FMT_VP9,
> + V4L2_PIX_FMT_H264,
> + V4L2_PIX_FMT_HEVC,
> + V4L2_PIX_FMT_VP9,
> };
>
> static struct platform_inst_caps platform_inst_cap_vpu2 = {
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c
> index 74626b35d9cb..7098b652c117 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c
> +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c
> @@ -49,10 +49,10 @@ static const struct iris_firmware_desc iris_vpu35_p4_gen2_desc = {
> };
>
> static const u32 iris_fmts_vpu3x_dec[] = {
> - [IRIS_FMT_H264] = V4L2_PIX_FMT_H264,
> - [IRIS_FMT_HEVC] = V4L2_PIX_FMT_HEVC,
> - [IRIS_FMT_VP9] = V4L2_PIX_FMT_VP9,
> - [IRIS_FMT_AV1] = V4L2_PIX_FMT_AV1,
> + V4L2_PIX_FMT_H264,
> + V4L2_PIX_FMT_HEVC,
> + V4L2_PIX_FMT_VP9,
> + V4L2_PIX_FMT_AV1,
> };
>
> static const struct icc_info iris_icc_info_vpu3x[] = {
> diff --git a/drivers/media/platform/qcom/iris/iris_vdec.c b/drivers/media/platform/qcom/iris/iris_vdec.c
> index 9e228b70420e..4c8bc7aac135 100644
> --- a/drivers/media/platform/qcom/iris/iris_vdec.c
> +++ b/drivers/media/platform/qcom/iris/iris_vdec.c
> @@ -63,10 +63,10 @@ int iris_vdec_inst_init(struct iris_inst *inst)
> }
>
> static const u32 iris_vdec_formats_cap[] = {
> - [IRIS_FMT_NV12] = V4L2_PIX_FMT_NV12,
> - [IRIS_FMT_QC08C] = V4L2_PIX_FMT_QC08C,
> - [IRIS_FMT_TP10] = V4L2_PIX_FMT_P010,
> - [IRIS_FMT_QC10C] = V4L2_PIX_FMT_QC10C,
> + V4L2_PIX_FMT_NV12,
> + V4L2_PIX_FMT_QC08C,
> + V4L2_PIX_FMT_P010,
> + V4L2_PIX_FMT_QC10C,
> };
>
> static bool check_format(struct iris_inst *inst, u32 pixfmt, u32 type)
> diff --git a/drivers/media/platform/qcom/iris/iris_venc.c b/drivers/media/platform/qcom/iris/iris_venc.c
> index a945992f63aa..16c52ad07e2c 100644
> --- a/drivers/media/platform/qcom/iris/iris_venc.c
> +++ b/drivers/media/platform/qcom/iris/iris_venc.c
> @@ -80,13 +80,13 @@ int iris_venc_inst_init(struct iris_inst *inst)
> }
>
> static const u32 iris_venc_formats_cap[] = {
> - [IRIS_FMT_H264] = V4L2_PIX_FMT_H264,
> - [IRIS_FMT_HEVC] = V4L2_PIX_FMT_HEVC,
> + V4L2_PIX_FMT_H264,
> + V4L2_PIX_FMT_HEVC,
> };
>
> static const u32 iris_venc_formats_out[] = {
> - [IRIS_FMT_NV12] = V4L2_PIX_FMT_NV12,
> - [IRIS_FMT_QC08C] = V4L2_PIX_FMT_QC08C,
> + V4L2_PIX_FMT_NV12,
> + V4L2_PIX_FMT_QC08C,
> };
>
> static bool check_format(struct iris_inst *inst, u32 pixfmt, u32 type)
Reviewed-by: Vishnu Reddy <busanna.reddy@xxxxxxxxxxxxxxxx>