drm/i915: Switch to fake context on older gens
We used to have per file descriptor hang stats for the i915_get_reset_stats_ioctl() and for default context banning. commit0eea67eb26
Author: Ben Widawsky <ben@bwidawsk.net> Date: Fri Dec 6 14:11:19 2013 -0800 drm/i915: Create a per file_priv default context made having separate hangstats in file_private redundant as i915_hw_context already contained hangstats. So commitc482972a08
Author: Ben Widawsky <benjamin.widawsky@intel.com> Date: Fri Dec 6 14:11:20 2013 -0800 drm/i915: Piggy back hangstats off of contexts consolidated the hangstats and enabled further improvements. commit44e2c0705a
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com> Date: Thu Jan 30 16:01:15 2014 +0200 drm/i915: Use i915_hw_context to set reset stats tried to reap full benefits of consolidation but fell short as we never 'switch' to the fake private context on gens that don't have hw_contexts, so request->ctx remained NULL on those. Fix this by 'switching' to fake context so that when request is submitted to ring, proper context gets assigned to it. Testcase: igt/drv_hangman Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76055 Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
05efeebd28
commit
a95f6a0070
|
@ -775,9 +775,11 @@ int i915_switch_context(struct intel_ring_buffer *ring,
|
|||
|
||||
BUG_ON(file && to == NULL);
|
||||
|
||||
/* We have the fake context, but don't supports switching. */
|
||||
if (!HAS_HW_CONTEXTS(ring->dev))
|
||||
/* We have the fake context */
|
||||
if (!HAS_HW_CONTEXTS(ring->dev)) {
|
||||
ring->last_context = to;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return do_switch(ring, to);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue