diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-27 19:26:33 +0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-12-11 00:24:02 +0400 |
commit | 2f5ae4901acc6fdee939718658fa9f59c4f2217b (patch) | |
tree | 5420f95a46b1a6829fb0a52707366e571cacfb34 /drivers/gpu/drm/armada/armada_fbdev.c | |
parent | 796c8e1c3439aa6f2aef75d767defa0243ed6ead (diff) | |
download | linux-2f5ae4901acc6fdee939718658fa9f59c4f2217b.tar.xz |
DRM: Armada: implement lastclose() for fbhelper
Call drm_fb_helper_restore_fbdev_mode() upon last close so that in the
event of the X server crashing, we have some kind of mode restored.
Reviewed-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/gpu/drm/armada/armada_fbdev.c')
-rw-r--r-- | drivers/gpu/drm/armada/armada_fbdev.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/armada/armada_fbdev.c b/drivers/gpu/drm/armada/armada_fbdev.c index dd5ea77dac96..743570e99f90 100644 --- a/drivers/gpu/drm/armada/armada_fbdev.c +++ b/drivers/gpu/drm/armada/armada_fbdev.c @@ -177,6 +177,16 @@ int armada_fbdev_init(struct drm_device *dev) return ret; } +void armada_fbdev_lastclose(struct drm_device *dev) +{ + struct armada_private *priv = dev->dev_private; + + drm_modeset_lock_all(dev); + if (priv->fbdev) + drm_fb_helper_restore_fbdev_mode(priv->fbdev); + drm_modeset_unlock_all(dev); +} + void armada_fbdev_fini(struct drm_device *dev) { struct armada_private *priv = dev->dev_private; |