[Intel-gfx] [PATCH 0/6] RFC: Persistent workarounds across reset/resume

Mika Kuoppala mika.kuoppala at linux.intel.com
Thu Sep 18 16:58:29 CEST 2014


Hi,

The current reality is that after gpu hang or after 
first suspend/resume cycle, we have lost all our
workarounds. It is somewhat troubling to think that
what ghosts we have been hunting and what effort we have
wasted on the testruns that have had unrelated single hang
at some point of the 10k+ item testset.

Also with gen8 we have been thinking that we have workarounds,
but effectively we have run without some of them, even after boot
until Arun's ring based wa setup got merged.
Some of the workarounds touched a part of context that gen8
just threw away when we switched to our 'default' one.
And when writes started to really stick, we see all kinds of
interesting phenomena. For example:
https://bugs.freedesktop.org/show_bug.cgi?id=83482

This series is my first attempt to get into deterministic,
identical state after driver load, reset and resume. There
is more work to be done but I posted this as RFC to get
feedback on the direction before I go forward with other gens.

So here are the patches, for BDW and IVB, to be able to verify
the workarounds with igt, after reset/resume. Patch 3 was needed
to get deterministic results on bdw.

Any feedback will be greatly appreciated,
-Mika



Mika Kuoppala (6):
  drm/i915: Reinitialize default context after reset
  drm/i915: Reinitialize default context after resume
  drm/i915: Disable render idle on user forcewake
  drm/i915: Build workaround list in ring initialization
  drm/i915: Add ivb workarounds into the wa list.
  drm/i915: Check workaround status on dfs read time

 drivers/gpu/drm/i915/i915_debugfs.c     |  30 ++--
 drivers/gpu/drm/i915/i915_drv.c         |   1 +
 drivers/gpu/drm/i915/i915_drv.h         |  32 ++--
 drivers/gpu/drm/i915/i915_gem_context.c |  42 +++--
 drivers/gpu/drm/i915/i915_reg.h         |   6 +-
 drivers/gpu/drm/i915/intel_lrc.c        |   4 +-
 drivers/gpu/drm/i915/intel_pm.c         |  61 +------
 drivers/gpu/drm/i915/intel_ringbuffer.c | 282 +++++++++++++++++++++++---------
 drivers/gpu/drm/i915/intel_uncore.c     |  37 ++++-
 9 files changed, 308 insertions(+), 187 deletions(-)

-- 
1.9.1




More information about the Intel-gfx mailing list