On Wed, Jun 13, 2012 at 01:50:15PM +0200, Marek Szyprowski wrote: > This patch adds dma_get_sgtable() function which is required to let > drivers to share the buffers allocated by DMA-mapping subsystem. Right > now the driver gets a dma address of the allocated buffer and the kernel > virtual mapping for it. If it wants to share it with other device (= map > into its dma address space) it usually hacks around kernel virtual > addresses to get pointers to pages or assumes that both devices share > the DMA address space. Both solutions are just hacks for the special > cases, which should be avoided in the final version of buffer sharing. > > To solve this issue in a generic way, a new call to DMA mapping has been > introduced - dma_get_sgtable(). It allocates a scatter-list which > describes the allocated buffer and lets the driver(s) to use it with > other device(s) by calling dma_map_sg() on it. > > This patch provides a generic implementation based on virt_to_page() > call. Architectures which require more sophisticated translation might > provide their own get_sgtable() methods. > > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > Reviewed-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> -- Daniel Vetter Mail: daniel@xxxxxxxx Mobile: +41 (0)79 365 57 48 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>