>From: Jeff Hartmann <[EMAIL PROTECTED]>
>To: Fred Black <[EMAIL PROTECTED]>
>CC: [EMAIL PROTECTED]
>Subject: Re: [Dri-devel] DRM Questions (mga)
>Date: Wed, 25 Apr 2001 13:37:48 -0600
>
>Fred Black wrote:
>
>>Hello everyone,
>>
>>I've been reading about how drm works and going through some code. To
>>understand the whole thing I'm trying a couple of stuff. But I now
>>need some  help.
>>
>>I'm trying to find a way for sending some intructions through bus
>>mastering.  I understand that with drm that should be possible.
>>
>>Here's what I understand so far.
>>
>>When the X server starts with dri enabled 128 65k DMA buffers are
>>created.  So I understand that after these buffers are mapped I could
>>reserve one of  them for my own personnal use by using drmDMA(); This
>>returns a index that I  could refer to in the future.
>>
>>After I reserve a buffer. I'm able to have the address of where this
>>particular buffer is situated. So what I do now is to write the
>>instructions  in that buffer in a format that the card will
>>understand. Which is that the  first DWORD is 4 index of registers and
>>the next 4 dwords are the data that  we want to put in them.
>>
>>
>>Right now all I'm doing is writing to DMA_PAD. But the questions is
>>that ,  after I do this how to make drm read the intructions. I was
>>thinking that I  could use  drmMGAFlushVertexBuffer() but it locks up
>>my system. Is it  necessary to use some sort of locking mecanish. Or
>>maybe I'm supposed to do  something else after I do this intruction.
>>
>>By the way, I'm writing these intructions in SetupForSolidFills  in
>>mga_storm.c.
>>
>>What do you guys think? Am I going to right route? Is there another
>>function  I should be using in order to make the card read the
>>intructions? All I want  is that one 2d operation is done using bus
>>mastering.
>
>Doing bus mastering through a secondary buffer is probably going to have
>latency issues.  What you really want is bus mastering in XFree86 to use
>the primary dma buffer.  With a little bit of work you can probably get
>XFree86 and the kernel to both write to the primary dma stream.
>
>That being said, you can't use the kernel mechanisms to send secondary
>dma buffers to the card for security reasons.  Currently you can only
>send straight vertex data through the kernel interfaces.  That being
>said, if you wanted to add a root only ioctl to allow you to send
>commands directly to the card there is no one stopping you.
>Unfortunately we can't add a command that is not root only to do the
>same thing for security reasons.  Since XFree86 is root when its
>configuring direct rendering this is not really an issue for you.
>
>-Jeff
>

Thank you for the quick response.

How much of a latency issue could that be?


Can someone point to me in the right direction, in order for me to use the 
primary dma buffer without it messing up drm?

Fred
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


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

Reply via email to