aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_suspend.c
diff options
context:
space:
mode:
authorJesse Barnes <jbarnes@virtuousgeek.org>2010-12-17 17:19:02 -0500
committerChris Wilson <chris@chris-wilson.co.uk>2010-12-18 06:07:02 -0500
commit3b8d8d91d51c7d15cda51052624169edf7b6dbc6 (patch)
treef4b4f830d3d882f0d1673e21c15932843005a745 /drivers/gpu/drm/i915/i915_suspend.c
parent9c3d2f7ffac34c62fea0b73e607707168a6f09b1 (diff)
drm/i915: dynamic render p-state support for Sandy Bridge
Add an interrupt handler for switching graphics frequencies and handling PM interrupts. This should allow for increased performance when busy and lower power consumption when idle. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_suspend.c')
-rw-r--r--drivers/gpu/drm/i915/i915_suspend.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c
index a311809f3c80..f623efdb1151 100644
--- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -817,8 +817,10 @@ int i915_save_state(struct drm_device *dev)
817 dev_priv->saveIMR = I915_READ(IMR); 817 dev_priv->saveIMR = I915_READ(IMR);
818 } 818 }
819 819
820 if (HAS_PCH_SPLIT(dev)) 820 if (IS_IRONLAKE_M(dev))
821 ironlake_disable_drps(dev); 821 ironlake_disable_drps(dev);
822 if (IS_GEN6(dev))
823 gen6_disable_rps(dev);
822 824
823 intel_disable_clock_gating(dev); 825 intel_disable_clock_gating(dev);
824 826
@@ -867,11 +869,14 @@ int i915_restore_state(struct drm_device *dev)
867 /* Clock gating state */ 869 /* Clock gating state */
868 intel_enable_clock_gating(dev); 870 intel_enable_clock_gating(dev);
869 871
870 if (HAS_PCH_SPLIT(dev)) { 872 if (IS_IRONLAKE_M(dev)) {
871 ironlake_enable_drps(dev); 873 ironlake_enable_drps(dev);
872 intel_init_emon(dev); 874 intel_init_emon(dev);
873 } 875 }
874 876
877 if (IS_GEN6(dev))
878 gen6_enable_rps(dev_priv);
879
875 /* Cache mode state */ 880 /* Cache mode state */
876 I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000); 881 I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
877 882