Commit 8771a7f8 authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter

drm/i915: add runtime PM support on Haswell

The code to enable/disable PC8 already takes care of saving and
restoring all the registers we need to save/restore, so do a put()
call when we enable PC8 and a get() call when we disable it.

Ideally, in order to make it easier to add runtime PM support to other
platforms, we should move some things from the PC8 code to the runtime
PM code, but let's do this later, since we can make Haswell work right
now.

V2: - Rebase
Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@gmail.com>
[danvet: Don't actually enable runtime pm since I didn't merge all
patches.]
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 1f2d4531
...@@ -6656,6 +6656,8 @@ void hsw_enable_pc8_work(struct work_struct *__work) ...@@ -6656,6 +6656,8 @@ void hsw_enable_pc8_work(struct work_struct *__work)
lpt_disable_clkout_dp(dev); lpt_disable_clkout_dp(dev);
hsw_pc8_disable_interrupts(dev); hsw_pc8_disable_interrupts(dev);
hsw_disable_lcpll(dev_priv, true, true); hsw_disable_lcpll(dev_priv, true, true);
intel_runtime_pm_put(dev_priv);
} }
static void __hsw_enable_package_c8(struct drm_i915_private *dev_priv) static void __hsw_enable_package_c8(struct drm_i915_private *dev_priv)
...@@ -6693,6 +6695,8 @@ static void __hsw_disable_package_c8(struct drm_i915_private *dev_priv) ...@@ -6693,6 +6695,8 @@ static void __hsw_disable_package_c8(struct drm_i915_private *dev_priv)
DRM_DEBUG_KMS("Disabling package C8+\n"); DRM_DEBUG_KMS("Disabling package C8+\n");
intel_runtime_pm_get(dev_priv);
hsw_restore_lcpll(dev_priv); hsw_restore_lcpll(dev_priv);
hsw_pc8_restore_interrupts(dev); hsw_pc8_restore_interrupts(dev);
lpt_init_pch_refclk(dev); lpt_init_pch_refclk(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment