From: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Hi This series adds Haswell runtime PM support, which will put the graphics device in D3 state, saving a lot of power. Fore more information, see the previous cover letter: http://lists.freedesktop.org/archives/intel-gfx/2013-October/034910.html What changes from the previous series? Previously, the runtime PM test suite was separate from the PC8 test suite. Now, pm_pc8.c is able to recognize both features, so we can run all tests on both PC8-only or PC8+D3 cases. This code is all upstream. One of the consequences is that some of the new D3 tests triggered bugs in cases where we only had PC8, so patches 2, 3 and 4 solve these problems. Patches 5-14 add the runtime PM support on Haswell. They are basically the same thing as before, with a few new additions to catch the bugs I could reproduce with the test suite. The other difference is that even though runtime PM is not enabled by default, all you need to enable it is to "echo auto" to a sysfs file (or just run powertop and switch things to "good"). No more Kernel parameter is necessary. I could add it back if we want, no problem. Patches 15-19 are not really part of the runtime PM feature, but they are on top of that work, so I decided to send them anyway. While writing patch 9 I identified some problems on the VDD code, so I decided to fix them on patches 15-19. The big benefit is that we avoid some msleep() calls with these patches, so all eDP modesets get faster. In short: - Patches 1-4: fixes for PC8 code - Patches 5-14: add the runtime PM support - Patches 15-19: some fixes for eDP VDD on top of everything What are we still missing? - Merge PC8 and runtime D3: since PC8 without D3 doesn't make much sense, I plan to merge both features so they become a single thing. This will also make it easier for other platforms to add runtime PM support. - Support for PC8/D3 on DPMS. Jesse already started studying this problem, but there's a lot of rework we need to do on the modeset code before we reach this problem. - Support other platforms: adding support for another platform (e.g., VLV or IVB) will help us identify the code that needs to be shared and the code that's gen-specific. Still, none of these missing things is a blocker: IMHO we can merge the Haswell support now and worry about the other features later. Thanks, Paulo Paulo Zanoni (19): drm/i915: WARN if !HAS_PC8 when enabling/disabling PC8 drm/i915: use the correct force_wake function at the PC8 code drm/i915: get a PC8 reference when enabling the power well drm/i915: get/put PC8 when we get/put a CRTC drm/i915: add initial Runtime PM functions drm/i915: do adapter power state notification at runtime PM drm/i915: add runtime put/get calls at the basic places drm/i915: add some runtime PM get/put calls drm/i915: get a runtime PM reference when the panel VDD is on drm/i915: do not assert DE_PCH_EVENT_IVB enabled drm/i915: disable interrupts when enabling PC8 drm/i915: release the GTT mmaps when going into D3 drm: do not steal the display if we have a master drm/i915: add runtime PM support on Haswell drm/i915: don't enable VDD just to enable the panel drm/i915: don't touch the VDD when disabling the panel drm/i915: fix VDD override off wait drm/i915: save some time when waiting the eDP timings drm/i915: init the DP panel power seq regs earlier drivers/gpu/drm/drm_fb_helper.c | 6 +++ drivers/gpu/drm/i915/i915_debugfs.c | 45 ++++++++++++++++-- drivers/gpu/drm/i915/i915_dma.c | 6 +++ drivers/gpu/drm/i915/i915_drv.c | 46 ++++++++++++++++++ drivers/gpu/drm/i915/i915_drv.h | 8 ++++ drivers/gpu/drm/i915/i915_gem.c | 61 ++++++++++++++++-------- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 6 +++ drivers/gpu/drm/i915/i915_irq.c | 32 ++++++------- drivers/gpu/drm/i915/i915_sysfs.c | 14 +++++- drivers/gpu/drm/i915/intel_ddi.c | 3 -- drivers/gpu/drm/i915/intel_display.c | 41 +++++++++++++--- drivers/gpu/drm/i915/intel_dp.c | 75 +++++++++++++++++++++++------- drivers/gpu/drm/i915/intel_drv.h | 7 +++ drivers/gpu/drm/i915/intel_panel.c | 3 ++ drivers/gpu/drm/i915/intel_pm.c | 70 +++++++++++++++++++++++++++- drivers/gpu/drm/i915/intel_uncore.c | 13 ++++++ 16 files changed, 366 insertions(+), 70 deletions(-) -- 1.8.3.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx