[Intel-gfx] [PATCH 00/19] Make PC8 become part of runtime PM

Paulo Zanoni przanoni at gmail.com
Thu Dec 19 14:54:50 CET 2013

From: Paulo Zanoni <paulo.r.zanoni at intel.com>


This patch series makes the PC8 feature become part of the runtime PM feature.
They won't be 2 separate features anymore, but just one. You can find some good
arguments for this in the commit message of patch 5.

  - Patch 1 is just a bikeshed that can be discarded if needed.
  - Patches 2-4 do some necessary work to merge PC8 and runtime PM.
  - Patch 5 actually merges the two features. It just does the minimal work
    required to merge the feature and pass all the tests on the test suite.
  - Patches 6-19 do many cleanups that become possible since the features got
    merged. Each patch contains just a very small chunk of code, to make it
    easier for reviewers (also for tracking regressions while I was developing
    the code!).

I hope that with this, it will also be much easier to add runtime PM support on
other platforms. I also think I addressed many of Daniel's comments regarding
how we do the put/get calls, but there may still be something left: please tell
me if you find something!

I also didn't take care of implementing the interrupt changes suggested by
Daniel. This won't be trivial and will require its own patch series.


Paulo Zanoni (19):
  drm/i915: rename modeset_update_power_wells
  drm/i915: get/put runtime PM without holding rps.hw_lock
  drm/i915: add forcewake functions that don't touch runtime PM
  drm/i915: extract __hsw_do_{en,dis}able_package_c8
  drm/i915: make PC8 be part of runtime PM suspend/resume
  drm/i915: get/put runtime PM when we get/put a power domain
  drm/i915: remove dev_priv->pc8.requirements_met
  drm/i915: make gpu_idle be part of runtime PM, not PC8
  drm/i915: kill pc8.disable_count
  drm/i915: remove an indirection level on PC8 functions
  drm/i915: don't get/put PC8 reference on freeze/thaw
  drm/i915: get/put runtime PM references for GMBUS and DP AUX
  drm/i915: don't get/put PC8 when getting/putting power wells
  drm/i915: remove dev_priv->pc8.enabled
  drm/i915: move pc8.irqs_disabled to pm.irqs_disabled
  drm/i915: kill struct i915_package_c8
  drm/i915: rename __hsw_do_{en,dis}able_pc8
  drm/i915: update the PC8 and runtime PM documentation.
  drm/i915: init pm.suspended earlier

 drivers/gpu/drm/i915/i915_debugfs.c  |  23 ++---
 drivers/gpu/drm/i915/i915_dma.c      |   2 -
 drivers/gpu/drm/i915/i915_drv.c      |  19 ++--
 drivers/gpu/drm/i915/i915_drv.h      |  74 +++++---------
 drivers/gpu/drm/i915/i915_gem.c      |   2 +-
 drivers/gpu/drm/i915/i915_irq.c      |  58 +++++------
 drivers/gpu/drm/i915/intel_display.c | 186 +++++++++--------------------------
 drivers/gpu/drm/i915/intel_dp.c      |   4 +-
 drivers/gpu/drm/i915/intel_drv.h     |  11 +--
 drivers/gpu/drm/i915/intel_i2c.c     |   4 +-
 drivers/gpu/drm/i915/intel_pm.c      |  45 +++------
 drivers/gpu/drm/i915/intel_uncore.c  |  30 ++++--
 12 files changed, 158 insertions(+), 300 deletions(-)


More information about the Intel-gfx mailing list