Merge tag 'drm-intel-fixes-2015-05-13' of git://anongit.freedesktop.org/drm-intel into drm-fixes
fix one gpu hang on resume. * tag 'drm-intel-fixes-2015-05-13' of git://anongit.freedesktop.org/drm-intel: drm/i915: Avoid GPU hang when coming out of s3 or s4
This commit is contained in:
commit
4723132456
@ -699,6 +699,16 @@ static int i915_drm_resume(struct drm_device *dev)
|
|||||||
intel_init_pch_refclk(dev);
|
intel_init_pch_refclk(dev);
|
||||||
drm_mode_config_reset(dev);
|
drm_mode_config_reset(dev);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Interrupts have to be enabled before any batches are run. If not the
|
||||||
|
* GPU will hang. i915_gem_init_hw() will initiate batches to
|
||||||
|
* update/restore the context.
|
||||||
|
*
|
||||||
|
* Modeset enabling in intel_modeset_init_hw() also needs working
|
||||||
|
* interrupts.
|
||||||
|
*/
|
||||||
|
intel_runtime_pm_enable_interrupts(dev_priv);
|
||||||
|
|
||||||
mutex_lock(&dev->struct_mutex);
|
mutex_lock(&dev->struct_mutex);
|
||||||
if (i915_gem_init_hw(dev)) {
|
if (i915_gem_init_hw(dev)) {
|
||||||
DRM_ERROR("failed to re-initialize GPU, declaring wedged!\n");
|
DRM_ERROR("failed to re-initialize GPU, declaring wedged!\n");
|
||||||
@ -706,9 +716,6 @@ static int i915_drm_resume(struct drm_device *dev)
|
|||||||
}
|
}
|
||||||
mutex_unlock(&dev->struct_mutex);
|
mutex_unlock(&dev->struct_mutex);
|
||||||
|
|
||||||
/* We need working interrupts for modeset enabling ... */
|
|
||||||
intel_runtime_pm_enable_interrupts(dev_priv);
|
|
||||||
|
|
||||||
intel_modeset_init_hw(dev);
|
intel_modeset_init_hw(dev);
|
||||||
|
|
||||||
spin_lock_irq(&dev_priv->irq_lock);
|
spin_lock_irq(&dev_priv->irq_lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user