OSDN Git Service

drm/i915/gt: Also use async bind for PIN_USER into bsw/bxt ggtt
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 31 Jan 2020 08:15:42 +0000 (08:15 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 31 Jan 2020 15:10:02 +0000 (15:10 +0000)
In the rare cases where we are using the global GGTT for execution in
the selftests, we have marked them with PIN_USER knowing that they will
be bound as PIN_GLOBAL as well. However, we need to catch the extra flag
in deciding to use the async worker for such binds as well.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200131081543.2251298-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_ggtt.c

index 3b23b43..7dae91e 100644 (file)
@@ -846,7 +846,8 @@ static int gen8_gmch_probe(struct i915_ggtt *ggtt)
            IS_CHERRYVIEW(i915) /* fails with concurrent use/update */) {
                ggtt->vm.insert_entries = bxt_vtd_ggtt_insert_entries__BKL;
                ggtt->vm.insert_page    = bxt_vtd_ggtt_insert_page__BKL;
-               ggtt->vm.bind_async_flags = I915_VMA_GLOBAL_BIND;
+               ggtt->vm.bind_async_flags =
+                       I915_VMA_GLOBAL_BIND | I915_VMA_LOCAL_BIND;
        }
 
        ggtt->invalidate = gen8_ggtt_invalidate;