diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-29 11:24:43 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-29 11:24:43 -0700 |
commit | 0a03726ca982129b1e054f0e8c34ca7eea348acd (patch) | |
tree | dbb553fd3f7c6300aa2c4fc09f4e6c3262cec8b3 /drivers/gpu/drm/i915/intel_fb.c | |
parent | b5174fa3a7f4f8f150bfa3b917c92608953dfa0f (diff) | |
parent | 3fa016a0b5c5237e9c387fc3249592b2cb5391c6 (diff) |
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull the intel i915 hibernation memory corruption fix from Dave Airlie:
"I tracked down the misc memory corruption after i915 hibernate to the
blinking fbcon cursor, and realised the i915 driver wasn't doing the
fbdev suspend/resume calls at all. nouveau and radeon have done these
calls for a long time.
This has been fairly well tested and is definitely the main culprit in
hibernate not working."
Yay.
* 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
drm/i915: suspend fbdev device around suspend/hibernate
Diffstat (limited to 'drivers/gpu/drm/i915/intel_fb.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_fb.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c index 2d876697838..19ecd78b8a2 100644 --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c @@ -254,6 +254,16 @@ void intel_fbdev_fini(struct drm_device *dev) kfree(dev_priv->fbdev); dev_priv->fbdev = NULL; } + +void intel_fbdev_set_suspend(struct drm_device *dev, int state) +{ + drm_i915_private_t *dev_priv = dev->dev_private; + if (!dev_priv->fbdev) + return; + + fb_set_suspend(dev_priv->fbdev->helper.fbdev, state); +} + MODULE_LICENSE("GPL and additional rights"); void intel_fb_output_poll_changed(struct drm_device *dev) |