summaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/linux/linux-moblin-2.6.29.1/linux-2.6.29-psb-S0i1_and_S0i3_OSPM_support.patch
blob: 1003765535d435708f5217030048ff850e75aafb (plain)
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);