> Date: Fri, 23 Nov 2012 12:23:19 +0100 > From: Martin Pieuchot <[email protected]> > > Ok, a bit of explanation first. > > On macppc because the AGP chips do not translate pages, the kernel and > the applications have access to the AGP memory regions through standard > mappings. Because these regions are mean to share commands and data and > the AGP bridges are not cache-coherent, they are mapped NOCACHE by the > appleagp driver. > > However in the case of the dri/drm infrastructure these memory regions > are first allocated and mapped by the agp driver then mmap'ed by the > userland graphic driver.
Martin, I probably should have asked this earlier, but how is this memory mapped by the userland graphics driver? Is that done by opening /dev/agp and then calling mmap(2) on the filedescriptor? If so, perhaps a better approach would be to have the agp mmap function return a PMAP_NC bit in the lower bits of the physical address. This is what sparc and sparc64 do.
