>
> > 2. Also, fbgen_switch basically just do an fbgen_do_set_var()
> > (decode_var(), followed by set_par()). This is okay most times, but
> > it's probably better if fbgen_switch also does an encode_fix() since
> > fbcon's drawing functions also rely on fix->line_length.
>
> Most likely that is also broken. I haven't thought about it since I plan
> to make all the old fbgen_* functions go away.
>
fb_gen_switch may be broken, but I think gen_switch works just okay as
long as info->fix is updated in set_par().
> > If an fb_fix_screeninfo is not updated, display corruption occurs when
> > switching to another display with a different pixelformat.
>
> Correct. That is why I require info->fix to be updated when set_par is
> called.
>
Right.
The i810fb patch is at
http://prdownloads.sourceforge.net/i810fb/linux-2.5.13-i810fb.tar.bz2.
Tony
--- fbgen.c.orig Sat May 4 14:35:32 2002
+++ fbgen.c Sat May 4 15:02:37 2002
@@ -514,7 +514,8 @@
if (con == info->currcon) {
if (info->fbops->fb_pan_display) {
- if ((err = info->fbops->fb_pan_display(&info->var, con, info)))
+ /* Tony: offsets are still in disp->var, not info->var */
+ if ((err = info->fbops->fb_pan_display(&fb_display[con].var, con, info)))
return err;
}
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/