Messages in this thread Patch in this message | | | From | Melchior FRANZ <> | Subject | Re: PATCH: tdfxfb: bugfix & enable SUN12x22 font, kernel 2.4.5 | Date | Mon, 4 Jun 2001 15:08:51 +0200 |
| |
* Geert Uytterhoeven -- Monday 04 June 2001 14:20: > On Mon, 4 Jun 2001, Melchior FRANZ wrote: > > The attached patch fixes that bug and enables 8--12 bit wide fonts, thus > > disabling the "No support ..." messages. I haven't found an indication that > > Does it work now for fonts with width 16? I'd expect so.
It works for 8 and 12 pixels wide fonts on my 80686 little-endian. I don't have a 16 pixel font, but such a font should even have worked with the bug, because like with a 8 bit font the pattern would by fortune have come out right.
> BTW, instead of using #ifdef __LITTLE_ENDIAN and swapping explicitly, it's > better to use the cpu_to_be* macros.
I see. I just grepped through some source files and saw these ifdef's everywhere, so I didn't feel especially guilty. ;-)
> > there are any Voodoo3/Banshee cards for big endian machines. The bugfix implies > > that they never could have worked. (But if they have indeed, they would be > > broken after applying the patch. Could someone comment on this, please?) > > Yes, people are using Voodoo3 boards on PPC. But they require(d) some patches, > IIRC.
Ahh. Maybe someone with a PPC could test that patch. New version (without ifdef) attached.
m.
PS: My emails don't seem to make it to the kernel-list. Or is a delay of more than two hours considered normal?! Now I'm trying via a smart-host ... --- linux-2.4.5/drivers/video/tdfxfb.c Sun Jun 3 17:13:30 2001 +++ linux/drivers/video/tdfxfb.c Mon Jun 4 14:54:59 2001 @@ -1207,7 +1207,7 @@ revc: tdfx_cfbX_revc, cursor: tdfx_cfbX_cursor, clear_margins: tdfx_cfbX_clear_margins, - fontwidthmask: FONTWIDTH(8) + fontwidthmask: FONTWIDTHRANGE(8, 16) }; #endif #ifdef FBCON_HAS_CFB16 @@ -1220,7 +1220,7 @@ revc: tdfx_cfbX_revc, cursor: tdfx_cfbX_cursor, clear_margins: tdfx_cfbX_clear_margins, - fontwidthmask: FONTWIDTH(8) + fontwidthmask: FONTWIDTHRANGE(8, 16) }; #endif #ifdef FBCON_HAS_CFB24 @@ -1233,7 +1233,7 @@ revc: tdfx_cfbX_revc, cursor: tdfx_cfbX_cursor, clear_margins: tdfx_cfbX_clear_margins, - fontwidthmask: FONTWIDTH(8) + fontwidthmask: FONTWIDTHRANGE(8, 16) }; #endif #ifdef FBCON_HAS_CFB32 @@ -1246,7 +1246,7 @@ revc: tdfx_cfbX_revc, cursor: tdfx_cfbX_cursor, clear_margins: tdfx_cfbX_clear_margins, - fontwidthmask: FONTWIDTH(8) + fontwidthmask: FONTWIDTHRANGE(8, 16) }; #endif @@ -2314,7 +2314,7 @@ unsigned int h,to; tdfxfb_createcursorshape(p); - xline = (1 << fb_info.cursor.w)-1; + xline = cpu_to_be32(~((1 << (32 - fb_info.cursor.w)) - 1)); cursorbase=(u8*)fb_info.bufbase_virt; h=fb_info.cursor.cursorimage; tdfxfb.c: fix cursor bug; enable 12x22 fonts -- Melchior FRANZ <a8603365@unet.univie.ac.at>
| |