[PATCH v13 00/19] drm/i915: GEM/GuC Suspend/Resume/Reset fixes and restructuring

Sagar Arun Kamble sagar.a.kamble at intel.com
Wed Oct 11 02:58:13 UTC 2017

This is merge of below three series as they are dependent:
1. https://patchwork.freedesktop.org/series/31140/ - Reduce enable_guc_submission param based checks
2. https://patchwork.freedesktop.org/series/30802/ - S/R/Reset Fixes and restructuring
3. https://patchwork.freedesktop.org/series/31450/ - gem_suspend change w.r.t GTT

v1-v8: Part of below three series older series:

Fixed patch 1 based on review inputs from Michal Winiarski.
Rebased all patches. Updated ordering of cc, s-o-b, r-b tags for all patches.

v10: Added new patch (6th). Addressed reviews on v9.

v11: Created separate patch for i915_gem_restore_fences change.
Added changes to disable/destroy GuC without dependency on
enable_guc_loading and enable_guc_submission. Rebased other patches.

v12: Fixed issue in the patch 9 where intel_guc_resume was called from
intel_uc_resume. Should be intel_uc_runtime_resume. CI BAT flagged the
issue. Updated comments for intel_uc_resume internals and comments in
patch 4.

v13: Added struct_mutex protection for GEM/GuC suspend/resume functions.
Runtime/System suspend/resume for uC are identical hence not defining separate
functions. Added support for resume from sleep without firmware reload.
Updated restructuring and rebase w.r.t newer GuC changes.

Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Imre Deak <imre.deak at intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Michał Winiarski <michal.winiarski at intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Sagar Arun Kamble (19):
  drm/i915/guc: Add GuC submission initialization/enable state variables
  drm/i915/guc: Sanitize module parameter guc_log_level
  drm/i915/guc: Add status checks to enable/disable_guc_interrupts
  drm/i915/guc: Remove enable_guc_submission dependency for invoking GuC
    log functions
  drm/i915/guc: Update enable_guc_loading check in intel_uc_fini_hw
  drm/i915/guc: Pass intel_guc struct parameter to
  drm/i915: Create GEM runtime resume helper and handle GEM runtime
    suspend error
  drm/i915/guc: Update GEM suspend/resume flows with GuC suspend/resume
  drm/i915/uc: Create uC suspend and resume functions
  drm/i915/guc: Update uC suspend/resume function separating Host/GuC
  drm/i915/guc: Remove GuC submission disable from i915_driver_unload
  drm/i915/guc: Fix GuC related state cleanup in unload path
  drm/i915/uc: Support resume from sleep w/ and w/o GuC/HuC reload
  drm/i915: Enable interrupts prior to GEM resume during i915_drm_resume
  drm/i915: Split i915_gem_suspend into gem quiescing and HW suspend
  drm/i915/uc: Introduce intel_uc_sanitize to initialize GuC/HuC reset
  drm/i915/guc: Fix enable/disable of GuC GGTT invalidate functions
  drm/i915/guc: Disable GuC submission/interrupts/communication in
  HAX enable GuC submission for CI

 drivers/gpu/drm/i915/i915_drv.c            |  64 +++++----
 drivers/gpu/drm/i915/i915_drv.h            |   6 +-
 drivers/gpu/drm/i915/i915_gem.c            |  76 +++++++++--
 drivers/gpu/drm/i915/i915_gem_context.c    |   2 +-
 drivers/gpu/drm/i915/i915_guc_reg.h        |   1 +
 drivers/gpu/drm/i915/i915_guc_submission.c |  24 +++-
 drivers/gpu/drm/i915/i915_guc_submission.h |   2 +-
 drivers/gpu/drm/i915/i915_irq.c            |  18 ++-
 drivers/gpu/drm/i915/i915_params.h         |   4 +-
 drivers/gpu/drm/i915/intel_guc.c           |  27 ++--
 drivers/gpu/drm/i915/intel_guc.h           |  21 ++-
 drivers/gpu/drm/i915/intel_guc_loader.c    |  10 +-
 drivers/gpu/drm/i915/intel_guc_log.c       |   9 +-
 drivers/gpu/drm/i915/intel_lrc.c           |   2 +-
 drivers/gpu/drm/i915/intel_uc.c            | 200 ++++++++++++++++++++++++++---
 drivers/gpu/drm/i915/intel_uc.h            |   5 +-
 16 files changed, 354 insertions(+), 117 deletions(-)


More information about the Intel-gfx-trybot mailing list