Re: [PATCH 5/7] drm/vgem: prime export support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 27, 2012 at 16:43, Tomasz Stanislawski
<t.stanislaws@xxxxxxxxxxx> wrote:
> The documentation of DMABUF says fallowing words about map_dma_buf callback.
>
> "It is one of the buffer operations that must be implemented by the
> exporter. It should return the sg_table containing scatterlist for this
> buffer, mapped into caller's address space."
>
> The scatterlist returned by drm_prime_pages_to_sg is not mapped to any
> device. The map_dma_buf callback should call dma_map_sg for caller device,
> which is attachment->dev. Otherwise the implementation is not consistent
> with the DMABUF spec.
>
> I think that it should be chosen to change implementation in map_dma_buf in
> DRM drivers or to drop mentioned sentence from the DMABUF spec.
>
> I bear to the second solution because IMO there is no reliable way of
> mapping a scatterlist to importer device by an exporter. The dma_map_sg
> could be used but not all drivers makes use of DMA framework.

Yep, drm/gem dma_buf integration is in violation of the spec here, and
imo the spec is right. To fix this we need to extend dma_buf to also
cover use-cases it currently can't work in (like cpu access). See

http://cgit.freedesktop.org/~danvet/drm/log/?h=dma_buf-cpu-access

for my wip rfc to make that possible. We obviously need to fix up the
drm prime stuff before merging, so the current emphasis for these
rfc's is on getting the lifecycles and similar stuff right for
integration buffer-sharing with gem (and not yet so much actually
getting at the data).

Yours, Daniel
-- 
Daniel Vetter
daniel.vetter@xxxxxxxx - +41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux