diff options
author | Karthik B S <karthik.b.s@intel.com> | 2019-12-09 09:21:18 +0530 |
---|---|---|
committer | Manasi Navare <manasi.d.navare@intel.com> | 2019-12-12 18:03:23 -0800 |
commit | 1d59065a79b697ed91cce26d5f6792b116f2fc61 (patch) | |
tree | f0fef5af557fdf3955efbbc1b5f85083a2da18dc /tests/kms_dp_tiled_display.c | |
parent | b31112b213f602c1026ee95ce4ee83e8b715d740 (diff) |
tests/kms_dp_tiled_display: Request a mode on resolution that matches tile size
Loop through the connector's modes for both the tiled connectors and
find a mode that matches the tile h size and tile v size.
Request a modeset on this mode for both tiled connectors.
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
Diffstat (limited to 'tests/kms_dp_tiled_display.c')
-rw-r--r-- | tests/kms_dp_tiled_display.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/tests/kms_dp_tiled_display.c b/tests/kms_dp_tiled_display.c index 175ff12f..c86a055e 100644 --- a/tests/kms_dp_tiled_display.c +++ b/tests/kms_dp_tiled_display.c @@ -207,9 +207,10 @@ static void test_cleanup(data_t *data) static void setup_mode(data_t *data) { - int count = 0, prev = 0; - bool pipe_in_use = false; + int count = 0, prev = 0, i = 0; + bool pipe_in_use = false, found = false; enum pipe pipe; + drmModeModeInfo *mode; igt_output_t *output; data_connector_t *conns = data->conns; @@ -226,6 +227,8 @@ static void setup_mode(data_t *data) for_each_pipe(data->display, pipe) { pipe_in_use = false; + found = false; + if (count > 0) { for (prev = count - 1; prev >= 0; prev--) { if (pipe == conns[prev].pipe) { @@ -247,6 +250,17 @@ static void setup_mode(data_t *data) } } igt_require(conns[count].pipe != PIPE_NONE); + + for (i = 0; i < conns[count].connector->count_modes; i++) { + mode = &conns[count].connector->modes[i]; + if (mode->vdisplay == conns[count].tile.tile_v_size && + mode->hdisplay == conns[count].tile.tile_h_size) { + found = true; + break; + } + } + igt_require(found); + igt_output_override_mode(output, mode); } igt_display_commit_atomic(data->display, DRM_MODE_ATOMIC_ALLOW_MODESET, NULL); |