generic-poky/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-psb-S0i1_and_S...

29 lines
849 B
Diff

diff --git a/drivers/gpu/drm/psb/psb_fb.c b/drivers/gpu/drm/psb/psb_fb.c
index 67934c0..8fc5221 100644
--- a/drivers/gpu/drm/psb/psb_fb.c
+++ b/drivers/gpu/drm/psb/psb_fb.c
@@ -896,8 +896,10 @@ static int psbfb_kms_off(struct drm_device *dev, int suspend)
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
struct fb_info *info = fb->fbdev;
- if (suspend)
+ if (suspend) {
fb_set_suspend(info, 1);
+ psbfb_blank(FB_BLANK_POWERDOWN, info);
+ }
}
mutex_unlock(&dev->mode_config.mutex);
@@ -928,8 +930,10 @@ static int psbfb_kms_on(struct drm_device *dev, int resume)
list_for_each_entry(fb, &dev->mode_config.fb_list, head) {
struct fb_info *info = fb->fbdev;
- if (resume)
+ if (resume) {
fb_set_suspend(info, 0);
+ psbfb_blank(FB_BLANK_UNBLANK, info);
+ }
}
mutex_unlock(&dev->mode_config.mutex);