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