[igt-dev] [PATCH i-g-t v5 4/4] tests/kms_frontbuffer_tracking: Don't unset mode after reading CRC

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Wed Aug 22 10:17:45 UTC 2018


Op 18-08-18 om 02:04 schreef Dhinakaran Pandiyan:
> On Friday, August 17, 2018 1:56:42 AM PDT Maarten Lankhorst wrote:
>> Until the previous commit we had to disable the mode after reading CRC
>> because otherwise we might not have been enable features correctly.
>>
> I didn't get this, why was this the case?
>
> -DK
If we applied this patch before the 3/4:
- Modeset enable, read CRC, enable legacy PSR switch. No modeset done in test after because mode is identical. PSR still disabled.

Now patched, legacy PSR:
- Modeset enable, read CRC, enable legacy PSR switch, disable CRTC if using legacy PSR by calling igt_display_commit. Next enable CRTC will enable PSR.

Now patched, debugfs PSR:
- Modeset enable
- Read CRC
- Enable debugfs PSR switch. PSR enabled.
- Next commit will be done by test, which can disable the mode or set a mode. The latter case will be a compatible mode, in which case we avoid the modeset.

~Maarten
>
>> Now we can just stage the disable without applying it, so each subtest
>> can set its desired mode and igt_display will update the state as
>> required.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> ---
>>  tests/kms_frontbuffer_tracking.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tests/kms_frontbuffer_tracking.c
>> b/tests/kms_frontbuffer_tracking.c index a570f93a33a8..921aaffcb52c 100644
>> --- a/tests/kms_frontbuffer_tracking.c
>> +++ b/tests/kms_frontbuffer_tracking.c
>> @@ -1220,7 +1220,7 @@ static void init_blue_crc(enum pixel_format format)
>>
>>  	print_crc("Blue CRC:  ", &blue_crcs[format].crc);
>>
>> -	unset_all_crtcs();
>> +	igt_display_reset(&drm.display);
>>
>>  	igt_remove_fb(drm.fd, &blue);
>>
>> @@ -1272,7 +1272,7 @@ static void init_crcs(enum pixel_format format,
>>  		print_crc("", &pattern->crcs[format][r]);
>>  	}
>>
>> -	unset_all_crtcs();
>> +	igt_display_reset(&drm.display);
>>
>>  	for (r = 0; r < pattern->n_rects; r++)
>>  		igt_remove_fb(drm.fd, &tmp_fbs[r]);
>
>
>



More information about the igt-dev mailing list