From f176950cef8aef35d6631c7d94c9760d973e2c01 Mon Sep 17 00:00:00 2001 From: Ding Wei Date: Tue, 26 Mar 2024 17:22:31 +0800 Subject: [PATCH] video: rockchip: mpp: Set clk_sel to clk_rkvdec_core for vdpu383 clk_sel: 0-aclk_rkvdec_root_bak 1-clk_rkvdec_core Change-Id: I6f0e011587228c6a15fd67c895c4b76dbdad40ed Signed-off-by: Ding Wei --- drivers/video/rockchip/mpp/mpp_rkvdec2.c | 2 +- drivers/video/rockchip/mpp/mpp_rkvdec2_link.c | 3 ++- drivers/video/rockchip/mpp/mpp_rkvdec2_link.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2.c b/drivers/video/rockchip/mpp/mpp_rkvdec2.c index 534e131fc715..5391913460bb 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2.c @@ -530,7 +530,7 @@ static int rkvdec_vdpu383_run(struct mpp_dev *mpp, struct mpp_task *mpp_task) writel_relaxed(0x7fffff, link->reg_base + link->info->ip_time_base); /* set ip func to def val */ - writel_relaxed(0x0, link->reg_base + link->info->ip_en_base); + writel_relaxed(link->info->ip_en_val, link->reg_base + link->info->ip_en_base); /* Flush the register before the start the device */ wmb(); diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c index 8a8d0ce49491..708708e7f350 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.c @@ -260,6 +260,7 @@ struct rkvdec_link_info rkvdec_link_vdpu383_hw_info = { .ip_time_base = 0x54, .en_base = 0x40, .ip_en_base = 0x58, + .ip_en_val = 0x01000000, }; static void rkvdec2_link_free_task(struct kref *ref); @@ -440,7 +441,7 @@ static int rkvdec2_link_enqueue(struct rkvdec_link_dev *link_dec, /* set ip func to def val */ if (link_info->ip_en_base) - writel_relaxed(0x0, reg_base + link_info->ip_en_base); + writel_relaxed(link_info->ip_en_val, reg_base + link_info->ip_en_base); /* start config before all registers are set */ wmb(); diff --git a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.h b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.h index c072c0f98f76..df21b7d06024 100644 --- a/drivers/video/rockchip/mpp/mpp_rkvdec2_link.h +++ b/drivers/video/rockchip/mpp/mpp_rkvdec2_link.h @@ -136,6 +136,7 @@ struct rkvdec_link_info { u32 ip_time_base; u32 en_base; u32 ip_en_base; + u32 ip_en_val; }; struct rkvdec_link_dev {