[igt-dev] [i-g-t v5 04/52] tests/kms_atomic: Add support for Bigjoiner
Swati Sharma
swati2.sharma at intel.com
Wed Dec 28 18:30:19 UTC 2022
Hi Bhanu,
Don't try to do many things in one patch. Create smaller patches. For
instance in this patch, only big joiner check should haven been
introduced and rest all cleanup should have been separate patch.
However, for now
Reviewed-by: Swati Sharma <swati2.sharma at intel.com>
On 15-Nov-22 10:38 PM, Bhanuprakash Modem wrote:
> This patch will add a check to Skip the subtest if a selected pipe/output
> combo won't support Bigjoiner or 8K mode.
>
> Example:
> * Pipe-D wont support a mode > 5K
> * To use 8K mode on a pipe then consecutive pipe must be available & free.
>
> V2: - Use updated helper name
>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
> tests/kms_atomic.c | 32 ++++++++++++++++++++++++++++----
> 1 file changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
> index 2a3fb74b..61117a3f 100644
> --- a/tests/kms_atomic.c
> +++ b/tests/kms_atomic.c
> @@ -1265,6 +1265,10 @@ static void atomic_plane_damage(igt_pipe_t *pipe, igt_plane_t *plane, struct igt
>
> static void atomic_setup(igt_display_t *display, enum pipe pipe, igt_output_t *output, igt_plane_t *primary, struct igt_fb *fb)
> {
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
> +
> + igt_display_reset(display);
> igt_output_set_pipe(output, pipe);
> igt_plane_set_fb(primary, fb);
>
> @@ -1293,6 +1297,7 @@ igt_main
> igt_plane_t *primary = NULL;
> drmModeModeInfo *mode;
> struct igt_fb fb;
> + bool valid_config = false;
>
> igt_fixture {
> display.drm_fd = drm_open_driver_master(DRIVER_ANY);
> @@ -1303,8 +1308,16 @@ igt_main
> igt_require(display.is_atomic);
> igt_display_require_output(&display);
>
> - for_each_pipe_with_valid_output(&display, pipe, output)
> - break;
> + for_each_pipe_with_valid_output(&display, pipe, output) {
> + igt_display_reset(&display);
> +
> + igt_output_set_pipe(output, pipe);
> + if (i915_pipe_output_combo_valid(&display)) {
> + valid_config = true;
> + break;
> + }
> + }
> + igt_require(valid_config);
>
> pipe_obj = &display.pipes[pipe];
> primary = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_PRIMARY);
> @@ -1342,9 +1355,13 @@ igt_main
> igt_subtest("plane-primary-overlay-mutable-zpos") {
> uint32_t format_primary = DRM_FORMAT_ARGB8888;
> uint32_t format_overlay = DRM_FORMAT_ARGB1555;
> + igt_plane_t *overlay;
>
> - igt_plane_t *overlay =
> - igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_OVERLAY);
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
> +
> + igt_display_reset(&display);
> + overlay = igt_pipe_get_plane_type(pipe_obj, DRM_PLANE_TYPE_OVERLAY);
> igt_require(overlay);
>
> igt_require(igt_plane_has_prop(primary, IGT_PLANE_ZPOS));
> @@ -1361,6 +1378,10 @@ igt_main
> igt_describe("Verify the reported zpos property of planes by making sure "\
> "only higher zpos planes cover the lower zpos ones.");
> igt_subtest("plane-immutable-zpos") {
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
> +
> + igt_display_reset(&display);
> igt_output_set_pipe(output, pipe);
> plane_immutable_zpos(&display, pipe_obj, output);
> }
> @@ -1370,6 +1391,9 @@ igt_main
> igt_subtest("test-only") {
> atomic_clear(&display, pipe, primary, output);
>
> + igt_info("Using (pipe %s + %s) to run the subtest.\n",
> + kmstest_pipe_name(pipe), igt_output_name(output));
> +
> test_only(pipe_obj, primary, output);
> }
>
--
~Swati Sharma
More information about the igt-dev
mailing list