[Intel-gfx] [igt] igt/kms_psr_sink_crc: Add psr_drrs subtest
Pandiyan, Dhinakaran
dhinakaran.pandiyan at intel.com
Wed Sep 20 01:26:47 UTC 2017
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?
> +}
> +
> 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