[PATCH v14 00/25] drm/i915: GEM/GuC Interrupts/Suspend/Resume/Reset fixes and restructuring

Sagar Arun Kamble sagar.a.kamble at intel.com
Tue Oct 17 10:36:49 UTC 2017


This series addresses following features/fixes:
1. Restructuring to control GuC interrupts from guc.c functions
2. Making GuC interrupts enable/disable reference based and tying up with
   Logging at all places.
3. Handle suspend/resume/reset for GuC interrupts.
4. Logging fixes about RPM wakeref and skipping relay release during
   submission_fini.
5. GEM/GuC drm and runtime suspend/resume restructuring.
6. Runtime PM interrupt fix along resume path.
7. Handle GGTT invalidate and load status on reset.
8. Handle load status on resume from sleep with need to reload GuC
   and related fixes.

GuC suspend/resume is missing functionality to evict/acquire doorbells
across suspend cycle and that is marked as TODO.

I am keeping these many patches together in single series as most
of them are interrelated w.r.t suspend/resume/reset. Have arranged
them as per feature/fix need/chronology as I have thought of. If
needed, based on review will bring the important and independent
patches earlier in the series.

Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Michał Winiarski <michal.winiarski at intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg at intel.com>
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: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Sagar Arun Kamble (25):
  drm/i915: Export low level PM IRQ functions to control from GuC
    functions
  drm/i915/guc: Move GuC interrupts related functions from i915_irq.c to
    intel_guc.c
  drm/i915/guc: Pass intel_guc struct parameter to GuC interrupts
    functions
  drm/i915/guc: Sanitize module parameter guc_log_level
  drm/i915/guc: Make GuC logging related functions depend only on
    guc_log_level
  drm/i915/guc: Only release GuC log object during submission_fini
  drm/i915/guc: Grab RPM wakelock while disabling GuC interrupts
  drm/i915/guc: Add client support to enable/disable GuC interrupts
  drm/i915/guc: Fix GuC interrupts disabling with Logging
  drm/i915/guc: Skip interrupt enabling if Logging is already enabled
  drm/i915/guc: Restore GuC interrupts across suspend/reset if enabled
  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: Enable interrupts prior to GEM resume during i915_drm_resume
  drm/i915/uc: Create uC suspend and resume functions
  drm/i915/guc: Update uC suspend/resume function separating Host/GuC
    tasks
  drm/i915/uc: Introduce intel_uc_reset_state to initialize GuC/HuC
    reset state
  drm/i915/guc: Disable GuC GGTT invalidate post RESET
  drm/i915/guc: Introduce guc_mia_in_reset function
  drm/i915/guc: Prepare uc_resume_prepare to initialize GuC/HuC state
    during resume
  drm/i915/uc: Support resume from sleep w/ and w/o GuC/HuC load
  drm/i915/uc: Update GEM runtime resume w/ and w/o GuC/HuC load
  drm/i915/guc: Fix enable of GuC GGTT invalidation
  HAX enable GuC submission for CI

 drivers/gpu/drm/i915/i915_debugfs.c        |   8 +
 drivers/gpu/drm/i915/i915_drv.c            |  51 +++--
 drivers/gpu/drm/i915/i915_drv.h            |   3 +-
 drivers/gpu/drm/i915/i915_gem.c            |  33 +++-
 drivers/gpu/drm/i915/i915_guc_reg.h        |   1 +
 drivers/gpu/drm/i915/i915_guc_submission.c |   2 +-
 drivers/gpu/drm/i915/i915_irq.c            |  78 +-------
 drivers/gpu/drm/i915/i915_params.c         |   4 +-
 drivers/gpu/drm/i915/i915_params.h         |   4 +-
 drivers/gpu/drm/i915/intel_display.c       |   2 +
 drivers/gpu/drm/i915/intel_drv.h           |   7 +-
 drivers/gpu/drm/i915/intel_guc.c           | 140 ++++++++++++--
 drivers/gpu/drm/i915/intel_guc.h           |  19 +-
 drivers/gpu/drm/i915/intel_guc_log.c       |  27 +--
 drivers/gpu/drm/i915/intel_uc.c            | 297 +++++++++++++++++++++++++++--
 drivers/gpu/drm/i915/intel_uc.h            |   6 +
 16 files changed, 518 insertions(+), 164 deletions(-)

-- 
1.9.1



More information about the Intel-gfx-trybot mailing list