Re: [PATCH v2 3/7] media: iris: add VPU5x hardware ops

From: Dmitry Baryshkov

Date: Fri Oct 02 2026 - 11:55:46 EST


On Wed, Sep 23, 2026 at 11:27:53AM +0800, Wangao Wang wrote:
> The Hawi SoC uses the VPU5x generation of the Iris video hardware, which
> requires handling for two new power domains — mm-int for the internal
> memory interconnect and cx-int for the CX domain AXI interface — as well
> as additional generation-specific clocks. Without a VPU5x vpu_ops
> implementation the Iris driver cannot power on or off the hardware on
> Hawi.
>
> Move the shared idle and core power status definitions to the common
> register header so they can be used by both VPU4x and VPU5x code.
>
> Signed-off-by: Wangao Wang <wangao.wang@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/iris/Makefile | 1 +
> .../platform/qcom/iris/iris_platform_common.h | 6 +
> drivers/media/platform/qcom/iris/iris_vpu4x.c | 4 -
> drivers/media/platform/qcom/iris/iris_vpu5x.c | 588 +++++++++++++++++++++
> drivers/media/platform/qcom/iris/iris_vpu_common.h | 1 +
> .../platform/qcom/iris/iris_vpu_register_defines.h | 4 +
> 6 files changed, 600 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/iris/Makefile b/drivers/media/platform/qcom/iris/Makefile
> index f8a017d878d620fe1d82708624595583aa2ffd99..adaf2f4ab08984bcf10b8ca7ed424a21635eafbe 100644
> --- a/drivers/media/platform/qcom/iris/Makefile
> +++ b/drivers/media/platform/qcom/iris/Makefile
> @@ -27,6 +27,7 @@ qcom-iris-objs += iris_buffer.o \
> iris_vpu2.o \
> iris_vpu3x.o \
> iris_vpu4x.o \
> + iris_vpu5x.o \
> iris_vpu_buffer.o \
> iris_vpu_common.o \
>
> diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h
> index 61639d72bdcc9917983096e5b8f5905936784623..4529f52a30d7f2ef82ec846bced6f9b5aef16558 100644
> --- a/drivers/media/platform/qcom/iris/iris_platform_common.h
> +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h
> @@ -80,6 +80,10 @@ enum platform_clk_type {
> IRIS_VPP0_HW_CLK,
> IRIS_VPP1_HW_CLK,
> IRIS_APV_HW_CLK,
> + IRIS_AXIC_CLK,
> + IRIS_CTRL_DEBUG_CLK,
> + IRIS_VPP_GATING_CLK,
> + IRIS_CX_AXI_CLK,

I thought that we were supposed to get rid of these enumerations. Each
platform brings in its own sets of clocks, so having a single enum with
all of them breaks the platform abstraction. Isn't Glymur patchset
getting rid of this enum?

> };
>
> struct platform_clk_data {

--
With best wishes
Dmitry