Framebuffer vertical overscan patch

Malcolm <[email protected]> Sat, 12 Jul 2008 15:42:42 +0100
Newsgroups gmane.linux.ports.game-cube.devel
Message-ID <[email protected]>
I can't see the top and bottom lines of text on the framebuffer in wii
linux on my TV.

This patch adjusts the y resolution of the framebuffer so that all
lines are visible.

It's a hack, but it does make it easier to type commands.
-- 
Malcolm Parsons

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

_______________________________________________
Gc-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gc-linux-devel
gcnfb-vertical-overscan.patch (text/x-diff, 1.3 KB)
Index: drivers/video/gcnfb.c
===================================================================
RCS file: /cvsroot/gc-linux/linux/drivers/video/gcnfb.c,v
retrieving revision 1.19
diff -u -p -r1.19 gcnfb.c
--- drivers/video/gcnfb.c	27 Mar 2008 22:35:42 -0000	1.19
+++ drivers/video/gcnfb.c	12 Jul 2008 14:37:14 -0000
@@ -39,7 +39,7 @@
                           "Todd Jeffreys <[email protected]>, " \
 			  "Albert Herranz"
 
-static char vifb_driver_version[] = "1.0i";
+static char vifb_driver_version[] = "1.0j";
 
 #define drv_printk(level, format, arg...) \
         printk(level DRV_MODULE_NAME ": " format , ## arg)
@@ -762,7 +762,7 @@ static int vifb_do_probe(struct device *
 	vi_guess_mode(ctl);
 
 	info->var.xres = vi_current_video_mode->width;
-	info->var.yres = vi_current_video_mode->height;
+	info->var.yres = vi_current_video_mode->height - 32;
 
 	/* enable non-interlaced if it supports progressive */
 	if (vi_can_do_progressive(ctl))
@@ -784,7 +784,7 @@ static int vifb_do_probe(struct device *
 			   (void *)info->fix.smem_start);
 	}
 
-	info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
+	info->screen_base = ioremap(ctl->smem_start + 16 * info->fix.line_length, info->fix.smem_len - 16 * info->fix.line_length);
 	if (!info->screen_base) {
 		drv_printk(KERN_ERR,
 			   "failed to ioremap video memory at %p (%dk)\n",