lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