[PATCH 00/11] Runtime PM fixes

Paulo Zanoni
2014-02-21T16:52:49Z

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

Hi

This series contains a collection of fixes for problems I found on the runtime
PM code. All these problems either result in failure of some pm_pc8 test, or
result in a Kernel WARN/DRM_ERROR when running pm_pc8, or there is a patch in
this series that adds a WARN that will be triggered if we ever unfix the
problem. Notice that nothing comes from bugzilla reports (see below).

So the real fixes of this series are patches 1-5. Patches 6+ either only fix
debugfs files, or add more WARNs to make sure the problems we solve here remain
solved, or do small cleanups.

I did _not_ add Cc: stable@vger.kernel.org tags to the patches for the following
reasons reasons: (i) I simply don't know if we want them; (ii) I have other 44
patches that should be applied on top of these, so having part of the series in
-fixes and another in -next can be a mess; and (iii) runtime PM is still
disabled by default (although a simple sysfs write can enable it, and powertop
makes this even easier) and its autosuspend delay is set to 10s, plus 5ms of PC8
timeout, so the problems are either very hard or impossible to reproduce without
i915.pc8_timeout=0 (and that's why, I believe, we don't have bug reports for
these things). But if we wan to Cc stable, it's fine too: we can do this with
all the patches, or just with 1-5, or more.

Thanks,
Paulo

Chris Wilson (1):
drm/i915: Accurately track when we mark the hardware as idle/busy

Paulo Zanoni (10):
drm/i915: put runtime PM only at the end of intel_mark_idle
drm/i915: put runtime PM only when we actually release force_wake
drm/i915: get runtime PM at intel_set_mode
drm/i915: get runtime PM while trying to detect CRT
drm/i915: get/put runtime PM in more places at i915_debugfs.c
drm/i915: kill dev_priv->pc8.gpu_idle
drm/i915: call assert_device_not_suspended at gen6_force_wake_work
drm/i915: assert force wake is disabled when we runtime suspend
drm/i915: don't get/put runtime PM at the debugfs forcewake file
drm/i915: assert we're not runtime suspended when writing registers

drivers/gpu/drm/i915/i915_debugfs.c | 21 +++++++++++++---
drivers/gpu/drm/i915/i915_drv.c | 1 +
drivers/gpu/drm/i915/i915_drv.h | 19 ++++++++++-----
drivers/gpu/drm/i915/intel_crt.c | 26 ++++++++++++++------
drivers/gpu/drm/i915/intel_display.c | 47 ++++++++++++++----------------------
drivers/gpu/drm/i915/intel_pm.c | 3 +--
drivers/gpu/drm/i915/intel_uncore.c | 34 ++++++++++++++++++--------
7 files changed, 94 insertions(+), 57 deletions(-)

--
1.8.5.3