1
linux/drivers/media/video/uvc
Al Cooper 3e0ac6717b [media] media: Fix a UVC performance problem on systems with non-coherent DMA
The UVC driver uses usb_alloc_coherent() to allocate DMA data buffers.
On systems without coherent DMA this ends up allocating buffers in
uncached memory. The subsequent memcpy's done to coalesce the DMA
chunks into contiguous buffers then run VERY slowly. On a MIPS test
system the memcpy is about 200 times slower. This issue prevents the
system from keeping up with 720p YUYV data at 10fps.

The following patch uses kmalloc to alloc the DMA buffers instead of
usb_alloc_coherent on systems without coherent DMA. With this patch
the system was easily able to keep up with 720p at 10fps.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-09-23 20:07:47 -03:00
..
Kconfig
Makefile [media] uvcvideo: Register subdevices for each entity 2011-05-25 19:50:58 -03:00
uvc_ctrl.c Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-07-30 00:08:53 -07:00
uvc_driver.c [media] uvcvideo: Detect The Imaging Source CCD cameras by vendor and product ID 2011-09-23 20:06:30 -03:00
uvc_entity.c [media] uvcvideo: Ignore entities for terminals with no supported format 2011-06-30 23:18:13 -03:00
uvc_isight.c
uvc_queue.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
uvc_status.c
uvc_v4l2.c [media] uvcvideo: Remove deprecated UVCIOC ioctls 2011-09-23 20:06:51 -03:00
uvc_video.c [media] media: Fix a UVC performance problem on systems with non-coherent DMA 2011-09-23 20:07:47 -03:00
uvcvideo.h [media] uvcvideo: Remove deprecated UVCIOC ioctls 2011-09-23 20:06:51 -03:00