Hi, I have problem with frame buffer console on ARM9 platform. I made
driver depending on fils from drivers/video directory. It works fine,
but after constant time (1 hour and 20 minuts) console disappears from
display and only background is visible. Uclinux still works but console
is not visible. Do You heave any ideas?? Maybe somewhere there is option
to switch off console after time? Or any power management options??
Console on ttyS0 works without problem. Something strange happens to 
foreground and background colour. Function that copies data from system 
memory to frame buffer memory(cfb_imageblit) is executed periodically. 
But after console halt this function is executed only after char is send 
to tty_insert_flip_char function. When I change function cfb_imageblit 
like this:

void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
{
        u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
        u32 bpl = sizeof(u32), bpp = p->var.bits_per_pixel;
        u32 width = image->width;
        u32 dx = image->dx, dy = image->dy;
        u8 __iomem *dst1;
        //static int licz=0;

        if (p->state != FBINFO_STATE_RUNNING)
                return;

        bitstart = (dy * p->fix.line_length * 8) + (dx * bpp);
        start_index = bitstart & (32 - 1);
        pitch_index = (p->fix.line_length & (bpl - 1)) * 8;

        bitstart /= 8;
        bitstart &= ~(bpl - 1);
        dst1 = p->screen_base + bitstart;

        if (p->fbops->fb_sync)
                p->fbops->fb_sync(p);

        if (image->depth == 1) {
                if (p->fix.visual == FB_VISUAL_TRUECOLOR ||
                    p->fix.visual == FB_VISUAL_DIRECTCOLOR) {
                fgcolor =((u32*)(p->pseudo_palette))[image->fg_color];
                bgcolor =((u32*)(p->pseudo_palette))[image->bg_color];
                } else {
                        fgcolor = image->fg_color;
                        bgcolor = image->bg_color;
                }

                if (32 % bpp == 0 && !start_index && !pitch_index &&
                    ((width & (32/bpp-1)) == 0) &&
                    bpp >= 8 && bpp <= 32)
                //fast_imageblit(image, p, dst1, fgcolor, bgcolor);
                fast_imageblit(image, p, dst1, 0, 0xFF);
                else
                //slow_imageblit(image, p, dst1, fgcolor, bgcolor,
                //start_index, pitch_index);
                slow_imageblit(image, p, dst1, 0, 0xFF,
                start_index, pitch_index);
        }else
                color_imageblit(image, p, dst1, start_index, pitch_index);
}

I set arguments( fb_color and bg_color) of functions: fast_imageblit and 
slow_imageblit to 0 and 0xFF linux logo disappears but console is ok. In 
conclusion colors in image stuct change. Do Y have any idea?? Thx for 
help, marcin

----------------------------------------------------
"Ostatni mazur. Opowieść o wojnie, namiętności i stracie" Andrew
Tarnowskiego - fascynująca rekonstrukcja historii znakomitego
galicyjskiego rodu Tarnowskich 
http://klik.wp.pl/?adr=http%3A%2F%2Fcorto.www.wp.pl%2Fas%2Fmazur.html&sid=263


_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to