drm/i915/gvt: set max priority for gvt context
authorZhenyu Wang <zhenyuw@linux.intel.com>
Mon, 4 Dec 2017 02:42:58 +0000 (10:42 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Wed, 6 Dec 2017 03:38:21 +0000 (11:38 +0800)
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>
(cherry picked from commit 1603660b3342269c95fcafee1945790342a8c28e)

drivers/gpu/drm/i915/gvt/scheduler.c

index ab3d041ee5f994e4b9bf4063b3007d484a6cd20b..69f8f0d155b93db866facec8ed25b40709764f1c 100644 (file)
@@ -757,6 +757,9 @@ int intel_vgpu_init_gvt_context(struct intel_vgpu *vgpu)
        if (IS_ERR(vgpu->shadow_ctx))
                return PTR_ERR(vgpu->shadow_ctx);
 
+       if (INTEL_INFO(vgpu->gvt->dev_priv)->has_logical_ring_preemption)
+               vgpu->shadow_ctx->priority = INT_MAX;
+
        vgpu->shadow_ctx->engine[RCS].initialised = true;
 
        bitmap_zero(vgpu->shadow_ctx_desc_updated, I915_NUM_ENGINES);