diff options
author | Bhanuprakash Modem <bhanuprakash.modem@intel.com> | 2022-07-05 10:12:28 +0530 |
---|---|---|
committer | Bhanuprakash Modem <bhanuprakash.modem@intel.com> | 2022-07-06 08:45:21 +0530 |
commit | 261740e5fd4990a549f537d3272351ec84458710 (patch) | |
tree | 67cfcbffca6a1c8ed5709a70fa7f934aea026cc0 /tests | |
parent | 1a3ffecd400b8f82c35745fa2e07992f6bdeede2 (diff) |
tests/kms_dither: Reset max_bpc before exiting the subtest
Before exiting the subtest, we must reset the connector's "max_bpc"
property to it's default value, else it may effect the consequent
subtests.
V2:
* Don't trigger a subtest if requested bpc > connecot's max_bpc.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/kms_dither.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/tests/kms_dither.c b/tests/kms_dither.c index 02896b37..3a44e797 100644 --- a/tests/kms_dither.c +++ b/tests/kms_dither.c @@ -128,6 +128,7 @@ static void test_dithering(data_t *data, enum pipe pipe, igt_display_t *display = &data->display; dither_status_t status; int bpc, ret; + bool constraint; igt_info("Dithering test execution on %s PIPE_%s\n", output->name, kmstest_pipe_name(pipe)); @@ -148,12 +149,12 @@ static void test_dithering(data_t *data, enum pipe pipe, else ret = igt_display_try_commit2(display, COMMIT_LEGACY); - igt_require_f(!ret, "%s don't support %d-bpc\n", - output->name, output_bpc); + if (ret) + goto cleanup; - igt_require_f(i915_clock_constraint(data, pipe, output, output_bpc), - "No supported mode found to use %d-bpc on %s\n", - output_bpc, output->name); + constraint = i915_clock_constraint(data, pipe, output, output_bpc); + if (!constraint) + goto cleanup; /* * Check the status of Dithering block: @@ -174,12 +175,17 @@ static void test_dithering(data_t *data, enum pipe pipe, * Otherwise, previously updated value will stay forever and * may cause the failures for next/other subtests. */ +cleanup: igt_output_set_prop_value(output, IGT_CONNECTOR_MAX_BPC, bpc); igt_plane_set_fb(data->primary, NULL); igt_output_set_pipe(output, PIPE_NONE); igt_display_commit2(display, display->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY); igt_remove_fb(data->drm_fd, &data->fb); + igt_require_f(!ret, "%s don't support %d-bpc\n", output->name, output_bpc); + igt_require_f(constraint, "No supported mode found to use %d-bpc on %s\n", + output_bpc, output->name); + /* Compute the result. */ if (fb_bpc > output_bpc) igt_assert_f(status.dither, "(fb_%dbpc > output_%dbpc): Dither should be enabled\n", @@ -210,6 +216,9 @@ run_dither_test(data_t *data, int fb_bpc, int fb_format, int output_bpc) if (!is_supported(output)) continue; + if (igt_get_output_max_bpc(data->drm_fd, output->name) < output_bpc) + continue; + for_each_pipe(display, pipe) { if (igt_pipe_connector_valid(pipe, output)) { igt_dynamic_f("pipe-%s-%s", |