On Fri, Dec 21, 2001 at 05:34:43PM -0800, Philip Brown wrote:
> On Sat, Dec 22, 2001 at 02:30:14AM +0100, Alexander Stohr wrote:
> > The GART is the paging unit of the AGP system.
> > 
> > It deals nicely with fragmented chunks of page sized
> > memory chunks. So you only need some sort of memory
> > allocation and a way to determine eachs pages physical
> > adress to use it for those GART purposes.
> 
> thats what I figured. But then what is the point of returning the 
> starting physical address to the user-space caller?

You return the physical address of the *AGP aperture*, not the first
page *in* the aperture.  Remember, the AGP aperture is a
physically-contiguous block of memory that can have scattered pages
mapped into it.  Thus, graphics cards can access the memory as one
physical range, even though the pages in that range aren't really
contiguous.  That's the whole point of having a GART remapper...

> If the user-space asks for 1 meg of memory==256 pages,
> and gets the physical address of the first page back, but
> all the oteher 255 pages are non-physically contiguous... then whats the
> point of returning the physical address of that first block?

Don't do that.  Return the physical address of the aperture, which the
user-space process can map into it's virtual address space.  Then, both
the client and graphics card can talk to the same block of memory --
client through the virtual mapping, hardware through the AGP GART
remapping.

-- Gareth

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to