static void run_test(data_t *data, void (*testfunc)(data_t *), int cursor_w, int cursor_h) { igt_display_t *display = &data->display; igt_output_t *output; enum pipe p; int valid_tests = 0; igt_require(cursor_w <= data->cursor_max_w && cursor_h <= data->cursor_max_h); for_each_connected_output(display, output) { data->output = output; for_each_pipe(display, p) { data->pipe = p; if (!prepare_crtc(data, output, cursor_w, cursor_h)) continue; valid_tests++; igt_info("Beginning %s on pipe %s, connector %s\n", igt_subtest_name(), kmstest_pipe_name(data->pipe), igt_output_name(output)); testfunc(data); igt_info("\n%s on pipe %s, connector %s: PASSED\n\n", igt_subtest_name(), kmstest_pipe_name(data->pipe), igt_output_name(output)); /* cleanup what prepare_crtc() has done */ cleanup_crtc(data, output); }
static void test_read_crc(data_t *data, int pipe, unsigned flags) { igt_display_t *display = &data->display; int valid_connectors = 0; igt_output_t *output; igt_skip_on(pipe >= data->display.n_pipes); for_each_connected_output(display, output) { igt_info("%s: Testing connector %s using pipe %s\n", igt_subtest_name(), igt_output_name(output), kmstest_pipe_name(pipe)); valid_connectors += test_read_crc_for_output(data, pipe, output, flags); }