Skip to contentSkip to conversation

fbcon: Add ability to save/restore graphics state

PATCH In review Antonino A. Daplas 1 participant 1 message Dec 10, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/18 fbcon: Add ability to save/restore graphics state

Add hooks to save and restore the graphics state. These hooks are called in fbcon_blank() when entering/leaving KD_GRAPHICS mode. This is needed by savagefb at least so it can cooperate with savage_dri and by cyblafb.

State save/restoration can be full or partial.

---

 drivers/video/console/fbcon.c |    5 ++++-
 include/linux/fb.h            |    6 ++++++
 2 files changed, 10 insertions(+), 1 deletions(-)
drivers/video/console/fbcon.c +4 -1
index 1a8f0ea..9678045 100644
@@ -2181,11 +2181,14 @@ static int fbcon_blank(struct vc_data *v
 		ops->graphics = 1;
 
 		if (!blank) {
+			if (info->fbops->fb_save_state)
+				info->fbops->fb_save_state(info);
 			var.activate = FB_ACTIVATE_NOW | FB_ACTIVATE_FORCE;
 			fb_set_var(info, &var);
 			ops->graphics = 0;
 			ops->var = info->var;
-		}
+		} else if (info->fbops->fb_restore_state)
+			info->fbops->fb_restore_state(info);
 	}
 
  	if (!fbcon_is_inactive(vc, info)) {
include/linux/fb.h +6 -0
index 58e6c21..7d6d970 100644
@@ -617,6 +617,12 @@ struct fb_ops {
 
 	/* perform fb specific mmap */
 	int (*fb_mmap)(struct fb_info *info, struct file *file, struct vm_area_struct *vma);
+
+	/* save current hardware state */
+	void (*fb_save_state)(struct fb_info *info);
+
+	/* restore saved state */
+	void (*fb_restore_state)(struct fb_info *info);
 };
 
 #ifdef CONFIG_FB_TILEBLITTING

-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click