From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 27E87C36010 for ; Wed, 2 Apr 2025 02:29:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D16E510E6A7; Wed, 2 Apr 2025 02:29:39 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=igalia.com header.i=@igalia.com header.b="mOtv5rzv"; dkim-atps=neutral Received: from fanzine2.igalia.com (fanzine.igalia.com [178.60.130.6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 25EE710E6A7 for ; Wed, 2 Apr 2025 02:29:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=CyvYgm3qzf928coL5O6fPuwgwA0F1E5MSCFqiykvk7o=; b=mOtv5rzvBdh/NQ8/N0AtOxj2Ku EOxIfBGvocdGsdp3QAbWPiC2cyUoCWtWj5wluvF3mnIes1xr/Iv7PdA9OTfvshtk+BW0jPGnYnoY8 Lnv3qO4D38yr+OJzWKNcyF+o/GccrStAMkcFCTaMgMi8bdZGtNvkTjM+qQ5ymKexxP02YS2SxNedB SK5HUxHF/e0EbQQE52TCz7IUDi+tqCYHbLsER40FRE/Q/gccVtqiWAgtGORBxaekB5dbqSWI64j44 uKxtFsUBa7bjMS/+TKVMwMPxSlQTaOP+HEHrQpL/l4TvBc5fUjZCMk9Uz3k+KiyuZPvI5wV9fOv/4 Y5W/vXGg==; Received: from [187.57.129.172] (helo=localhost.localdomain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1tznrE-00AAa9-1t; Wed, 02 Apr 2025 04:29:36 +0200 From: =?UTF-8?q?Andr=C3=A9=20Almeida?= To: igt-dev@lists.freedesktop.org, Jeevan B , Kamil Konieczny Cc: kernel-dev@igalia.com, Vitaly Prosyak , Alex Hung , Melissa Wen , Rodrigo Siqueira , =?UTF-8?q?Andr=C3=A9=20Almeida?= Subject: [PATCH v5 3/4] kms_async_flips: Refactor data options Date: Tue, 1 Apr 2025 23:29:21 -0300 Message-ID: <20250402022922.210495-4-andrealmeid@igalia.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250402022922.210495-1-andrealmeid@igalia.com> References: <20250402022922.210495-1-andrealmeid@igalia.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: igt-dev@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development mailing list for IGT GPU Tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" Setting the test data options as true and false for every test is error prone. Instead, reset all the data to false at the end of a test and just set the needed options to true before running a test. Signed-off-by: André Almeida --- tests/kms_async_flips.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c index d2a1f60f9..6986278d7 100644 --- a/tests/kms_async_flips.c +++ b/tests/kms_async_flips.c @@ -230,6 +230,12 @@ static void test_init(data_t *data) data->plane = igt_output_get_plane_type(data->output, DRM_PLANE_TYPE_PRIMARY); } +static void test_init_ops(data_t *data) +{ + data->alternate_sync_async = false; + data->atomic_path = false; +} + static void test_init_fbs(data_t *data) { int i; @@ -778,8 +784,7 @@ igt_main igt_describe("Wait for page flip events in between successive asynchronous flips"); igt_subtest_with_dynamic("async-flip-with-page-flip-events") { - data.alternate_sync_async = false; - data.atomic_path = false; + test_init_ops(&data); if (is_intel_device(data.drm_fd)) run_test_with_modifiers(&data, test_async_flip); else @@ -789,7 +794,7 @@ igt_main igt_describe("Wait for page flip events in between successive " "asynchronous flips using atomic path"); igt_subtest_with_dynamic("async-flip-with-page-flip-events-atomic") { - data.alternate_sync_async = false; + test_init_ops(&data); data.atomic_path = true; if (is_intel_device(data.drm_fd)) run_test_with_modifiers(&data, test_async_flip); @@ -799,13 +804,14 @@ igt_main igt_describe("Alternate between sync and async flips"); igt_subtest_with_dynamic("alternate-sync-async-flip") { + test_init_ops(&data); data.alternate_sync_async = true; - data.atomic_path = false; run_test(&data, test_async_flip); } igt_describe("Alternate between sync and async flips using atomic path"); igt_subtest_with_dynamic("alternate-sync-async-flip-atomic") { + test_init_ops(&data); data.alternate_sync_async = true; data.atomic_path = true; run_test(&data, test_async_flip); @@ -814,13 +820,14 @@ igt_main igt_describe("Verify that the async flip timestamp does not " "coincide with either previous or next vblank"); igt_subtest_with_dynamic("test-time-stamp") { - data.atomic_path = false; + test_init_ops(&data); run_test(&data, test_timestamp); } igt_describe("Verify that the async flip timestamp does not coincide " "with either previous or next vblank with atomic path"); igt_subtest_with_dynamic("test-time-stamp-atomic") { + test_init_ops(&data); data.atomic_path = true; run_test(&data, test_timestamp); } @@ -828,6 +835,7 @@ igt_main igt_describe("Verify that the DRM_IOCTL_MODE_CURSOR passes after async flip"); igt_subtest_with_dynamic("test-cursor") { + test_init_ops(&data); /* * Intel's PSR2 selective fetch adds other planes to state when * necessary, causing the async flip to fail because async flip is not @@ -837,13 +845,13 @@ igt_main "PSR2 sel fetch causes cursor to be added to primary plane " "pages flips and async flip is not supported in cursor\n"); - data.atomic_path = false; run_test(&data, test_cursor); } igt_describe("Verify that the DRM_IOCTL_MODE_CURSOR passes after " "async flip with atomic commit"); igt_subtest_with_dynamic("test-cursor-atomic") { + test_init_ops(&data); /* * Intel's PSR2 selective fetch adds other planes to state when * necessary, causing the async flip to fail because async flip is not @@ -858,6 +866,7 @@ igt_main igt_describe("Negative case to verify if changes in fb are rejected from kernel as expected"); igt_subtest_with_dynamic("invalid-async-flip") { + test_init_ops(&data); /* TODO: support more vendors */ igt_require(is_intel_device(data.drm_fd)); igt_require(igt_display_has_format_mod(&data.display, DRM_FORMAT_XRGB8888, @@ -865,13 +874,13 @@ igt_main igt_require(igt_display_has_format_mod(&data.display, DRM_FORMAT_XRGB8888, I915_FORMAT_MOD_Y_TILED)); - data.atomic_path = false; run_test(&data, test_invalid); } igt_describe("Negative case to verify if changes in fb are rejected " "from kernel as expected when async flip is done using atomic path"); igt_subtest_with_dynamic("invalid-async-flip-atomic") { + test_init_ops(&data); data.atomic_path = true; /* TODO: support more vendors */ igt_require(is_intel_device(data.drm_fd)); @@ -885,16 +894,17 @@ igt_main igt_describe("Use CRC to verify async flip scans out the correct framebuffer"); igt_subtest_with_dynamic("crc") { + test_init_ops(&data); /* Devices without CRC can't run this test */ igt_require_pipe_crc(data.drm_fd); - data.atomic_path = false; run_test(&data, test_crc); } igt_describe("Use CRC to verify async flip scans out the correct framebuffer " "with atomic commit"); igt_subtest_with_dynamic("crc-atomic") { + test_init_ops(&data); /* Devices without CRC can't run this test */ igt_require_pipe_crc(data.drm_fd); @@ -904,6 +914,7 @@ igt_main igt_describe("Verify the async flip functionality after suspend and resume cycle"); igt_subtest_with_dynamic("async-flip-suspend-resume") { + test_init_ops(&data); data.suspend_resume = true; run_test(&data, test_async_flip); } -- 2.49.0