drm/xe: Handle unmapped userptr in analyze VM

A corner exists where a userptr may have no mapping when analyze VM is
called, handle this case.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
Matthew Brost
2023-06-09 11:09:37 -07:00
committed by Rodrigo Vivi
parent 9f8f93bee3
commit 790bdc7cb2

View File

@@ -3455,9 +3455,13 @@ int xe_analyze_vm(struct drm_printer *p, struct xe_vm *vm, int gt_id)
if (is_userptr) {
struct xe_res_cursor cur;
xe_res_first_sg(vma->userptr.sg, 0, XE_PAGE_SIZE,
&cur);
addr = xe_res_dma(&cur);
if (vma->userptr.sg) {
xe_res_first_sg(vma->userptr.sg, 0, XE_PAGE_SIZE,
&cur);
addr = xe_res_dma(&cur);
} else {
addr = 0;
}
} else {
addr = __xe_bo_addr(vma->bo, 0, XE_PAGE_SIZE, &is_vram);
}