diff options
author | Manasi Navare <manasi.d.navare@intel.com> | 2019-04-02 12:24:22 -0700 |
---|---|---|
committer | Manasi Navare <manasi.d.navare@intel.com> | 2019-04-10 11:06:24 -0700 |
commit | 83770830d539c628e1443c27273928ff7d476c8b (patch) | |
tree | b1796f746382dc75b1de63ba16384c1c5027cd9d /tests | |
parent | 051ee61cd39a4378eded21e42b6c45e6fdc10d97 (diff) |
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 <petri.latvala@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/kms_dp_dsc.c | 8 |
1 files changed, 7 insertions, 1 deletions
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); |