From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id C701610E82A for ; Tue, 1 Mar 2022 07:58:18 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= To: igt-dev@lists.freedesktop.org Date: Tue, 1 Mar 2022 08:58:02 +0100 Message-Id: <20220301075803.117058-3-zbigniew.kempczynski@intel.com> In-Reply-To: <20220301075803.117058-1-zbigniew.kempczynski@intel.com> References: <20220301075803.117058-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [PATCH i-g-t 2/3] tests/prime_mmap: Iterate over dma-buf supported memory regions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: To avoid code duplication (prime_mmap_coherency uses similar code) use helper function which returns dma-buf set of supported regions. Signed-off-by: Zbigniew KempczyƄski Cc: Ashutosh Dixit --- tests/prime_mmap.c | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c index e0cb9a25b..d53185ff1 100644 --- a/tests/prime_mmap.c +++ b/tests/prime_mmap.c @@ -483,31 +483,6 @@ test_aperture_limit(uint32_t region, int size) gem_close(fd, handle2); } -static int -check_for_dma_buf_mmap(struct igt_collection *set) -{ - struct igt_collection *region; - uint32_t reg; - int dma_buf_fd; - char *ptr; - uint32_t handle; - int ret = 1; - - for_each_combination(region, 1, set) { - reg = igt_collection_get_value(region, 0); - handle = gem_create_in_memory_regions(fd, BO_SIZE, reg); - - dma_buf_fd = prime_handle_to_fd(fd, handle); - ptr = mmap(NULL, BO_SIZE, PROT_READ, MAP_SHARED, dma_buf_fd, 0); - if (ptr != MAP_FAILED) - ret = 0; - munmap(ptr, BO_SIZE); - gem_close(fd, handle); - close(dma_buf_fd); - } - return ret; -} - #define SKIP_LMEM (1 << 0) #define SKIP_USERPTR (1 << 1) @@ -527,7 +502,7 @@ static bool check_skip(uint32_t skip, uint32_t region) igt_main { - struct igt_collection *set, *regions; + struct igt_collection *set, *regions, *dma_buf_set; struct drm_i915_query_memory_regions *query_info; struct { const char *name; @@ -560,13 +535,15 @@ igt_main set = get_memory_region_set(query_info, I915_SYSTEM_MEMORY, I915_DEVICE_MEMORY); - igt_assert(check_for_dma_buf_mmap(set) == 0); + + dma_buf_set = get_dma_buf_mmap_supported_set(fd, set); + igt_require_f(dma_buf_set, "No dma-buf region supported\n"); errno = 0; } for (i = 0; i < ARRAY_SIZE(tests); i++) igt_subtest_with_dynamic(tests[i].name) { - for_each_combination(regions, 1, set) { + for_each_combination(regions, 1, dma_buf_set) { region = igt_collection_get_value(regions, 0); size = gem_get_batch_size(fd, MEMORY_TYPE_FROM_REGION(region)); size = max(size, BO_SIZE); @@ -582,6 +559,7 @@ igt_main igt_fixture { free(query_info); igt_collection_destroy(set); + igt_collection_destroy(dma_buf_set); close(fd); } } -- 2.32.0