[media] videobuf2: Do not unconditionally map S/G buffers into kernel space
authorJonathan Corbet <corbet@lwn.net>
Thu, 14 Jul 2011 21:10:44 +0000 (18:10 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sat, 3 Sep 2011 13:57:33 +0000 (10:57 -0300)
The one in-tree videobuf2-dma-sg driver (mmp-camera) has no need for a
kernel-space mapping of the buffers; one suspects that most other drivers
would not either.  The videobuf2-dma-sg module does the right thing if
buf->vaddr == NULL - it maps the buffer on demand if somebody needs it.  So
let's not map the buffer at allocation time; that will save a little CPU
time and a lot of address space in the vmalloc range.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Acked-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/videobuf2-dma-sg.c

index 065f468faf8fd021d7b12b59407db380a3cd478e..3bad8b105fea3260ffcb5fff745009b943885eec 100644 (file)
@@ -75,12 +75,6 @@ static void *vb2_dma_sg_alloc(void *alloc_ctx, unsigned long size)
 
        printk(KERN_DEBUG "%s: Allocated buffer of %d pages\n",
                __func__, buf->sg_desc.num_pages);
-
-       if (!buf->vaddr)
-               buf->vaddr = vm_map_ram(buf->pages,
-                                       buf->sg_desc.num_pages,
-                                       -1,
-                                       PAGE_KERNEL);
        return buf;
 
 fail_pages_alloc: