OSDN Git Service

drm/i915: Set MI_INVALIDATE_BSD for all video-decode engines
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 8 Nov 2018 14:00:39 +0000 (14:00 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 8 Nov 2018 21:24:30 +0000 (21:24 +0000)
We have multiple instances of VCS but only remember to invalidate the
BSD caches on the first, ignoring the stale caches of any other engine.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181108140039.12254-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_lrc.c

index f7892dd..08fd9b1 100644 (file)
@@ -1956,7 +1956,7 @@ static int gen8_emit_flush(struct i915_request *request, u32 mode)
 
        if (mode & EMIT_INVALIDATE) {
                cmd |= MI_INVALIDATE_TLB;
-               if (request->engine->id == VCS)
+               if (request->engine->class == VIDEO_DECODE_CLASS)
                        cmd |= MI_INVALIDATE_BSD;
        }