[igt-dev] [PATCH] tests/kms_setmode: disable DRRS if eDP support variable refresh rate
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Fri Oct 20 14:02:37 UTC 2023
Look ok to me.
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
On 19.10.2023 14.27, Lee Shawn C wrote:
> 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) {
More information about the igt-dev
mailing list