diff options
Diffstat (limited to 'drivers/gpu/drm')
| -rw-r--r-- | drivers/gpu/drm/xe/xe_migrate.c | 12 | 
1 files changed, 5 insertions, 7 deletions
| diff --git a/drivers/gpu/drm/xe/xe_migrate.c b/drivers/gpu/drm/xe/xe_migrate.c index 9f6e9b7f11c8..65e5a3f4c340 100644 --- a/drivers/gpu/drm/xe/xe_migrate.c +++ b/drivers/gpu/drm/xe/xe_migrate.c @@ -34,7 +34,6 @@  #include "xe_sync.h"  #include "xe_trace.h"  #include "xe_vm.h" -#include "xe_wa.h"  /**   * struct xe_migrate - migrate context. @@ -300,10 +299,6 @@ static int xe_migrate_prepare_vm(struct xe_tile *tile, struct xe_migrate *m,  }  /* - * Due to workaround 16017236439, odd instance hardware copy engines are - * faster than even instance ones. - * This function returns the mask involving all fast copy engines and the - * reserved copy engine to be used as logical mask for migrate engine.   * Including the reserved copy engine is required to avoid deadlocks due to   * migrate jobs servicing the faults gets stuck behind the job that faulted.   */ @@ -317,8 +312,7 @@ static u32 xe_migrate_usm_logical_mask(struct xe_gt *gt)  		if (hwe->class != XE_ENGINE_CLASS_COPY)  			continue; -		if (!XE_WA(gt, 16017236439) || -		    xe_gt_is_usm_hwe(gt, hwe) || hwe->instance & 1) +		if (xe_gt_is_usm_hwe(gt, hwe))  			logical_mask |= BIT(hwe->logical_instance);  	} @@ -369,6 +363,10 @@ struct xe_migrate *xe_migrate_init(struct xe_tile *tile)  		if (!hwe || !logical_mask)  			return ERR_PTR(-EINVAL); +		/* +		 * XXX: Currently only reserving 1 (likely slow) BCS instance on +		 * PVC, may want to revisit if performance is needed. +		 */  		m->q = xe_exec_queue_create(xe, vm, logical_mask, 1, hwe,  					    EXEC_QUEUE_FLAG_KERNEL |  					    EXEC_QUEUE_FLAG_PERMANENT | | 
