Thread (17 messages) 17 messages, 6 authors, 2021-07-02

Re: [igt-dev] [PATCH] tests/kms_prime: Filter out devices that can't import buffers.

From: Rodrigo Siqueira <hidden>
Date: 2021-06-15 13:12:59

Hi Alex and Christian,

This patch is related to prime, but I'm not familiar with this part of
our driver. Could you take a look at that?

Thanks

On 06/14, Mark Yacoub wrote:
quoted hunk ↗ jump to hunk
Some devices such as amdgpu do not support imported buffers.
Filter out those devices.
Tested on Zork with chromeos-kernel-5_4.

Signed-off-by: Mark Yacoub <redacted>
---
 tests/kms_prime.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index 8cb2ca2a..480c7eb4 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -249,6 +249,16 @@ static void test_crc(int exporter_fd, int importer_fd)
 	igt_display_fini(&display);
 }
 
+/* The test attempts to import the buffer object from one device to another.
+ * Filter out devices that aren't capable of doing this.
+ */
+bool does_device_support_dmabuf_import(int fd) {
+	/* AMDGPU uses VRAM. Any use of the fb will migrate it to VRAM, which is not sensible for
+	 * an imported dma-buf.
+	 */
+	return !is_amdgpu_device(fd);
+}
+
 igt_main
 {
 	igt_fixture
@@ -262,10 +272,10 @@ igt_main
 
 		/* ANY = anything that is not VGEM */
 		first_fd = __drm_open_driver_another(0, DRIVER_ANY | DRIVER_VGEM);
-		igt_require(first_fd >= 0);
+		igt_require(first_fd >= 0 && does_device_support_dmabuf_import(first_fd));
 
 		second_fd = __drm_open_driver_another(1, DRIVER_ANY | DRIVER_VGEM);
-		igt_require(second_fd >= 0);
+		igt_require(second_fd >= 0 && does_device_support_dmabuf_import(second_fd));
 
 		if (has_prime_export(first_fd) &&
 		    has_prime_import(second_fd))
-- 
2.32.0.272.g935e593368-goog
-- 
Rodrigo Siqueira
https://siqueira.tech
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help