[igt-dev] [[PATCH i-g-t]] tests/kms_setmode: disable DRRS if eDP support variable refresh rate
Lee, Shawn C
shawn.c.lee at intel.com
Thu Oct 19 10:53:20 UTC 2023
On Thursday, October 19, 2023 6:40 PM, Kamil Konieczny <kamil.konieczny at linux.intel.com> wrote:
>Hi Lee,
>On 2023-10-18 at 15:59:04 +0800, Lee Shawn C wrote:
>
>please correct subject in your patch:
>
>[[PATCH i-g-t]] tests/kms_setmode: disable DRRS if eDP support variable refresh rate ^ ----------- ^
>
>Too many braceses here, should be:
>[PATCH i-g-t] tests/kms_setmode: disable DRRS if eDP support variable refresh rate
>
I will fix the prefix string on next commit. Thanks!
>> 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.
>>
>> 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>
>
>Adding Juha-Pekka and Bhanu to Cc.
>
>> Signed-off-by: Lee Shawn C <shawn.c.lee at intel.com>
>> ---
>> tests/kms_setmode.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/tests/kms_setmode.c b/tests/kms_setmode.c index
>> 5fc4421c0080..b6fe3f9c159a 100644
>> --- a/tests/kms_setmode.c
>> +++ b/tests/kms_setmode.c
>> @@ -31,6 +31,7 @@
>> #include <sys/time.h>
>> #include <math.h>
>> #include "xe/xe_query.h"
>> +#include "i915/intel_drrs.h"
>
>Keep it sorted alphabetically, also add newline after system
>headers:
>
>#include <math.h>
>
>#include "i915/intel_drrs.h"
>#include "xe/xe_query.h"
>
>> /**
>> * TEST: kms setmode
>> * Category: Display
>> @@ -651,6 +652,9 @@ retry:
>> crtc->fb_info.fb_id, 0, 0, ids,
>> crtc->connector_count, &crtc->mode);
>>
>> + if (is_intel_device(drm_fd))
>
>Question for Bhanu or Juha-Pekka: will this work for Xe?
>Should this be: if (is_i915_device(drm_fd))
>
>Regards,
>Kamil
>
is_intel_device() in lib/drmtest.c should be able to cover Xe and i915 device.
bool is_intel_device(int fd)
{
return is_i915_device(fd) || is_xe_device(fd);
}
Best regards,
Shawn
>> + intel_drrs_disable(drm_fd, crtc->pipe_id);
>> +
>> free(ids);
>>
>> if (ret < 0) {
>> --
>> 2.34.1
>>
More information about the igt-dev
mailing list