[Intel-gfx] [PATCH v13 00/21] drm/i915: GEM/GuC Suspend/Resume/Reset fixes and restructuring

Sagar Arun Kamble sagar.a.kamble at intel.com
Wed Oct 11 08:53:55 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:
https://patchwork.freedesktop.org/series/30715/
https://patchwork.freedesktop.org/series/30502/
https://patchwork.freedesktop.org/series/30351/

v9:
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:
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

Added struct_mutex protection for GEM suspend/resume functions.
Runtime/System suspend for uC are identical hence not defining separate
functions. Runtime resume need to be handled differently as it does not
have gem_init_hw like in drm resume. Highlighted changes to be done in
GuC submission enable/disable w.r.t uC runtime suspend/resume. Added
support for resume from sleep w/ and w/o 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 (21):
  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
    intel_guc_suspend/resume
  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
    functions
  drm/i915/uc: Create uC suspend and resume functions
  drm/i915/guc: Update uC suspend/resume function separating Host/GuC
    tasks
  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/uc: Update GEM runtime resume with need for reload of GuC/HuC
  drm/i915/guc: Add comment about update needed in GuC submission
    enable/disable for RPM
  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
    state
  drm/i915/guc: Fix enable/disable of GuC GGTT invalidate functions
  drm/i915/guc: Disable GuC submission/interrupts/communication in
    intel_uc_sanitize
  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            |  88 +++++++++--
 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           |  29 ++--
 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            | 228 ++++++++++++++++++++++++++---
 drivers/gpu/drm/i915/intel_uc.h            |   6 +-
 16 files changed, 397 insertions(+), 117 deletions(-)

-- 
1.9.1



More information about the Intel-gfx mailing list