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);