From 83770830d539c628e1443c27273928ff7d476c8b Mon Sep 17 00:00:00 2001 From: Manasi Navare Date: Tue, 2 Apr 2019 12:24:22 -0700 Subject: tests/kms_dp_dsc: Force a full modeset when we force dsc enable DSC enable gets configured during compute_config and needs a full modeset to force DSC. Sometimes in between the tests, if the initial output is same as the mode being set for DSC then it will not do a full modeset. So we disable the output before forcing a mode with DSC enable. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110270 Fixes: db19bccc1c22 ("test/kms_dp_dsc: Basic KMS test to validate VESA DSC on DP/eDP") Cc: Petri Latvala Cc: Anusha Srivatsa Cc: Imre Deak Signed-off-by: Manasi Navare Reviewed-by: Imre Deak --- tests/kms_dp_dsc.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/kms_dp_dsc.c b/tests/kms_dp_dsc.c index cdea596c..7ba7c4ef 100644 --- a/tests/kms_dp_dsc.c +++ b/tests/kms_dp_dsc.c @@ -161,12 +161,17 @@ static void update_display(data_t *data, enum dsc_test_type test_type) return; } + /* Disable the output first */ + igt_output_set_pipe(data->output, PIPE_NONE); + igt_display_commit(&data->display); + if (test_type == test_basic_dsc_enable) { bool enabled; igt_debug("DSC is supported on %s\n", data->conn_name); force_dp_dsc_enable(data); + igt_output_set_pipe(data->output, data->pipe); igt_create_pattern_fb(data->drm_fd, data->mode->hdisplay, data->mode->vdisplay, DRM_FORMAT_XRGB8888, @@ -174,6 +179,8 @@ static void update_display(data_t *data, enum dsc_test_type test_type) &data->fb_test_pattern); primary = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY); + + /* Now set the output to the desired mode */ igt_plane_set_fb(primary, &data->fb_test_pattern); igt_display_commit(&data->display); @@ -203,7 +210,6 @@ static void run_test(data_t *data, igt_output_t *output, for_each_pipe(&data->display, pipe) { if (igt_pipe_connector_valid(pipe, output)) { - igt_output_set_pipe(output, pipe); data->pipe = pipe; data->output = output; update_display(data, test_type); -- cgit v1.2.3