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

Nicolas Frattaroli frattaroli.nicolas at gmail.com
Sat Jul 23 13:28:36 CEST 2022


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;
 }
-- 
2.37.1



More information about the U-Boot mailing list