All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: himal.prasad.ghimiray@intel.com,
	Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
Subject: [PATCH v2 6/8] drm/xe/vm: apply debug page-size policy to VMA map flags
Date: Wed,  1 Jul 2026 22:03:46 +0530	[thread overview]
Message-ID: <20260701163348.3432358-7-naresh.kumar.g@intel.com> (raw)
In-Reply-To: <20260701163348.3432358-1-naresh.kumar.g@intel.com>

Propagate the debug user BO page-size selection into VM bind map
operations.

When page-size allocation control is supported and the BO is a user BO,
set the corresponding VMA PTE flag during bind-op construction based on
the BO page-size requirement flags. This covers 64K, 2M, and 1G modes
and allows the debug page-size allocation policy to influence page-table
mapping behavior for user allocations.

Signed-off-by: Nareshkumar Gollakoti <naresh.kumar.g@intel.com>
---
 drivers/gpu/drm/xe/xe_vm.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 080c2fff0e95..50ca29a79533 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2390,6 +2390,27 @@ static void xe_svm_prefetch_gpuva_ops_fini(struct drm_gpuva_ops *ops)
 	}
 }
 
+static void xe_vma_apply_debug_page_size_flag(struct xe_vm *vm,
+					      struct xe_vma_op *op,
+					      struct xe_bo *bo)
+{
+	if (!xe_device_supports_multi_pagesize(vm->xe))
+		return;
+
+	if (!bo)
+		return;
+
+	if (!(bo->flags & XE_BO_FLAG_USER))
+		return;
+
+	if (bo->flags & XE_BO_FLAG_NEEDS_64K)
+		op->map.vma_flags |= XE_VMA_PTE_64K;
+	else if (bo->flags & XE_BO_FLAG_NEEDS_2M)
+		op->map.vma_flags |= XE_VMA_PTE_2M;
+	else if (bo->flags & XE_BO_FLAG_NEEDS_1G)
+		op->map.vma_flags |= XE_VMA_PTE_1G;
+}
+
 /*
  * Create operations list from IOCTL arguments, setup operations fields so parse
  * and commit steps are decoupled from IOCTL arguments. This step can fail.
@@ -2485,6 +2506,7 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops,
 			op->map.pat_index = pat_index;
 			op->map.invalidate_on_bind =
 				__xe_vm_needs_clear_scratch_pages(vm, flags);
+			xe_vma_apply_debug_page_size_flag(vm, op, bo);
 		} else if (__op->op == DRM_GPUVA_OP_PREFETCH) {
 			struct xe_vma *vma = gpuva_to_vma(op->base.prefetch.va);
 			struct xe_tile *tile;
-- 
2.43.0


  parent reply	other threads:[~2026-07-01 16:33 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-01 16:33 [PATCH v2 0/8] drm/xe: add page size allocation mode control Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 1/8] drm/xe: add page size allocation control state to xe_device Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 2/8] drm/xe: add helper for multi page-size support Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 3/8] drm/xe/debugfs: add page size allocation mode knob Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 4/8] drm/xe: add 1G BO page-size alignment flag Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 5/8] drm/xe: apply debug page-size policy to user BO creation Nareshkumar Gollakoti
2026-07-01 16:33 ` Nareshkumar Gollakoti [this message]
2026-07-01 16:33 ` [PATCH v2 7/8] drm/xe/vm: validate large-page user BO bind alignment Nareshkumar Gollakoti
2026-07-01 16:33 ` [PATCH v2 8/8] drm/xe/pt: allow selecting the bind leaf PTE level Nareshkumar Gollakoti
2026-07-01 17:19 ` ✓ CI.KUnit: success for drm/xe: add page size allocation mode control 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=20260701163348.3432358-7-naresh.kumar.g@intel.com \
    --to=naresh.kumar.g@intel.com \
    --cc=himal.prasad.ghimiray@intel.com \
    --cc=intel-xe@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.