[Intel-gfx] [PATCH 0/4] drm/i915: updates to GuC doorbell handling

Dave Gordon david.s.gordon at intel.com
Wed Jun 8 10:55:25 UTC 2016


The Linux hibernate/resume sequence involves booting one kernel, and
then replacing(!) its in-memory image with that of the previously
hibernated system.  This can lead to inconsistencies in the state of
the hardware, in particular where a driver does not or cannot reset
it to a well-defined initial state during resume.

For i915, the issue is that the doorbell hardware is not reset when
the GuC is reset; also, the driver *cannot* directly reprogram it:
only the GuC can do that. So this set of patches first reorganises
the doorbell handling, and then (in the last patch of the set)
ensures that the doorbell hardware is fully (re-)initialised when
the GuC is (re-)loaded.

Dave Gordon (4):
  drm/i915/guc: add doorbell map to debugfs/i915_guc_info
  drm/i915/guc: move guc_ring_doorbell() nearer to callsite
  drm/i915/guc: refactor doorbell management code
  drm/i915/guc: (re)initialise doorbell h/w when enabling GuC submission

 drivers/gpu/drm/i915/i915_debugfs.c        |   9 ++
 drivers/gpu/drm/i915/i915_guc_submission.c | 232 ++++++++++++++++++-----------
 2 files changed, 154 insertions(+), 87 deletions(-)

-- 
1.9.1



More information about the Intel-gfx mailing list