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