fix for tridentfb.c usage on CRTs.
From: Bram Stolk
Date: Wed Dec 24 2003 - 04:26:03 EST
Hello,
tridentfb.c is broken for non-FP (CRT) users, and it is not being maintained.
I believe that all kernels since 2.4.19 are affected, including 2.6.0
I mailed the maintainer in June 2003, and in October 2003, but
he does not respond.
What happens is this:
All modes that exceed the native resolution of a flatpanel
are discarded. However, a CRT has native resolution set to 0, and
therefore, tridentfb.c cannot be used with a CRT.
The patch to make it work:
$ diff -c tridentfb.c tridentfb.orig
*** tridentfb.c Wed Dec 24 10:08:44 2003
--- tridentfb.orig Wed Dec 24 09:55:39 2003
***************
*** 723,729 ****
if (bpp == 24 )
bpp = var->bits_per_pixel = 32;
/* check whether resolution fits on panel and in memory*/
! if (flatpanel && nativex && var->xres > nativex)
return -EINVAL;
if (var->xres * var->yres_virtual * bpp/8 > info->fix.smem_len)
return -EINVAL;
--- 723,729 ----
if (bpp == 24 )
bpp = var->bits_per_pixel = 32;
/* check whether resolution fits on panel and in memory*/
! if (var->xres > nativex)
return -EINVAL;
if (var->xres * var->yres_virtual * bpp/8 > info->fix.smem_len)
return -EINVAL;
Also, the Documents/fb/ docs are out of date, with regard
to option passing.
And the comment in tridentfb.c
* Parse user specified options (`video=trident:')
...is wrong.
Only 'video=tridentfb:' will work.
modedb.txt should include the 'tridentfb' target for video=
tridentfb.txt should be updated on how to pass parameters.
And last:
video=tridentfb:mode=800x600 does not work, as mode= is
not recognized. I think it should. Currently, you are forced to
skip the mode=, thus: video=tridentfb:800x600
Bram Stolk
PS: Maintainers I tried to contact to fix this:
jani at iv.ro,
geert at linux-m68k.org
salvestrini at users.sourceforge.net
janim at users.sourceforge.net
Only salvestrini responded that jani is probably busy.
--
"For the costs of subsidized agriculture in the EU, we can have all 56 million
European cows fly around the world. First Class." - J. Norberg
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/