[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <83e0afab381fe2580e4c75fccc62cb7bcb546369.camel@collabora.com>
Date: Mon, 17 Feb 2025 16:05:45 -0500
From: Nicolas Dufresne <nicolas.dufresne@...labora.com>
To: Benjamin Gaignard <benjamin.gaignard@...labora.com>, Philipp Zabel
<p.zabel@...gutronix.de>, Mauro Carvalho Chehab <mchehab@...nel.org>, Heiko
Stuebner <heiko@...ech.de>, Hans Verkuil <hverkuil@...all.nl>
Cc: stable@...r.kernel.org, linux-rockchip@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, kernel@...labora.com
Subject: Re: [PATCH] media: verisilicon: Fix AV1 decoder clock frequency
Hi,
I'm sorry for this bad send, please dismiss.
Le lundi 17 février 2025 à 16:00 -0500, Nicolas Dufresne a écrit :
> The desired clock frequency was correctly set to 400MHz in the device tree
> but was lowered by the driver to 300MHz breaking 4K 60Hz content playback.
> Fix the issue by removing the driver call to clk_set_rate(), which reduce
> the amount of board specific code.
>
> Fixes: 003afda97c65 ("media: verisilicon: Enable AV1 decoder on rk3588")
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne@...labora.com>
> ---
> This patch fixes user report of AV1 4K60 decoder not being fast enough
> on RK3588 based SoC. This is a break from Hantro original authors
> habbit of coding the frequencies in the driver instead of specifying this
> frequency in the device tree. The other calls to clk_set_rate() are left
> since this would require modifying many dtsi files, which would then be
> unsuitable for backport.
> ---
> drivers/media/platform/verisilicon/rockchip_vpu_hw.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> index 964122e7c355934cd80eb442219f6ba51bba8b71..9d8eab33556d62733ec7ec6b5e685c86ba7086e4 100644
> --- a/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> +++ b/drivers/media/platform/verisilicon/rockchip_vpu_hw.c
> @@ -17,7 +17,6 @@
>
> #define RK3066_ACLK_MAX_FREQ (300 * 1000 * 1000)
> #define RK3288_ACLK_MAX_FREQ (400 * 1000 * 1000)
> -#define RK3588_ACLK_MAX_FREQ (300 * 1000 * 1000)
>
> #define ROCKCHIP_VPU981_MIN_SIZE 64
>
> @@ -440,10 +439,9 @@ static int rk3066_vpu_hw_init(struct hantro_dev *vpu)
> return 0;
> }
>
> +/* TODO just remove, the CLK are defined correctly in the DTS */
> static int rk3588_vpu981_hw_init(struct hantro_dev *vpu)
Obviously that function is meant to completely go away, got distracted
and sent the old version.
Nicolas
> {
> - /* Bump ACLKs to max. possible freq. to improve performance. */
> - clk_set_rate(vpu->clocks[0].clk, RK3588_ACLK_MAX_FREQ);
> return 0;
> }
>
> @@ -807,7 +805,6 @@ const struct hantro_variant rk3588_vpu981_variant = {
> .codec_ops = rk3588_vpu981_codec_ops,
> .irqs = rk3588_vpu981_irqs,
> .num_irqs = ARRAY_SIZE(rk3588_vpu981_irqs),
> - .init = rk3588_vpu981_hw_init,
> .clk_names = rk3588_vpu981_vpu_clk_names,
> .num_clocks = ARRAY_SIZE(rk3588_vpu981_vpu_clk_names)
> };
>
> ---
> base-commit: 2014c95afecee3e76ca4a56956a936e23283f05b
> change-id: 20250217-b4-hantro-av1-clock-rate-e5497f1499df
>
> Best regards,
Powered by blists - more mailing lists