[PATCH 3/3] drm/xe: Enable compressed memory for SVM
Matthew Brost
matthew.brost at intel.com
Mon Jul 14 17:33:42 UTC 2025
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
---
drivers/gpu/drm/xe/xe_migrate.c | 10 ++++++++--
drivers/gpu/drm/xe/xe_vm.c | 5 +----
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c
index 936daa2b363d..0519b9025e0f 100644
--- a/drivers/gpu/drm/xe/xe_migrate.c
+++ b/drivers/gpu/drm/xe/xe_migrate.c
@@ -1723,8 +1723,11 @@ struct dma_fence *xe_migrate_to_vram(struct xe_migrate *m,
dma_addr_t *src_addr,
u64 dst_addr)
{
+ struct xe_device *xe = gt_to_xe(m->tile->primary_gt);
+
return xe_migrate_vram(m, npages * PAGE_SIZE, 0, src_addr, dst_addr,
- XE_MIGRATE_COPY_TO_VRAM, false);
+ XE_MIGRATE_COPY_TO_VRAM,
+ xe_migrate_needs_ccs_emit(xe));
}
/**
@@ -1744,8 +1747,11 @@ struct dma_fence *xe_migrate_from_vram(struct xe_migrate *m,
u64 src_addr,
dma_addr_t *dst_addr)
{
+ struct xe_device *xe = gt_to_xe(m->tile->primary_gt);
+
return xe_migrate_vram(m, npages * PAGE_SIZE, 0, dst_addr, src_addr,
- XE_MIGRATE_COPY_TO_SRAM, false);
+ XE_MIGRATE_COPY_TO_SRAM,
+ xe_migrate_needs_ccs_emit(xe));
}
static void xe_migrate_dma_unmap(struct xe_device *xe, dma_addr_t *dma_addr,
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 73cb981c0956..2035604121e6 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2362,10 +2362,7 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops,
op->map.is_cpu_addr_mirror = flags &
DRM_XE_VM_BIND_FLAG_CPU_ADDR_MIRROR;
op->map.dumpable = flags & DRM_XE_VM_BIND_FLAG_DUMPABLE;
- if (op->map.is_cpu_addr_mirror)
- op->map.pat_index = 0;
- else
- op->map.pat_index = pat_index;
+ op->map.pat_index = pat_index;
op->map.invalidate_on_bind =
__xe_vm_needs_clear_scratch_pages(vm, flags);
} else if (__op->op == DRM_GPUVA_OP_PREFETCH) {
--
2.34.1
More information about the Intel-xe
mailing list