EXA for radeon experimental patch

Lars Knoll lars at trolltech.com
Thu Sep 1 03:50:30 PDT 2005


On Thursday 01 September 2005 12:44, Alan Cox wrote:
> On Iau, 2005-09-01 at 09:16 +0200, Lars Knoll wrote:
> > What about writes from GPU to PCI? Maybe these exist.
>
> Quite a few cards can do this. It is one reason things like VIA drivers
> have command filters for DRI - to stop people blitting patches into the
> kernel memory.
>
> In addition almost any AGP card can copy from video memory to AGP. You
> then pull the pages out of the GART (fast), cache them (fast), use them
> (fast), flush them to ram (not too slow), and put them uncached back
> into the GART.

Sounds like this needs some support from the drm driver. There is currently no 
easy way to access the pages once you pulled them out of the GART.

Would it be possible to add some hooks for doing these transfers directly to 
drm? Basically you pass two pointers to a region in the apps virtual memory 
and a region in video mem and the size (well better something like width, 
height, src_pitch and dest_pitch) of to drm and the module will do it all for 
you. 

So copying from video mem would put the the pages specified by the application 
into the gart, initiate the transfer, put the process to sleep, get signalled 
when it's done, pull the pages out of the gart again and return to the 
application. Similar for copying back to video mem. For PCI cards this could 
either use scatter/gather, or do the copying page wise if that's not 
possible.

Lars



More information about the xorg mailing list