From: Antonino A. D. <ad...@po...> - 2004-01-12 14:59:12
|
Hi, Attached is a patch against linux-2.6.1 + fbdev.diff. (It's another big patch so it's zipped). 1. fbmon.c - expanded struct fb_monspecs to include almost information parsed from the EDID block, including a pointer to a mode database, manufacture, model, monitor name, serial number, etc. - as suggested by Ben H., the contents of the EDID block can be transferred in one go into struct fb_monspecs with the function fb_edid_to_monspecs(unsigned char *, struct fb_monspecs *) - show_edid() is depreciated. For verbose edid output, just define DEBUG in fbmon.c and call fb_edid_to_monspecs(). 2. modedb.c - removed __init for fb_find_mode(). - added extra field (flag) to struct fb_videomode. As I explained in my previous mail, this field should tell the source of each entry (vesa, detailed, etc) 3. fbcon.c and softcursor.c The cursor is corrupted whether with softcursor or hardware cursor :-( I tried to make some changes without greatly affecting the logic of the cursor framework, but the changes will probably break some drivers with hardware cursors. The logic behind the change is: In fbcon_cursor(), info->image.mask (mask) is just a bitmap of (fontwidth)x(fontheight) dimensions which is filled with 1's. info->cursor.image.data (image) is an "xor" of the bitmap of the current character and a bitmap of the current cursor. The final image (in softcursor.c) is then produced by doing *image++ & *mask++. 3. RIVAFB: - added DDC/I2C support - fixed cursor bugs - fixed accel bugs Any comments welcome. Tony |