[igt-dev] [PATCH] tests/kms_setmode: disable DRRS if eDP support variable refresh rate

Lee Shawn C shawn.c.lee at intel.com
Thu Oct 19 11:27:29 UTC 2023


Below is a failed case while testing kms_setmode.

CRTC[80] [Pipe A] Mode: 1920x1200 at 60Hz Connectors: eDP-1[236]
Expected frametime: 16659us; measured 20824.4us +- 4.799us accuracy 0.01% [0.10 scanlines]

The expected frame time is 16659us (60Hz refresh rate).
But kms_setmode report measured time was 20824.4us (48Hz) then
it failed. We found legacy DRRS mode was active at that time
then refresh rate fall into lower RR automatically to cause this problem.
Disable DRRS after crtc setmode can avoid driver switch to lower RR mode
and get pass for this test as well.

v2: fix prefix string and sort header file by alphabetical

Issue: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/148
Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
Cc: Vidya Srinivas <vidya.srinivas at intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
Cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
Signed-off-by: Lee Shawn C <shawn.c.lee at intel.com>
---
 tests/kms_setmode.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c
index 5fc4421c0080..98e49bbf95f9 100644
--- a/tests/kms_setmode.c
+++ b/tests/kms_setmode.c
@@ -30,7 +30,10 @@
 #include <string.h>
 #include <sys/time.h>
 #include <math.h>
+
+#include "i915/intel_drrs.h"
 #include "xe/xe_query.h"
+
 /**
  * TEST: kms setmode
  * Category: Display
@@ -651,6 +654,9 @@ retry:
 					     crtc->fb_info.fb_id, 0, 0, ids,
 					     crtc->connector_count, &crtc->mode);
 
+		if (is_intel_device(drm_fd))
+			intel_drrs_disable(drm_fd, crtc->pipe_id);
+
 		free(ids);
 
 		if (ret < 0) {
-- 
2.34.1



More information about the igt-dev mailing list