So I'm looking through the AGP stuff, still learning... and it seems that there's a whole lot of redundancy in the current API.
If I'm understanding the sequence properly, generally programs do the following: 1. open /dev/agpgart 2. ioctl(ACQUIRE) 3. ioctl(INFO) to determine amountof memory for AGP 4. mmap the device 5. ioctl(SETUP) to set the AGP mode 6. ioctl(ALLOCATE) a chunk o memory, specifying offset in aperture 7. ioctl(BIND) that same chunk o memory The allocate and bind parts seem to be useless, since the program has to call mmap() anyway [right?] Seems to me that programs could perfectly well just mmap the whole chunk of memory at once and do what they like to it. The agpgart driver could then automatically update the GATT table (which I still havent fully figured out, admittedly) The allocate and bind calls could just be implicitly done through the mmap call. What am I missing? Just the "physical" address return, which could perfectly easily be done through an agp_allocate() call that would otherwise do nothing, I think. ? _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel