Re: i915 dma_map_sg return value

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

 



On Tue, May 05, 2015 at 09:42:44AM +0200, Volker Vogelhuber wrote:
> The documentation of the DMA-API writes the following about
> dma_map_sg:
> 
> "The implementation is free to merge several consecutive sglist entries
> into one (e.g. if DMA mapping is done with PAGE_SIZE granularity, any
> consecutive sglist entries can be merged into one provided the first one
> ends and the second one starts on a page boundary - in fact this is a huge
> advantage for cards which either cannot do scatter-gather or have very
> limited number of scatter-gather entries) and returns the actual number
> of sg entries it mapped them to."
> 
> I wonder why the return value of dma_map_sg is not returned in any way
> from i915_gem_map_dma_buf. It only uses the return value for error
> checking.
> Can one be sure that in case of the i915 the nents value of the scatter
> gather table is always equal to the value returned by dma_map_sg?
> I'm asking because I want to use the sg table returned by
> i915_gem_map_dma_buf in my own kernel module and iterate over it
> using for_each_sg. And the example in the documentation of the DMA-API
> uses the return value of dma_map_sg when calling for_each_sg and not
> nents and it explicitly mentions:
> 
> "Then you should loop count times (note: this can be less than nents times)"

Hm, not looking at the return value of dma_map_sg is also how we use it
internally in i915_gem_gtt.c. Not sure why we get away with this ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
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