Re: [PATCHv10 23/26] v4l: vb2-dma-contig: align buffer size to PAGE_SIZE

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

 



Hi Tomasz,

On Wednesday 10 October 2012 16:46:42 Tomasz Stanislawski wrote:
> Most operations on DMA and DMABUF framework need page
> aligned buffers.

The comment is a bit misleading, the buffer is already page-aligned (unless 
I'm mistaken dma_alloc_coherent() returns a page-aligned buffer) but its size 
isn't a multiple of the page size.

Do we really need a page size multiple ? Isn't it enough to make the size a 
multiple of the cache line size ?

> This fix guarantees this requirement
> for vb2-dma-contig buffers.
> 
> Signed-off-by: Tomasz Stanislawski <t.stanislaws@xxxxxxxxxxx>
> ---
>  drivers/media/v4l2-core/videobuf2-dma-contig.c |    3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c
> b/drivers/media/v4l2-core/videobuf2-dma-contig.c index 571a919..002ee50
> 100644
> --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c
> +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c
> @@ -162,6 +162,9 @@ static void *vb2_dc_alloc(void *alloc_ctx, unsigned long
> size) if (!buf)
>  		return ERR_PTR(-ENOMEM);
> 
> +	/* align image size to PAGE_SIZE */
> +	size = PAGE_ALIGN(size);
> +
>  	buf->vaddr = dma_alloc_coherent(dev, size, &buf->dma_addr, GFP_KERNEL);
>  	if (!buf->vaddr) {
>  		dev_err(dev, "dma_alloc_coherent of size %ld failed\n", size);
-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux