summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_pt.c
diff options
context:
space:
mode:
authorMatthew Brost <matthew.brost@intel.com>2023-07-20 00:46:01 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:37:52 +0300
commit8f33b4f054fc29a4774d8d10116ef460faeb84a8 (patch)
treeabb5c806178e12488bfa7a37382667c8492cf8e9 /drivers/gpu/drm/xe/xe_pt.c
parent3188c0f4c893ce1b232cdf8a3e26ff6139079908 (diff)
downloadlinux-8f33b4f054fc29a4774d8d10116ef460faeb84a8.tar.xz
drm/xe: Avoid doing rebinds
If we dont change page sizes we can avoid doing rebinds rather just do a partial unbind. The algorithm to determine its page size is greedy as we assume all pages in the removed VMA are the largest page used in the VMA. v2: Don't exceed 100 lines v3: struct xe_vma_op_unmap remove in different patch, remove XXX comment Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Matthew Brost <matthew.brost@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_pt.c')
-rw-r--r--drivers/gpu/drm/xe/xe_pt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_pt.c b/drivers/gpu/drm/xe/xe_pt.c
index 0ca7853fc70a..bc7fa5a850e2 100644
--- a/drivers/gpu/drm/xe/xe_pt.c
+++ b/drivers/gpu/drm/xe/xe_pt.c
@@ -668,6 +668,7 @@ xe_pt_stage_bind_entry(struct xe_ptw *parent, pgoff_t offset,
if (!is_null)
xe_res_next(curs, next - addr);
xe_walk->va_curs_start = next;
+ xe_walk->vma->gpuva.flags |= (XE_VMA_PTE_4K << level);
*action = ACTION_CONTINUE;
return ret;