[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