Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] tests/kms_async_flips: add atomic test
@ 2024-12-01 18:38 André Almeida
  2024-12-01 18:38 ` [PATCH 1/1] " André Almeida
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: André Almeida @ 2024-12-01 18:38 UTC (permalink / raw)
  To: igt-dev, Simon Ser, kernel-dev, Ville Syrjälä
  Cc: André Almeida

Despiste async page flip support for atomic uAPI being merged into the kernel,
the respective test wasn't merged [1]. I have rebased it and proposing it again.

[1] https://lore.kernel.org/igt-dev/20220824145832.426397-1-contact@emersion.fr/

Simon Ser (1):
  tests/kms_async_flips: add atomic test

 tests/kms_async_flips.c | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

-- 
2.47.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/1] tests/kms_async_flips: add atomic test
  2024-12-01 18:38 [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
@ 2024-12-01 18:38 ` André Almeida
  2024-12-02 18:55 ` ✗ GitLab.Pipeline: warning for tests/kms_async_flips: add atomic test (rev3) Patchwork
  2024-12-05 15:28 ` [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
  2 siblings, 0 replies; 4+ messages in thread
From: André Almeida @ 2024-12-01 18:38 UTC (permalink / raw)
  To: igt-dev, Simon Ser, kernel-dev, Ville Syrjälä
  Cc: André Almeida

From: Simon Ser <contact@emersion.fr>

This adds a simple test for DRM_MODE_PAGE_FLIP_ASYNC with the
atomic uAPI.

Signed-off-by: Simon Ser <contact@emersion.fr>
[Rebased and added modeset commit]
Signed-off-by: André Almeida <andrealmeid@igalia.com>
---
 tests/kms_async_flips.c | 44 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
index 5dec71291..ce02db8e7 100644
--- a/tests/kms_async_flips.c
+++ b/tests/kms_async_flips.c
@@ -331,6 +331,42 @@ static void test_async_flip(data_t *data)
 	}
 }
 
+static void test_async_flip_atomic(data_t *data)
+{
+	int frame;
+	long long int fps;
+	struct timeval start, end, diff;
+
+	test_init(data);
+
+	/*
+	 * Async flips doesn't allow mode sets, so do a initial sync flip
+	 * setting this mode
+	 */
+	igt_plane_set_fb(data->plane, &data->bufs[0]);
+	igt_display_commit_atomic(&data->display, DRM_MODE_ATOMIC_ALLOW_MODESET, data);
+
+	gettimeofday(&start, NULL);
+	frame = 1;
+	do {
+		uint32_t flags = DRM_MODE_PAGE_FLIP_ASYNC | DRM_MODE_PAGE_FLIP_EVENT;
+
+		igt_plane_set_fb(data->plane, &data->bufs[frame % 4]);
+		igt_display_commit_atomic(&data->display, flags, data);
+
+		wait_flip_event(data);
+
+		gettimeofday(&end, NULL);
+		timersub(&end, &start, &diff);
+
+		frame++;
+	} while (diff.tv_sec < RUN_TIME);
+
+	fps = frame * 1000 / RUN_TIME;
+	igt_assert_f((fps / 1000) > (data->refresh_rate * MIN_FLIPS_PER_FRAME),
+		     "FPS should be significantly higher than the refresh rate\n");
+}
+
 static void wait_for_vblank(data_t *data, unsigned long *vbl_time, unsigned int *seq)
 {
 	drmVBlank wait_vbl;
@@ -765,6 +801,14 @@ igt_main
 		run_test(&data, test_async_flip);
 	}
 
