Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v6 04/15] lib/intel_allocator: Add allocator support for Xe
Date: Tue, 25 Apr 2023 17:40:06 +0200	[thread overview]
Message-ID: <20230425154017.374465-5-zbigniew.kempczynski@intel.com> (raw)
In-Reply-To: <20230425154017.374465-1-zbigniew.kempczynski@intel.com>

Start supporting va range configuration for xe allocator.

During opening allocator has to be aware of vm range (start and end).
i915 driver doesn't expose vm range information so those variables
have to be detected. In xe driver we get information of va size from
the kernel query so va end can be directly configured. At the moment
there's no autodetection of va start for xe what might need to be
address in the future if for some reason lower offsets might not be
in use.

Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 lib/intel_allocator.c | 40 +++++++++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 15 deletions(-)

diff --git a/lib/intel_allocator.c b/lib/intel_allocator.c
index 2b08dd5996..45c1168ab5 100644
--- a/lib/intel_allocator.c
+++ b/lib/intel_allocator.c
@@ -16,6 +16,7 @@
 #include "igt_map.h"
 #include "intel_allocator.h"
 #include "intel_allocator_msgchannel.h"
+#include "xe/xe_query.h"
 
 //#define ALLOCDBG
 #ifdef ALLOCDBG
@@ -910,24 +911,33 @@ static uint64_t __intel_allocator_open_full(int fd, uint32_t ctx,
 	struct alloc_resp resp;
 	uint64_t gtt_size;
 
-	if (!start)
-		req.open.start = gem_detect_safe_start_offset(fd);
+	if (is_i915_device(fd)) {
+		if (!start)
+			req.open.start = gem_detect_safe_start_offset(fd);
 
-	if (!end) {
-		igt_assert_f(can_report_gtt_size(fd), "Invalid fd\n");
-		gtt_size = gem_aperture_size(fd);
-		if (!gem_uses_full_ppgtt(fd))
-			gtt_size /= 2;
-		else
-			gtt_size -= RESERVED;
+		if (!end) {
+			igt_assert_f(can_report_gtt_size(fd), "Invalid fd\n");
+			gtt_size = gem_aperture_size(fd);
+			if (!gem_uses_full_ppgtt(fd))
+				gtt_size /= 2;
+			else
+				gtt_size -= RESERVED;
 
-		req.open.end = gtt_size;
-	}
+			req.open.end = gtt_size;
+		}
 
-	if (!default_alignment)
-		req.open.default_alignment = gem_detect_safe_alignment(fd);
+		if (!default_alignment)
+			req.open.default_alignment = gem_detect_safe_alignment(fd);
+
+		req.open.start = ALIGN(req.open.start, req.open.default_alignment);
+	} else {
+		struct xe_device *xe_dev = xe_device_get(fd);
 
-	req.open.start = ALIGN(req.open.start, req.open.default_alignment);
+		igt_assert(xe_dev);
+
+		if (!end)
+			req.open.end = 1ull << xe_dev->va_bits;
+	}
 
 	/* Get child_tid only once at open() */
 	if (child_tid == -1)
@@ -998,7 +1008,7 @@ uint64_t intel_allocator_open_vm_full(int fd, uint32_t vm,
 
 /**
  * intel_allocator_open:
- * @fd: i915 descriptor
+ * @fd: i915 or xe descriptor
  * @ctx: context
  * @allocator_type: one of INTEL_ALLOCATOR_* define
  *
-- 
2.34.1

  parent reply	other threads:[~2023-04-25 15:40 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-25 15:40 [igt-dev] [PATCH i-g-t v6 00/15] Integrate intel-bb with Xe Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 01/15] lib/xe_ioctl: Add missing header for direct resolving Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 02/15] lib/xe_query: Add region helpers and missing doc Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 03/15] lib/xe_query: Remove commented out function prototype Zbigniew Kempczyński
2023-04-25 15:40 ` Zbigniew Kempczyński [this message]
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 05/15] lib/drmtest: Add driver enum for i915/xe Zbigniew Kempczyński
2023-04-26  8:23   ` Manszewski, Christoph
2023-04-26  9:03     ` Manszewski, Christoph
2023-04-26  9:51     ` Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 06/15] lib/intel_bufops: Add Xe support in bufops Zbigniew Kempczyński
2023-04-26 12:18   ` Manszewski, Christoph
2023-04-26 20:08     ` Zbigniew Kempczyński
2023-04-26 14:02   ` Kamil Konieczny
2023-04-26 20:10     ` Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 07/15] lib/intel_batchbuffer: Rename i915 -> fd as preparation step for xe Zbigniew Kempczyński
2023-04-26  9:28   ` Manszewski, Christoph
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 08/15] lib/intel_batchbuffer: Add Xe support in intel-bb Zbigniew Kempczyński
2023-04-25 18:27   ` Zbigniew Kempczyński
2023-04-26  9:59   ` Manszewski, Christoph
2023-04-26 10:52     ` Zbigniew Kempczyński
2023-04-26 12:47   ` Kamil Konieczny
2023-04-26 14:23     ` Manszewski, Christoph
2023-04-27  8:25     ` Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 09/15] tests/xe_intel_bb: Check if intel-bb Xe support correctness Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 10/15] tests/xe-fast-feedback: Add xe_intel_bb test to BAT Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 11/15] lib/gpgpu_fill: Use RENDER engine flag to work on Xe Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 12/15] tests/xe_gpgpu_fill: Exercise gpgpu fill " Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 13/15] lib/igt_fb: For xe assume vram is used on discrete Zbigniew Kempczyński
2023-04-27  6:44   ` Modem, Bhanuprakash
2023-04-27  9:04     ` Zbigniew Kempczyński
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 14/15] lib/igt_draw: Pass region while building intel_buf from flink Zbigniew Kempczyński
2023-04-27  6:41   ` Modem, Bhanuprakash
2023-04-25 15:40 ` [igt-dev] [PATCH i-g-t v6 15/15] tests/kms_big_fb: Deduce region for xe framebuffer Zbigniew Kempczyński
2023-04-27  6:40   ` Modem, Bhanuprakash
2023-04-25 19:24 ` [igt-dev] ✗ Fi.CI.BAT: failure for Integrate intel-bb with Xe (rev7) Patchwork
2023-04-25 21:54 ` [igt-dev] ✗ Fi.CI.BAT: failure for Integrate intel-bb with Xe (rev8) Patchwork
2023-04-26  8:23 ` [igt-dev] ✓ Fi.CI.BAT: success for Integrate intel-bb with Xe (rev9) Patchwork
2023-04-26  9:28 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230425154017.374465-5-zbigniew.kempczynski@intel.com \
    --to=zbigniew.kempczynski@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox