@@ -1442,9 +1442,9 @@ static int op_check_svm_userptr(struct xe_vm *vm, struct xe_vma_op *op,
14421442 err = vma_check_userptr (vm , op -> map .vma , pt_update );
14431443 break ;
14441444 case DRM_GPUVA_OP_REMAP :
1445- if (op -> remap .prev )
1445+ if (op -> remap .prev && ! op -> remap . skip_prev )
14461446 err = vma_check_userptr (vm , op -> remap .prev , pt_update );
1447- if (!err && op -> remap .next )
1447+ if (!err && op -> remap .next && ! op -> remap . skip_next )
14481448 err = vma_check_userptr (vm , op -> remap .next , pt_update );
14491449 break ;
14501450 case DRM_GPUVA_OP_UNMAP :
@@ -2198,12 +2198,12 @@ static int op_prepare(struct xe_vm *vm,
21982198
21992199 err = unbind_op_prepare (tile , pt_update_ops , old );
22002200
2201- if (!err && op -> remap .prev ) {
2201+ if (!err && op -> remap .prev && ! op -> remap . skip_prev ) {
22022202 err = bind_op_prepare (vm , tile , pt_update_ops ,
22032203 op -> remap .prev , false);
22042204 pt_update_ops -> wait_vm_bookkeep = true;
22052205 }
2206- if (!err && op -> remap .next ) {
2206+ if (!err && op -> remap .next && ! op -> remap . skip_next ) {
22072207 err = bind_op_prepare (vm , tile , pt_update_ops ,
22082208 op -> remap .next , false);
22092209 pt_update_ops -> wait_vm_bookkeep = true;
@@ -2428,10 +2428,10 @@ static void op_commit(struct xe_vm *vm,
24282428
24292429 unbind_op_commit (vm , tile , pt_update_ops , old , fence , fence2 );
24302430
2431- if (op -> remap .prev )
2431+ if (op -> remap .prev && ! op -> remap . skip_prev )
24322432 bind_op_commit (vm , tile , pt_update_ops , op -> remap .prev ,
24332433 fence , fence2 , false);
2434- if (op -> remap .next )
2434+ if (op -> remap .next && ! op -> remap . skip_next )
24352435 bind_op_commit (vm , tile , pt_update_ops , op -> remap .next ,
24362436 fence , fence2 , false);
24372437 break ;
0 commit comments