summaryrefslogtreecommitdiffstats
path: root/sys/dev/drm
diff options
context:
space:
mode:
authorrnoland <rnoland@FreeBSD.org>2009-06-23 17:38:28 +0000
committerrnoland <rnoland@FreeBSD.org>2009-06-23 17:38:28 +0000
commite2c228d3d4948d533b13dc10d4146c5a7b8c23c3 (patch)
treef9bdfd9bb262bfbf9a2e2d3d0477d73018877ef8 /sys/dev/drm
parent0808d0b1a67c8f05c240f53f38787bd0ab1209dd (diff)
downloadFreeBSD-src-e2c228d3d4948d533b13dc10d4146c5a7b8c23c3.zip
FreeBSD-src-e2c228d3d4948d533b13dc10d4146c5a7b8c23c3.tar.gz
Hold the lock while we save/restore register for suspend/resume.
MFC after: 3 days
Diffstat (limited to 'sys/dev/drm')
-rw-r--r--sys/dev/drm/i915_drv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/drm/i915_drv.c b/sys/dev/drm/i915_drv.c
index 39db236..b84e018 100644
--- a/sys/dev/drm/i915_drv.c
+++ b/sys/dev/drm/i915_drv.c
@@ -52,7 +52,10 @@ static int i915_suspend(device_t kdev)
return -ENODEV;
}
+ DRM_LOCK();
+ DRM_DEBUG("starting suspend\n");
i915_save_state(dev);
+ DRM_UNLOCK();
return (bus_generic_suspend(kdev));
}
@@ -61,7 +64,10 @@ static int i915_resume(device_t kdev)
{
struct drm_device *dev = device_get_softc(kdev);
+ DRM_LOCK();
i915_restore_state(dev);
+ DRM_DEBUG("finished resume\n");
+ DRM_UNLOCK();
return (bus_generic_resume(kdev));
}
OpenPOWER on IntegriCloud