Skip to content

Commit 9ea9b45

Browse files
committed
drm/xe: Use SVM range helpers in PT layer
We have helpers SVM range start, end, and size. Use them in the PT layer rather than directly looking at the struct. Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com> Link: https://lore.kernel.org/r/20251022230122.922382-1-matthew.brost@intel.com
1 parent 402377b commit 9ea9b45

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

drivers/gpu/drm/xe/xe_pt.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ xe_pt_stage_bind(struct xe_tile *tile, struct xe_vma *vma,
715715
.vm = vm,
716716
.tile = tile,
717717
.curs = &curs,
718-
.va_curs_start = range ? range->base.itree.start :
718+
.va_curs_start = range ? xe_svm_range_start(range) :
719719
xe_vma_start(vma),
720720
.vma = vma,
721721
.wupd.entries = entries,
@@ -734,7 +734,7 @@ xe_pt_stage_bind(struct xe_tile *tile, struct xe_vma *vma,
734734
}
735735
if (xe_svm_range_has_dma_mapping(range)) {
736736
xe_res_first_dma(range->base.pages.dma_addr, 0,
737-
range->base.itree.last + 1 - range->base.itree.start,
737+
xe_svm_range_size(range),
738738
&curs);
739739
xe_svm_range_debug(range, "BIND PREPARE - MIXED");
740740
} else {
@@ -778,8 +778,8 @@ xe_pt_stage_bind(struct xe_tile *tile, struct xe_vma *vma,
778778

779779
walk_pt:
780780
ret = xe_pt_walk_range(&pt->base, pt->level,
781-
range ? range->base.itree.start : xe_vma_start(vma),
782-
range ? range->base.itree.last + 1 : xe_vma_end(vma),
781+
range ? xe_svm_range_start(range) : xe_vma_start(vma),
782+
range ? xe_svm_range_end(range) : xe_vma_end(vma),
783783
&xe_walk.base);
784784

785785
*num_entries = xe_walk.wupd.num_used_entries;
@@ -975,8 +975,8 @@ bool xe_pt_zap_ptes_range(struct xe_tile *tile, struct xe_vm *vm,
975975
if (!(pt_mask & BIT(tile->id)))
976976
return false;
977977

978-
(void)xe_pt_walk_shared(&pt->base, pt->level, range->base.itree.start,
979-
range->base.itree.last + 1, &xe_walk.base);
978+
(void)xe_pt_walk_shared(&pt->base, pt->level, xe_svm_range_start(range),
979+
xe_svm_range_end(range), &xe_walk.base);
980980

981981
return xe_walk.needs_invalidate;
982982
}
@@ -1661,8 +1661,8 @@ static unsigned int xe_pt_stage_unbind(struct xe_tile *tile,
16611661
struct xe_svm_range *range,
16621662
struct xe_vm_pgtable_update *entries)
16631663
{
1664-
u64 start = range ? range->base.itree.start : xe_vma_start(vma);
1665-
u64 end = range ? range->base.itree.last + 1 : xe_vma_end(vma);
1664+
u64 start = range ? xe_svm_range_start(range) : xe_vma_start(vma);
1665+
u64 end = range ? xe_svm_range_end(range) : xe_vma_end(vma);
16661666
struct xe_pt_stage_unbind_walk xe_walk = {
16671667
.base = {
16681668
.ops = &xe_pt_stage_unbind_ops,
@@ -1872,7 +1872,7 @@ static int bind_range_prepare(struct xe_vm *vm, struct xe_tile *tile,
18721872

18731873
vm_dbg(&xe_vma_vm(vma)->xe->drm,
18741874
"Preparing bind, with range [%lx...%lx)\n",
1875-
range->base.itree.start, range->base.itree.last);
1875+
xe_svm_range_start(range), xe_svm_range_end(range) - 1);
18761876

18771877
pt_op->vma = NULL;
18781878
pt_op->bind = true;
@@ -1887,8 +1887,8 @@ static int bind_range_prepare(struct xe_vm *vm, struct xe_tile *tile,
18871887
pt_op->num_entries, true);
18881888

18891889
xe_pt_update_ops_rfence_interval(pt_update_ops,
1890-
range->base.itree.start,
1891-
range->base.itree.last + 1);
1890+
xe_svm_range_start(range),
1891+
xe_svm_range_end(range));
18921892
++pt_update_ops->current_op;
18931893
pt_update_ops->needs_svm_lock = true;
18941894

@@ -1983,7 +1983,7 @@ static int unbind_range_prepare(struct xe_vm *vm,
19831983

19841984
vm_dbg(&vm->xe->drm,
19851985
"Preparing unbind, with range [%lx...%lx)\n",
1986-
range->base.itree.start, range->base.itree.last);
1986+
xe_svm_range_start(range), xe_svm_range_end(range) - 1);
19871987

19881988
pt_op->vma = XE_INVALID_VMA;
19891989
pt_op->bind = false;
@@ -1994,8 +1994,8 @@ static int unbind_range_prepare(struct xe_vm *vm,
19941994

19951995
xe_vm_dbg_print_entries(tile_to_xe(tile), pt_op->entries,
19961996
pt_op->num_entries, false);
1997-
xe_pt_update_ops_rfence_interval(pt_update_ops, range->base.itree.start,
1998-
range->base.itree.last + 1);
1997+
xe_pt_update_ops_rfence_interval(pt_update_ops, xe_svm_range_start(range),
1998+
xe_svm_range_end(range));
19991999
++pt_update_ops->current_op;
20002000
pt_update_ops->needs_svm_lock = true;
20012001
pt_update_ops->needs_invalidation |= xe_vm_has_scratch(vm) ||

0 commit comments

Comments
 (0)