{
        struct xe_gt *gt = m->tile->primary_gt;
        struct xe_device *xe = gt_to_xe(gt);
+       bool use_usm_batch = xe->info.has_usm;
        struct dma_fence *fence = NULL;
        u32 batch_size = 2;
        u64 src_L0_ofs, dst_L0_ofs;
        batch_size += pte_update_cmd_size(round_update_size);
        batch_size += EMIT_COPY_DW;
 
-       bb = xe_bb_new(gt, batch_size, true);
+       bb = xe_bb_new(gt, batch_size, use_usm_batch);
        if (IS_ERR(bb)) {
                err = PTR_ERR(bb);
                return ERR_PTR(err);
                  XE_PAGE_SIZE);
 
        job = xe_bb_create_migration_job(m->q, bb,
-                                        xe_migrate_batch_base(m, true),
+                                        xe_migrate_batch_base(m, use_usm_batch),
                                         update_idx);
        if (IS_ERR(job)) {
                err = PTR_ERR(job);