[PATCH] rockchip: rk3328: Set VOP QoS to high priority

Kever Yang kever.yang at rock-chips.com
Thu Jan 5 03:19:20 CET 2023


Hi Nicolas,

     I can understand this change can fix the problem you have met.

     But this is likely a board specific setting instead of a soc 
platform setting, rockchip kernel have a qos dts node

to set to qos priority for different IP master and this can be customize 
for different board.


Thanks,

- Kever

On 2022/7/23 19:28, Nicolas Frattaroli wrote:
> The default priority for the quality of service for the video
> output results in unsightly glitches on the output whenever there
> is memory pressure on the system, which happens a lot.
>
> This sets the VOP QoS to high priority, which fixes this issue.
>
> Signed-off-by: Nicolas Frattaroli <frattaroli.nicolas at gmail.com>
> ---
>   arch/arm/mach-rockchip/rk3328/rk3328.c | 5 +++++
>   1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/mach-rockchip/rk3328/rk3328.c b/arch/arm/mach-rockchip/rk3328/rk3328.c
> index de17b88682..2373586b14 100644
> --- a/arch/arm/mach-rockchip/rk3328/rk3328.c
> +++ b/arch/arm/mach-rockchip/rk3328/rk3328.c
> @@ -19,6 +19,8 @@ DECLARE_GLOBAL_DATA_PTR;
>   #define GRF_BASE		0xFF100000
>   #define UART2_BASE		0xFF130000
>   #define FW_DDR_CON_REG		0xFF7C0040
> +#define QOS_VOP_OFFSET		0xFF760080
> +#define QOS_VOP_PRIORITY	0x8
>   
>   const char * const boot_devices[BROM_LAST_BOOTSOURCE + 1] = {
>   	[BROM_BOOTSOURCE_EMMC] = "/mmc at ff520000",
> @@ -54,6 +56,9 @@ int arch_cpu_init(void)
>   
>   	/* Disable the ddr secure region setting to make it non-secure */
>   	rk_setreg(FW_DDR_CON_REG, 0x200);
> +#else
> +	printf("Setting VOP QoS\n");
> +	rk_setreg(QOS_VOP_OFFSET + QOS_VOP_PRIORITY, 0x2);
>   #endif
>   	return 0;
>   }


More information about the U-Boot mailing list