These patches are to add engine reset feature from Gen8. This is also referred to as Timeout detection and recovery (TDR). This complements to the full gpu reset feature available in i915 but it only allows to reset a particular engine instead of all engines thus providing a light weight engine reset and recovery mechanism. This implementation is for execlist based submission only hence limited from Gen8 onwards. Timeout detection is by means of existing hangcheck which remains the same, main changes are to the recovery mechanism. Once we detect a hang on a particular engine we identify the request that caused the hang, skip the request and adjust head pointers to allow the execution to proceed normally. After some cleanup, submissions are restarted to process remaining work queued to that engine. If engine reset fails to recover engine correctly then we fallback to full gpu reset. Arun Siluvery (9): drm/i915: Update i915.reset to handle engine resets drm/i915/tdr: Update reset_in_progress to account for engine reset drm/i915/tdr: Modify error handler for per engine hang recovery drm/i915/tdr: Identify hung request and drop it drm/i915/tdr: Restart submission after engine reset drm/i915/tdr: Add support for per engine reset recovery drm/i915/tdr: Add engine reset count to error state drm/i915/tdr: Export reset count info to debugfs drm/i915/tdr: Enable Engine reset and recovery support Chris Wilson (1): drm/i915: Separate out reset flags from the reset counter Mika Kuoppala (1): drm/i915: Skip reset request if there is one already drivers/gpu/drm/i915/i915_debugfs.c | 19 ++++ drivers/gpu/drm/i915/i915_drv.c | 82 ++++++++++++-- drivers/gpu/drm/i915/i915_drv.h | 58 +++++----- drivers/gpu/drm/i915/i915_gem.c | 4 +- drivers/gpu/drm/i915/i915_gem_request.c | 13 +-- drivers/gpu/drm/i915/i915_gpu_error.c | 3 + drivers/gpu/drm/i915/i915_irq.c | 184 +++++++++++++++++++++++--------- drivers/gpu/drm/i915/i915_params.c | 6 +- drivers/gpu/drm/i915/i915_params.h | 2 +- drivers/gpu/drm/i915/intel_display.c | 25 +++-- drivers/gpu/drm/i915/intel_drv.h | 4 +- drivers/gpu/drm/i915/intel_lrc.c | 161 +++++++++++++++++++++++++++- drivers/gpu/drm/i915/intel_lrc.h | 6 ++ drivers/gpu/drm/i915/intel_uncore.c | 47 +++++++- 14 files changed, 502 insertions(+), 112 deletions(-) -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx