From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 00/19] Make PC8 become part of runtime PM Date: Thu, 19 Dec 2013 11:54:50 -0200 Message-ID: <1387461309-2756-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-qa0-f46.google.com (mail-qa0-f46.google.com [209.85.216.46]) by gabe.freedesktop.org (Postfix) with ESMTP id 947A3437A0 for ; Thu, 19 Dec 2013 05:55:18 -0800 (PST) Received: by mail-qa0-f46.google.com with SMTP id f11so4783141qae.5 for ; Thu, 19 Dec 2013 05:55:18 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org From: Paulo Zanoni Hi 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. Thanks, Paulo 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(-) -- 1.8.3.1