[Intel-gfx] [PATCH 0/6] drm/i915: Suspend / resume backup- and restore of LMEM.
Thomas Hellström
thomas.hellstrom at linux.intel.com
Thu Sep 2 11:28:18 UTC 2021
Implement backup and restore of LMEM during suspend / resume.
What complicates things a bit is handling of pinned LMEM memory during
suspend and the fact that we might be dealing with unmappable LMEM in
the future, which makes us want to restrict the number of pinned objects that
need memcpy resume.
The first two patches are prereq patches implementing object content copy
and a generic means of iterating through all objects in a region.
The third patch adds the backup / recover / restore functions and the
two last patches deal with restricting the number of objects we need to
use memcpy for.
Thomas Hellström (6):
drm/i915/ttm: Implement a function to copy the contents of two
TTM-base objects
drm/i915/gem: Implement a function to process all gem objects of a
region
drm/i915 Implement LMEM backup and restore for suspend / resume
drm/i915/gt: Register the migrate contexts with their engines
drm/i915: Don't back up pinned LMEM context images and rings during
suspend
drm/i915: Reduce the number of objects subject to memcpy recover
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/gem/i915_gem_context.c | 4 +-
.../gpu/drm/i915/gem/i915_gem_object_types.h | 21 +-
drivers/gpu/drm/i915/gem/i915_gem_pm.c | 46 ++++
drivers/gpu/drm/i915/gem/i915_gem_pm.h | 1 +
drivers/gpu/drm/i915/gem/i915_gem_region.c | 70 ++++++
drivers/gpu/drm/i915/gem/i915_gem_region.h | 33 +++
drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 87 +++++++-
drivers/gpu/drm/i915/gem/i915_gem_ttm.h | 8 +
drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c | 199 ++++++++++++++++++
drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h | 23 ++
.../gpu/drm/i915/gem/selftests/huge_pages.c | 2 +-
drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 2 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.c | 5 +-
drivers/gpu/drm/i915/gt/gen8_ppgtt.h | 4 +-
drivers/gpu/drm/i915/gt/intel_context_types.h | 8 +
drivers/gpu/drm/i915/gt/intel_engine_cs.c | 4 +
drivers/gpu/drm/i915/gt/intel_engine_pm.c | 23 ++
drivers/gpu/drm/i915/gt/intel_engine_pm.h | 2 +
drivers/gpu/drm/i915/gt/intel_engine_types.h | 7 +
drivers/gpu/drm/i915/gt/intel_ggtt.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt.c | 2 +-
drivers/gpu/drm/i915/gt/intel_gt_pm.c | 3 +
drivers/gpu/drm/i915/gt/intel_gtt.c | 3 +-
drivers/gpu/drm/i915/gt/intel_gtt.h | 9 +-
drivers/gpu/drm/i915/gt/intel_lrc.c | 3 +-
drivers/gpu/drm/i915/gt/intel_migrate.c | 2 +-
drivers/gpu/drm/i915/gt/intel_ppgtt.c | 13 +-
drivers/gpu/drm/i915/gt/intel_ring.c | 3 +-
drivers/gpu/drm/i915/gt/mock_engine.c | 1 +
drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 2 +-
.../gpu/drm/i915/gt/uc/intel_guc_submission.c | 10 +-
drivers/gpu/drm/i915/gvt/scheduler.c | 2 +-
drivers/gpu/drm/i915/i915_drv.c | 4 +-
drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 4 +-
35 files changed, 566 insertions(+), 47 deletions(-)
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.c
create mode 100644 drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.h
--
2.31.1
More information about the Intel-gfx
mailing list