summaryrefslogtreecommitdiff
path: root/tests/kms_dp_tiled_display.c
diff options
context:
space:
mode:
authorKarthik B S <karthik.b.s@intel.com>2019-12-09 09:21:18 +0530
committerManasi Navare <manasi.d.navare@intel.com>2019-12-12 18:03:23 -0800
commit1d59065a79b697ed91cce26d5f6792b116f2fc61 (patch)
treef0fef5af557fdf3955efbbc1b5f85083a2da18dc /tests/kms_dp_tiled_display.c
parentb31112b213f602c1026ee95ce4ee83e8b715d740 (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.c18
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);