[Intel-gfx] [igt] igt/kms_psr_sink_crc: Add psr_drrs subtest

Vivi, Rodrigo rodrigo.vivi at intel.com
Wed Sep 20 03:29:29 UTC 2017



> On Sep 19, 2017, at 6:26 PM, Pandiyan, Dhinakaran <dhinakaran.pandiyan at intel.com> wrote:
> 
> 
>> On Fri, 2017-09-15 at 17:00 -0700, Radhakrishna Sripada wrote:
>> Platforms do not support psr and drrs simultaneously.
>> Adding a subtest to make the check.
>> 
>> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
>> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
>> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
>> ---
>> tests/kms_psr_sink_crc.c | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>> 
>> diff --git a/tests/kms_psr_sink_crc.c b/tests/kms_psr_sink_crc.c
>> index bd3fa5e94d85..1c25f2c81a34 100644
>> --- a/tests/kms_psr_sink_crc.c
>> +++ b/tests/kms_psr_sink_crc.c
>> @@ -284,6 +284,15 @@ static void assert_or_manual(bool condition, const char *expected)
>>    igt_assert(igt_interactive_debug || condition);
>> }
>> 
>> +static bool drrs_disabled(data_t *data)
>> +{
>> +    char buf[512];
>> +
>> +    igt_debugfs_read(data->drm_fd, "i915_drrs_status", buf);
>> +
>> +    return strstr(buf, "DRRS Support: No\n");
>                                        ^ 
> This is causing the PSR sink crc test to fail. The string I see in the
> kernel is. 
> 
>    seq_puts(m, "\tDRRS Supported : No");
> 
> Also, how does this work when there is more than one enabled crtc? For
> e.g., my machine has 
> 
> cat /sys/kernel/debug/dri/0/i915_drrs_status
> 
> CRTC 1:  eDP-1:
>        VBT: DRRS_type: Static
> 
>        DRRS Supported : No
> 
> CRTC 2:  DP-4:
>        VBT: DRRS_type: Static
> 
>        DRRS Supported : No
> 
> If the eDP supported DRRS( and PSR was enabled) and the external display
> did not, won't this result in a false positive?

Yes... we need a quick fix on test case or to revert the test case while it cannot handle proper parse for edp's drrs...

> 
> 
>> +}
>> +
>> static void run_test(data_t *data)
>> {
>>    uint32_t handle = data->fb_white.gem_handle;
>> @@ -524,6 +533,11 @@ int main(int argc, char *argv[])
>>        igt_assert(wait_psr_entry(&data));
>>    }
>> 
>> +    igt_subtest("psr_drrs") {
>> +        setup_test_plane(&data);
>> +        igt_assert(drrs_disabled(&data));
>> +    }
>> +
>>    for (op = PAGE_FLIP; op <= RENDER; op++) {
>>        igt_subtest_f("primary_%s", op_str(op)) {
>>            data.test_plane = DRM_PLANE_TYPE_PRIMARY;


More information about the Intel-gfx mailing list