summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/videobuf-dma-contig.c
AgeCommit message (Collapse)Author
2009-09-12backport commit 720b17e759a50635c429ccaa2ec3d01edb4f92d6Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> kernel-sync: Author: Magnus Damm <damm@igel.co.jp> Date: Tue Jun 16 15:32:36 2009 -0700 videobuf-dma-contig: zero copy USERPTR support Since videobuf-dma-contig is designed to handle physically contiguous memory, this patch modifies the videobuf-dma-contig code to only accept a user space pointer to physically contiguous memory. For now only VM_PFNMAP vmas are supported, so forget hotplug. On SuperH Mobile we use this with our sh_mobile_ceu_camera driver together with various multimedia accelerator blocks that are exported to user space using UIO. The UIO kernel code exports physically contiguous memory to user space and lets the user space application mmap() this memory and pass a pointer using the USERPTR interface for V4L2 zero copy operation. With this approach we support zero copy capture, hardware scaling and various forms of hardware encoding and decoding. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-04-28buf-dma-contig: remove sync operationMauro Carvalho Chehab
From: Magnus Damm <damm@igel.co.jp> Remove the videobuf-dma-contig sync operation. Sync is only needed for noncoherent buffers, and since videobuf-dma-contig is built on coherent memory allocators the memory is by definition always in sync. Reported-by: Matthieu CASTET <matthieu.castet@parrot.com> Signed-off-by: Magnus Damm <damm@igel.co.jp> Reviewed-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-12-10buf-dma-contig: fix USERPTR free handlingMauro Carvalho Chehab
From: Magnus Damm <damm@igel.co.jp> This patch fixes a free-without-alloc bug for V4L2_MEMORY_USERPTR video buffers. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2008-07-17v4l: fix checkpatch errors introduced by recent commitsGuennadi Liakhovetski
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de>
2008-07-18videobuf-dma-contig.c: fix 64-bit build for pre-2.6.24 kernelsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2008-07-16videobuf: Add physically contiguous queue code V3Magnus Damm
This is V3 of the physically contiguous videobuf queues patch. Useful for hardware such as the SuperH Mobile CEU which doesn't support scatter gatter bus mastering. Since it may be difficult to allocate large chunks of physically contiguous memory after some uptime due to fragmentation, this code allocates memory using dma_alloc_coherent(). Architectures supporting dma_declare_coherent_memory() can easily avoid fragmentation issues by using dma_declare_coherent_memory() to force dma_alloc_coherent() to allocate from a certain pre-allocated memory area. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> --- Changes since V2 - use dma_handle for physical address - use "scatter gather" instead of "scatter gatter" Changes since V1: - use dev_err() instead of pr_err() - remember size in struct videobuf_dma_contig_memory - keep struct videobuf_dma_contig_memory in .c file - let videobuf_to_dma_contig() return dma_addr_t - implement __videobuf_sync() - return statements, white space and other minor fixes drivers/media/video/Kconfig | 5 drivers/media/video/Makefile | 1 drivers/media/video/videobuf-dma-contig.c | 417 +++++++++++++++++++++++++++++ include/media/videobuf-dma-contig.h | 32 ++ 4 files changed, 455 insertions(+)