1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
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);
|