dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/2] drm/arm/malidp: Setting QoS priority for 4k to avoid flicker issue
@ 2019-03-28  3:56 Wen He
  2019-03-28 16:39 ` liviu.dudau
  0 siblings, 1 reply; 5+ messages in thread
From: Wen He @ 2019-03-28  3:56 UTC (permalink / raw)
  To: liviu.dudau, brian.starkey, malidp, dri-devel; +Cc: Wen He

When we running DDR benchmark test will able to observed flicker issue
in 4k@60 resolution on monitor. In LS1028A SoC, need increasing DP500
priority to avoid that issue.

Signed-off-by: Wen He <wen.he_1@nxp.com>
---
 drivers/gpu/drm/arm/malidp_hw.c   | 13 +++++++++++++
 drivers/gpu/drm/arm/malidp_regs.h |  8 ++++++++
 2 files changed, 21 insertions(+)

diff --git a/drivers/gpu/drm/arm/malidp_hw.c b/drivers/gpu/drm/arm/malidp_hw.c
index 8df12e9a33bb..a5263488eb02 100644
--- a/drivers/gpu/drm/arm/malidp_hw.c
+++ b/drivers/gpu/drm/arm/malidp_hw.c
@@ -378,6 +378,19 @@ static void malidp500_modeset(struct malidp_hw_device *hwdev, struct videomode *
 		malidp_hw_setbits(hwdev, MALIDP_DISP_FUNC_ILACED, MALIDP_DE_DISPLAY_FUNC);
 	else
 		malidp_hw_clearbits(hwdev, MALIDP_DISP_FUNC_ILACED, MALIDP_DE_DISPLAY_FUNC);
+
+#ifdef CONFIG_ARCH_LAYERSCAPE
+	/* Setting QoS for 4k resolution to avoid flicker issue */
+	if (mode->hactive == 3840
+			&& mode->vactive == 2160)
+		malidp_hw_setbits(hwdev, GREEN_ARQOS_CONFIG
+				| RED_ARQOS_CONFIG, MALIDP500_RQOS_QUALITY);
+	else
+		malidp_hw_clearbits(hwdev, GREEN_ARQOS_CONFIG
+				| RED_ARQOS_CONFIG, MALIDP500_RQOS_QUALITY);
+
+	malidp_hw_setbits(hwdev, CONFIG_VALID, MALIDP500_CONFIG_VALID);
+#endif
 }
 
 int malidp_format_get_bpp(u32 fmt)
diff --git a/drivers/gpu/drm/arm/malidp_regs.h b/drivers/gpu/drm/arm/malidp_regs.h
index a0dd6e1676a8..8dcf7e9f46ce 100644
--- a/drivers/gpu/drm/arm/malidp_regs.h
+++ b/drivers/gpu/drm/arm/malidp_regs.h
@@ -213,6 +213,14 @@
 #define MALIDP500_DC_IRQ_BASE		0x00f00
 #define MALIDP500_CONFIG_VALID		0x00f00
 #define MALIDP500_CONFIG_ID		0x00fd4
+#ifdef CONFIG_ARCH_LAYERSCAPE
+#define MALIDP500_RQOS_QUALITY          0x00500
+/* Increasing QoS level signal */
+#define GREEN_ARQOS_CONFIG              (0xd << 28)
+/* Close to underflow QoS level signal */
+#define RED_ARQOS_CONFIG                (0xd << 12)
+#define CONFIG_VALID                    0x3
+#endif
 
 /* register offsets and bits specific to DP550/DP650 */
 #define MALIDP550_ADDR_SPACE_SIZE	0x10000
-- 
2.17.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-07-17  6:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-28  3:56 [PATCH 2/2] drm/arm/malidp: Setting QoS priority for 4k to avoid flicker issue Wen He
2019-03-28 16:39 ` liviu.dudau
2019-03-29  8:20   ` Wen He
2019-03-29 16:10     ` liviu.dudau
2019-07-17  6:26       ` Wen He

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).