+	igt_describe("Verify the async flip functionality and the fps during atomic async flips");
+	igt_subtest_with_dynamic("atomic-async-flip") {
+		require_monotonic_timestamp(data.drm_fd);
+		igt_require_f(igt_has_drm_cap(data.drm_fd, DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP),
+			      "Atomic async page-flips are not supported\n");
+		run_test(&data, test_async_flip_atomic);
+	}
+
 	igt_fixture {
 		for (i = 0; i < NUM_FBS; i++)
 			igt_remove_fb(data.drm_fd, &data.bufs[i]);
-- 
2.47.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* ✗ GitLab.Pipeline: warning for tests/kms_async_flips: add atomic test (rev3)
  2024-12-01 18:38 [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
  2024-12-01 18:38 ` [PATCH 1/1] " André Almeida
@ 2024-12-02 18:55 ` Patchwork
  2024-12-05 15:28 ` [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
  2 siblings, 0 replies; 4+ messages in thread
From: Patchwork @ 2024-12-02 18:55 UTC (permalink / raw)
  To: André Almeida; +Cc: igt-dev

== Series Details ==

Series: tests/kms_async_flips: add atomic test (rev3)
URL   : https://patchwork.freedesktop.org/series/107681/
State : warning

== Summary ==

Pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1321671 for the overview.

build:tests-debian-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549550):
  [1914/1918] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  [1915/1918] Generating xe_tests.html with a custom command.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/851] Generating version.h with a custom command.
  [2/6] Linking target runner/runner_test.
  [3/6] Generating intel-ci-tests with a custom command.
  [4/6] Generating i915_tests.html with a custom command.
  [5/6] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165386:step_script
  section_start:1733165386:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165386:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549545):
  [1920/1924] Generating xe_tests.html with a custom command.
  [1921/1924] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/853] Generating version.h with a custom command.
  [2/6] Linking target runner/runner_test.
  [3/6] Generating intel-ci-tests with a custom command.
  [4/6] Generating i915_tests.html with a custom command.
  [5/6] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165251:step_script
  section_start:1733165251:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165252:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549549):
  [1920/1924] Generating i915_tests.rst with a custom command.
  [1921/1924] Generating intel-ci-tests with a custom command.
  [1922/1924] Generating xe_tests.html with a custom command.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/853] Generating version.h with a custom command.
  [2/5] Generating i915_tests.html with a custom command.
  [3/5] Generating intel-ci-tests with a custom command.
  [4/5] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165310:step_script
  section_start:1733165310:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165311:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libdrm-nouveau has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549548):
  [1748/1752] Generating xe_tests.html with a custom command.
  [1749/1752] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/801] Generating version.h with a custom command.
  [2/6] Linking target runner/runner_test.
  [3/6] Generating intel-ci-tests with a custom command.
  [4/6] Generating i915_tests.html with a custom command.
  [5/6] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165218:step_script
  section_start:1733165218:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165281:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libunwind has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549546):
  [1920/1924] Generating xe_tests.html with a custom command.
  [1921/1924] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/853] Generating version.h with a custom command.
  [2/6] Linking target runner/runner_test.
  [3/6] Generating intel-ci-tests with a custom command.
  [4/6] Generating i915_tests.html with a custom command.
  [5/6] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165237:step_script
  section_start:1733165237:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165281:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-oldest-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/67549547):
  [1920/1924] Compiling C object 'runner/runner@@runner_test@exe/runner_tests.c.o'.
  [1921/1924] Generating xe_tests.html with a custom command.
  ninja: build stopped: subcommand failed.
  ninja: Entering directory `build'
  [1/853] Generating version.h with a custom command.
  [2/6] Linking target runner/runner_test.
  [3/6] Generating intel-ci-tests with a custom command.
  [4/6] Generating i915_tests.html with a custom command.
  [5/6] Generating kms_tests.rst with a custom command.
  FAILED: docs/testplan/kms_tests.rst 
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json --rest docs/testplan/kms_tests.rst --check-testlist --igt-build-path /builds/gfx-ci/igt-ci-tags/build
  ERROR: Missing documentation for igt@kms_async_flips@atomic-async-flip
  Please refer: docs/test_documentation.md for more details
  ninja: build stopped: subcommand failed.
  section_end:1733165237:step_script
  section_start:1733165237:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1733165281:cleanup_file_variables
  ERROR: Job failed: exit code 1

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1321671

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/1] tests/kms_async_flips: add atomic test
  2024-12-01 18:38 [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
  2024-12-01 18:38 ` [PATCH 1/1] " André Almeida
  2024-12-02 18:55 ` ✗ GitLab.Pipeline: warning for tests/kms_async_flips: add atomic test (rev3) Patchwork
@ 2024-12-05 15:28 ` André Almeida
  2 siblings, 0 replies; 4+ messages in thread
From: André Almeida @ 2024-12-05 15:28 UTC (permalink / raw)
  To: igt-dev, Simon Ser, kernel-dev, Ville Syrjälä

Em 01/12/2024 15:38, André Almeida escreveu:
> Despiste async page flip support for atomic uAPI being merged into the kernel,
> the respective test wasn't merged [1]. I have rebased it and proposing it again.
> 

I just realized that a similar patch was merged [1], so this one can be 
ignored.

[1] 
https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/296891df840e70801f806898d46ccb0abf5e2db8

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-12-06  9:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-01 18:38 [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida
2024-12-01 18:38 ` [PATCH 1/1] " André Almeida
2024-12-02 18:55 ` ✗ GitLab.Pipeline: warning for tests/kms_async_flips: add atomic test (rev3) Patchwork
2024-12-05 15:28 ` [PATCH 0/1] tests/kms_async_flips: add atomic test André Almeida

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox