Browse Source

drm/i915/gvt: set max priority for gvt context

This is to workaround guest driver hang regression after
preemption enable that gvt hasn't enabled handling of that
for guest workload. So in effect this disables preemption
for gvt context now.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Zhenyu Wang 7 years ago
parent
commit
1603660b33
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/gpu/drm/i915/gvt/scheduler.c

+ 3 - 0
drivers/gpu/drm/i915/gvt/scheduler.c

@@ -1038,6 +1038,9 @@ int intel_vgpu_setup_submission(struct intel_vgpu *vgpu)
 	if (IS_ERR(s->shadow_ctx))
 	if (IS_ERR(s->shadow_ctx))
 		return PTR_ERR(s->shadow_ctx);
 		return PTR_ERR(s->shadow_ctx);
 
 
+	if (HAS_LOGICAL_RING_PREEMPTION(vgpu->gvt->dev_priv))
+		s->shadow_ctx->priority = INT_MAX;
+
 	bitmap_zero(s->shadow_ctx_desc_updated, I915_NUM_ENGINES);
 	bitmap_zero(s->shadow_ctx_desc_updated, I915_NUM_ENGINES);
 
 
 	s->workloads = kmem_cache_create("gvt-g_vgpu_workload",
 	s->workloads = kmem_cache_create("gvt-g_vgpu_workload",