diff --git a/tests/amdgpu/amd_plane.c b/tests/amdgpu/amd_plane.c index faaa1b87a398694468ee2a57510ead9eb5d57236..4b2bee492255c200f1c245b0abfda2d4ff8eb53c 100644 --- a/tests/amdgpu/amd_plane.c +++ b/tests/amdgpu/amd_plane.c @@ -449,9 +449,11 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int { igt_display_t *display = &data->display; + igt_output_t *output; uint32_t regamma_lut_size; lut_t lut; struct fbc fb[4]; + int valid_outputs = 0; int videos[][2]= { {426, 240}, {640, 360}, @@ -464,6 +466,13 @@ static void test_display_mpo(data_t *data, enum test test, uint32_t format, int test_init(data); + /* Skip if there is less valid outputs than the required. */ + for_each_connected_output(display, output) + valid_outputs++; + + igt_skip_on_f(valid_outputs < display_count, + "Valid outputs (%d) should be equal or greater than %d\n", valid_outputs, display_count); + regamma_lut_size = igt_pipe_obj_get_prop(data->pipe[0], IGT_CRTC_GAMMA_LUT_SIZE); igt_assert_lt(0, regamma_lut_size); lut_init(&lut, regamma_lut_size); @@ -586,9 +595,17 @@ static void test_mpo_swizzle_toggle_multihead(data_t *data) { struct amdgpu_bo_metadata meta = {}; igt_display_t *display = &data->display; + igt_output_t *output; igt_fb_t fb_1280_xr24_tiled, fb_1280_ar24_tiled, fb_1920_xb24_tiled, fb_1920_xb24_linear, fb_1920_xr24_tiled; int w, h; + int valid_outputs = 0; + + /* Skip if only one display is connected. */ + for_each_connected_output(display, output) + valid_outputs++; + + igt_skip_on_f(valid_outputs == 1, "Must have more than one output connected\n"); w = 2400; h = 1350;