Re: [PATCH] fbdev: Fix crash if fb_set_var() called before register_framebuffer()

From: Antonino A. Daplas
Date: Fri Nov 26 2004 - 18:45:58 EST


On Saturday 27 November 2004 07:17, Mario Gaucher wrote:
> From: "Antonino A. Daplas" <adaplas@xxxxxxxxxx>
>
> > > but I still has some problem with my Matrox Millenium PCI card using
> > > matroxfb driver... the kernel boot... but I get corrupted characters on
> > > the console... X load ok and display ok...
> >
> > Try this first.
> >
> > 1. Open drivers/video/matrox/matrofb_accel.c
> > 2. At the end of the file is this function:
> >
> > static void matroxfb_imageblit(struct fb_info* info, const struct
>
> fb_image* image) {
>
> > MINFO_FROM_INFO(info);
> >
> > DBG_HEAVY(__FUNCTION__);
> >
> > if (image->depth == 1) {
> > u_int32_t fgx, bgx;
> >
> > fgx = ((u_int32_t*)info->pseudo_palette)[image->fg_color];
> > bgx = ((u_int32_t*)info->pseudo_palette)[image->bg_color];
> > matroxfb_1bpp_imageblit(PMINFO fgx, bgx, image->data, image->width,
>
> image->height, image->dy, image->dx);
>
> > } else {
> > /* Danger! image->depth is useless: logo painting code always
> > passes framebuffer color depth here, although logo data are
> > always 8bpp and info->pseudo_palette is changed to contain
> > logo palette to be used (but only for true/direct-color... sic...).
> > So do it completely in software... */
> > cfb_imageblit(info, image);
> > }
> > }
> >
> > 3. Replace the above function to use software drawing so it becomes like
>
> this:
> > static void matroxfb_imageblit(struct fb_info* info, const struct
>
> fb_image* image) {
>
> > cfb_imageblit(info, image);
> > }
>
> this patch works fine on my PowerMac 7300 with my Matrox Millenium PCI
> card...
>
> so I think that both patch you sent me should be included in the kernel...

No, this modification is for testing purposes only. It means that hardware
color expansion in matroxfb for powerpc's got broken. CC'ed Petr.

Tony


-
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/