"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