"Jos� Fonseca" wrote:
> 
> Jeff,
> 
> I've really been trying to figure this out but with no success so far. I
> don't know if there's a bug somewhere or if I'm forgeting to make some
> step.
> 
> I need to access the contents of a DMA buffer allocated from AGPGART
> within the DRM.
> Initialy I attemped to use the "buf->address" directly which pointed to
> e0000000, but I got a kernel oops:
> 
> Unable to handle kernel paging request at virtual address e0000002
>   printing eip:
> ...
> 
> The "buf->address" has the same value as "buf->offset"  - this is even
> quite explicity in the DRM(addbufs_agp) code. Initially I found it quite
> strange but then I read somewhere that the kernel dealt with the physical
> addresses directly. So why isn't this working?
> Jos� Fonseca

Jose,

The radeon drm module accesses dma memory in the radeon_cp_dispatch_indirect()
function:


                        u32 *data = (u32 *)
                                ((char *)dev_priv->buffers->handle
                                 + buf->offset + start);

And then uses data as an array directly.

Keit

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

Reply via email to