summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorManasi Navare <manasi.d.navare@intel.com>2019-04-02 12:24:22 -0700
committerManasi Navare <manasi.d.navare@intel.com>2019-04-10 11:06:24 -0700
commit83770830d539c628e1443c27273928ff7d476c8b (patch)
treeb1796f746382dc75b1de63ba16384c1c5027cd9d /tests
parent051ee61cd39a4378eded21e42b6c45e6fdc10d97 (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.c8
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);