[patch] VRAM detection in controlfb

Geert Uytterhoeven geert at linux-m68k.org
Sat Jun 3 19:22:31 EST 2000


On Sat, 3 Jun 2000, Michel Dänzer wrote:
> Geert Uytterhoeven wrote:
> > > XF4's fbdev is not working right for me either.  The weird displacement
> > > occurs on both of display cards (control, matrox) I have.  I think the
> > > current XF4 is of no use for fbdev only people.
> >
> > Probably XF4 handles fix.smem_start being not on a page boundary
> > incorrectly.
>
> What would it have to do to handle it?

Round down smem_start and mmap() it, and readd the offset. Cfr.

    ati_smem_start = (unsigned long)fb_fix.smem_start & PAGE_MASK;
    ati_smem_offset = (unsigned long)fb_fix.smem_start & ~PAGE_MASK;
    ati_smem_len = (ati_smem_offset+fb_fix.smem_len+~PAGE_MASK) & PAGE_MASK;

    addr = (unsigned long)mmap(NULL, ati_smem_len, PROT_READ | PROT_WRITE,
				MAP_SHARED, fb_fd, 0);

    ati_smem = addr+ati_smem_offset;

    ...

    munmap((caddr_t)(ati_smem & PAGE_MASK), ati_smem_len);


Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-dev mailing list