[Intel-xe] [PATCH] fixup! drm/xe: Convert pagefaulting code to use drm_exec

Brian Welty brian.welty at intel.com
Thu Oct 19 17:33:43 UTC 2023


Remove unneeded num_shared argument to xe_pf_begin().
Per discussion w/ Matthew Brost, we request to preallocate 2 fence slots
from xe_vm_prepare_vma() for binding and potential move.
This should be hardcoded to 2, and not use tile_count which just happens
to be correct on PVC platform.

Signed-off-by: Brian Welty <brian.welty at intel.com>
---
 drivers/gpu/drm/xe/xe_gt_pagefault.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c
index c0027982ab4c..2ec0db7a4b29 100644
--- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
+++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
@@ -100,10 +100,11 @@ static struct xe_vma *lookup_vma(struct xe_vm *vm, u64 page_addr)
 }
 
 static int xe_pf_begin(struct drm_exec *exec, struct xe_vma *vma,
-		       unsigned int num_shared, bool atomic, unsigned int id)
+		       bool atomic, unsigned int id)
 {
 	struct xe_bo *bo = xe_vma_bo(vma);
 	struct xe_vm *vm = xe_vma_vm(vma);
+	unsigned int num_shared = 2; /* slots for bind + move */
 	int err;
 
 	err = xe_vm_prepare_vma(exec, vma, num_shared);
@@ -195,7 +196,7 @@ static int handle_pagefault(struct xe_gt *gt, struct pagefault *pf)
 	/* Lock VM and BOs dma-resv */
 	drm_exec_init(&exec, 0);
 	drm_exec_until_all_locked(&exec) {
-		ret = xe_pf_begin(&exec, vma, xe->info.tile_count, atomic, tile->id);
+		ret = xe_pf_begin(&exec, vma, atomic, tile->id);
 		drm_exec_retry_on_contention(&exec);
 		if (ret)
 			goto unlock_dma_resv;
@@ -525,7 +526,7 @@ static int handle_acc(struct xe_gt *gt, struct acc *acc)
 	/* Lock VM and BOs dma-resv */
 	drm_exec_init(&exec, 0);
 	drm_exec_until_all_locked(&exec) {
-		ret = xe_pf_begin(&exec, vma, xe->info.tile_count, true, tile->id);
+		ret = xe_pf_begin(&exec, vma, true, tile->id);
 		drm_exec_retry_on_contention(&exec);
 		if (ret)
 			break;
-- 
2.38.0



More information about the Intel-xe mailing list