From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (unknown [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id E835410E54E for ; Wed, 2 Aug 2023 10:28:40 +0000 (UTC) From: Bhanuprakash Modem To: igt-dev@lists.freedesktop.org Date: Wed, 2 Aug 2023 15:50:56 +0530 Message-Id: <20230802102059.3650360-15-bhanuprakash.modem@intel.com> In-Reply-To: <20230802102059.3650360-1-bhanuprakash.modem@intel.com> References: <20230802102059.3650360-1-bhanuprakash.modem@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [igt-dev] [i-g-t V2 14/17] tests/i915/kms_fb_coherancy: Add XE support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" List-ID: Add XE driver support for kms tests. This patch will add a support to call the corresponding apis based on the driver (i915/xe) Signed-off-by: Bhanuprakash Modem --- tests/i915/kms_fb_coherency.c | 43 +++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/tests/i915/kms_fb_coherency.c b/tests/i915/kms_fb_coherency.c index edb5ba460..1df3d90ff 100644 --- a/tests/i915/kms_fb_coherency.c +++ b/tests/i915/kms_fb_coherency.c @@ -15,6 +15,7 @@ #include #include "igt.h" +#include "xe/xe_ioctl.h" typedef struct { int drm_fd; @@ -90,7 +91,7 @@ static struct igt_fb *prepare_fb(data_t *data) 0, 0, fb->width, fb->height, 0, 0, fb->width << 16, fb->height << 16); - if (!gem_has_lmem(data->drm_fd)) { + if (is_i915_device(data->drm_fd) && !gem_has_lmem(data->drm_fd)) { uint32_t caching; /* make sure caching mode has become UC/WT */ @@ -159,7 +160,10 @@ static void test_mmap_offset_wc(data_t *data) fb = prepare_fb(data); - buf = gem_mmap_offset__wc(data->drm_fd, fb->gem_handle, 0, fb->size, PROT_WRITE); + if (is_i915_device(data->drm_fd)) + buf = gem_mmap_offset__wc(data->drm_fd, fb->gem_handle, 0, fb->size, PROT_WRITE); + else + buf = xe_bo_mmap_ext(data->drm_fd, fb->gem_handle, fb->size, PROT_WRITE); check_buf_crc(data, buf, fb); } @@ -225,7 +229,7 @@ igt_main data_t data; igt_fixture { - data.drm_fd = drm_open_driver_master(DRIVER_INTEL); + data.drm_fd = drm_open_driver_master(DRIVER_INTEL | DRIVER_XE); data.devid = intel_get_drm_devid(data.drm_fd); @@ -247,39 +251,38 @@ igt_main * Functionality: gtt */ igt_subtest_with_dynamic("memset-crc") { - if (gem_has_mappable_ggtt(data.drm_fd)) { + if (igt_draw_supports_method(data.drm_fd, IGT_DRAW_MMAP_GTT)) { igt_dynamic("mmap-gtt") test_mmap_gtt(&data); cleanup_crtc(&data); } - if (gem_mmap_offset__has_wc(data.drm_fd)) { + if (igt_draw_supports_method(data.drm_fd, IGT_DRAW_MMAP_WC)) { igt_dynamic("mmap-offset-wc") test_mmap_offset_wc(&data); cleanup_crtc(&data); } - if (gem_has_lmem(data.drm_fd)) { - igt_dynamic("mmap-offset-fixed") - test_mmap_offset_fixed(&data); + if (is_i915_device(data.drm_fd)) { + if (gem_has_lmem(data.drm_fd)) { + igt_dynamic("mmap-offset-fixed") + test_mmap_offset_fixed(&data); + } else if (gem_has_mmap_offset(data.drm_fd)) { + igt_dynamic("mmap-offset-uc") + test_mmap_offset_uc(&data); + } cleanup_crtc(&data); - } else if (gem_has_mmap_offset(data.drm_fd)) { - igt_dynamic("mmap-offset-uc") - test_mmap_offset_uc(&data); + if (gem_has_legacy_mmap(data.drm_fd) && + gem_mmap__has_wc(data.drm_fd)) { + igt_dynamic("mmap-legacy-wc") + test_legacy_mmap_wc(&data); - cleanup_crtc(&data); - } - - if (gem_has_legacy_mmap(data.drm_fd) && - gem_mmap__has_wc(data.drm_fd)) { - igt_dynamic("mmap-legacy-wc") - test_legacy_mmap_wc(&data); - - cleanup_crtc(&data); + cleanup_crtc(&data); + } } } -- 2.40.0