diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2017-11-20 10:20:01 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2017-11-20 15:56:16 +0000 |
commit | 2113184c6f6749f6e4e86a42894f67a50ead6775 (patch) | |
tree | a4b4b8737f21af6f418e8bece61c9f525656c4d6 /drivers/gpu/drm/i915/selftests/i915_gem_request.c | |
parent | 7c52a2219da1e551e19af6a4c50619952c6d7bde (diff) |
drm/i915: Pull the unconditional GPU cache invalidation into request construction
As the request will, in the following patch, implicitly invoke a
context-switch on construction, we should precede that with a GPU TLB
invalidation. Also, even before using GGTT, we always want to invalidate
the TLBs for any updates (as well as the ppgtt invalidates that are
unconditionally applied by execbuf). Since we almost always require the
TLB invalidate, do it unconditionally on request allocation and so we can
remove it from all other paths.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171120102002.22254-1-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/selftests/i915_gem_request.c')
-rw-r--r-- | drivers/gpu/drm/i915/selftests/i915_gem_request.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_request.c b/drivers/gpu/drm/i915/selftests/i915_gem_request.c index 6bce99050e94..d7bf53ff8f84 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem_request.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem_request.c @@ -459,10 +459,6 @@ empty_request(struct intel_engine_cs *engine, if (IS_ERR(request)) return request; - err = engine->emit_flush(request, EMIT_INVALIDATE); - if (err) - goto out_request; - err = i915_switch_context(request); if (err) goto out_request; @@ -675,9 +671,6 @@ static int live_all_engines(void *arg) goto out_request; } - err = engine->emit_flush(request[id], EMIT_INVALIDATE); - GEM_BUG_ON(err); - err = i915_switch_context(request[id]); GEM_BUG_ON(err); @@ -797,9 +790,6 @@ static int live_sequential_engines(void *arg) } } - err = engine->emit_flush(request[id], EMIT_INVALIDATE); - GEM_BUG_ON(err); - err = i915_switch_context(request[id]); GEM_BUG_ON(err); |