drm/xe/migrate: Update cpu page-table updates
Don't wait for GPU to be able to update page-tables using CPU. Putting ourselves to sleep may be more of a problem than using GPU for page-table updates. Also allow the vm to be NULL since the migrate kunit test uses NULL for vm. Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
7c51050b3b
commit
fc1cc68030
@ -979,25 +979,13 @@ xe_migrate_update_pgtables_cpu(struct xe_migrate *m,
|
||||
int err;
|
||||
u32 i;
|
||||
|
||||
/* Wait on BO moves for 10 ms, then fall back to GPU job */
|
||||
if (bo) {
|
||||
long wait;
|
||||
if (bo && !dma_resv_test_signaled(bo->ttm.base.resv,
|
||||
DMA_RESV_USAGE_KERNEL))
|
||||
return ERR_PTR(-ETIME);
|
||||
|
||||
wait = dma_resv_wait_timeout(bo->ttm.base.resv,
|
||||
DMA_RESV_USAGE_KERNEL,
|
||||
true, HZ / 100);
|
||||
if (wait <= 0)
|
||||
return ERR_PTR(-ETIME);
|
||||
}
|
||||
if (wait_vm) {
|
||||
long wait;
|
||||
|
||||
wait = dma_resv_wait_timeout(&vm->resv,
|
||||
DMA_RESV_USAGE_BOOKKEEP,
|
||||
true, HZ / 100);
|
||||
if (wait <= 0)
|
||||
return ERR_PTR(-ETIME);
|
||||
}
|
||||
if (wait_vm && !dma_resv_test_signaled(&vm->resv,
|
||||
DMA_RESV_USAGE_BOOKKEEP))
|
||||
return ERR_PTR(-ETIME);
|
||||
|
||||
if (ops->pre_commit) {
|
||||
err = ops->pre_commit(pt_update);
|
||||
@ -1011,8 +999,10 @@ xe_migrate_update_pgtables_cpu(struct xe_migrate *m,
|
||||
update->ofs, update->qwords, update);
|
||||
}
|
||||
|
||||
trace_xe_vm_cpu_bind(vm);
|
||||
xe_device_wmb(vm->xe);
|
||||
if (vm) {
|
||||
trace_xe_vm_cpu_bind(vm);
|
||||
xe_device_wmb(vm->xe);
|
||||
}
|
||||
|
||||
fence = dma_fence_get_stub();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user