VideoRAM problem on modesetting branch

Ken Mandelberg km at mathcs.emory.edu
Mon Jan 29 07:11:25 PST 2007


The latest git version of the modsetting driver seems to be miscomputing 
the number of scanlines for the pixmap cache on my 945GM.

It comes up with

(II) I810(0): Allocating at least 4344 scanlines for pixmap cache
(II) I810(0): Initial framebuffer allocation size: 21472 kByte
(EE) I810(0): Failed to allocate framebuffer. Is your VideoRAM set too low?

The cacheLines computation in i830_memory.c is

          size = 3 * lineSize * pScrn->virtualY;
          size += 1920 * 1088 * 2 * 2;
          size = ROUND_TO_PAGE(size);

          cacheLines = (size + lineSize - 1) / lineSize;


lineSize is 1K*4, so cacheLines is roughly  3*virtualY +2K, and with 
virtualY at 768 that works out to about 4K.

Older versions of the driver used

            cacheLines = (pI830Ent->pScrn_2->depth == 24) ? 256 : 384;

and gave


(II) I810(0): Allocating at least 256 scanlines for pixmap cache
(II) I810(0): Initial framebuffer allocation size: 7680 kByte

I don't think this is the whole issue, since even if I force cachelines 
down so the initial allocate works on the the current code, I get

(EE) I810(0): Failed to allocate HW cursor space.
(EE) I810(0): Failed to allocate HW (ARGB) cursor space.
(EE) I810(0): Failed to allocate Overlay register space.
(EE) I810(0): Failed to allocate linear buffer space


Suggestions?







More information about the xorg mailing list