Bug 88563

Summary: [HSW][i915][HD 4600] GPU preventing package state from fully reaching PC6
Product: DRI Reporter: Shawn Starr <shawn.starr>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: CLOSED NOTABUG QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium CC: intel-gfx-bugs
Version: XOrg git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Output from turbostat showing change in PC state from wakeup none

Description Shawn Starr 2015-01-18 20:50:54 UTC
I am unable to get processor package c-state to PC6 fully, upon testing various things.

I have narrowed this down to the i915.

Here is my current cmdline for booting up laptop:

rhgb slub_debug=- cgroup_disable=memory console=tty0 console=ttyS0,115200n8 radeon.audio=0 snd_hda_intel.power_save=1 nmi_watchdog=0 i915.powersave=1 intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1 zswap.zpool=zsmalloc zswap.enabled=1 radeon.backlight=0 video=eDP-1:d video=VGA-2:e video=VGA-1:d video=VGA-1-0:d pcie_aspm=off i915.enable_rc6=1 i915.i915_enable_rc6=1

Kernels: 3.19-rc4 (stock), 3.19-rc4 (intel-drm-nightly) both show same result.

I can get the package state to PC7 by setting dpms force on VGA-2 output, then we reach PC7 95%+ of time, upon wakeup it returns to PC2 state for majority of sleep.

The GPU is reaching its own RC6 state 99% of time in my testing so that is working fine.

Any tools I can use to see why it is preventing deeper PC sleep states?
Comment 1 Shawn Starr 2015-01-18 20:52:49 UTC
Created attachment 112438 [details]
Output from turbostat showing change in PC state from wakeup
Comment 2 Ville Syrjala 2015-01-19 09:23:32 UTC
I'm guess lack of FBC is a factor. Try i915.enable_fbc=1. But be warned that fbc is still broken AFAIK, so you might get missing screen updates or lockups etc.

For working FBC you may want to check out my branch here:
https://gitorious.org/vsyrjala/linux.git  fbc_update_thing_14
But the branch is rather old, and doesn't seem anything from there will ever get merged, so it's a bit of dead end at this point. I'm still running that on my IVB laptop simply because I want working FBC and doesn't look like upstream is getting there any time soon.
Comment 3 Shawn Starr 2015-01-19 16:42:59 UTC
Got it working

With VT-d enabled, I must use kernel option: intel_iommu=igfx_off

Now PC6 state is 90%+

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.