Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: turn on the power well before suspending

Our suspend code touches a lot of registers all over the place, so we
need to enable the power well before suspending.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
[danvet: Fixup compilation by stealing the header decl from the
dynamic power wells patch.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

authored by

Paulo Zanoni and committed by
Daniel Vetter
cb10799c cc464b2a

+4 -1
+2
drivers/gpu/drm/i915/i915_drv.c
··· 470 470 { 471 471 struct drm_i915_private *dev_priv = dev->dev_private; 472 472 473 + intel_set_power_well(dev, true); 474 + 473 475 drm_kms_helper_poll_disable(dev); 474 476 475 477 pci_save_state(dev->pdev);
+1
drivers/gpu/drm/i915/intel_drv.h
··· 668 668 extern void intel_gpu_ips_teardown(void); 669 669 670 670 extern void intel_init_power_well(struct drm_device *dev); 671 + extern void intel_set_power_well(struct drm_device *dev, bool enable); 671 672 extern void intel_enable_gt_powersave(struct drm_device *dev); 672 673 extern void intel_disable_gt_powersave(struct drm_device *dev); 673 674 extern void gen6_gt_check_fifodbg(struct drm_i915_private *dev_priv);
+1 -1
drivers/gpu/drm/i915/intel_pm.c
··· 4043 4043 dev_priv->display.init_clock_gating(dev); 4044 4044 } 4045 4045 4046 - static void intel_set_power_well(struct drm_device *dev, bool enable) 4046 + void intel_set_power_well(struct drm_device *dev, bool enable) 4047 4047 { 4048 4048 struct drm_i915_private *dev_priv = dev->dev_private; 4049 4049 bool is_enabled, enable_requested;