aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core/videobuf2-dma-sg.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-03-02 03:12:08 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-21 12:25:15 -0400
commitffdc78efe1a8a013036aa7a63402f2708ed4f483 (patch)
tree98e3749f7906b381e808454a14d50e1b89644111 /drivers/media/v4l2-core/videobuf2-dma-sg.c
parentb6ba2057f7823352bbc44ee846faa03b36e8b6ac (diff)
[media] vb2-dma-sg: add debug module option
This prevents the kernel log from being spammed with these messages. By turning on the debug option you will see them again. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/v4l2-core/videobuf2-dma-sg.c')
-rw-r--r--drivers/media/v4l2-core/videobuf2-dma-sg.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c
index 952776fafe2c..59522b2ebae1 100644
--- a/drivers/media/v4l2-core/videobuf2-dma-sg.c
+++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c
@@ -21,6 +21,15 @@
21#include <media/videobuf2-memops.h> 21#include <media/videobuf2-memops.h>
22#include <media/videobuf2-dma-sg.h> 22#include <media/videobuf2-dma-sg.h>
23 23
24static int debug;
25module_param(debug, int, 0644);
26
27#define dprintk(level, fmt, arg...) \
28 do { \
29 if (debug >= level) \
30 printk(KERN_DEBUG "vb2-dma-sg: " fmt, ## arg); \
31 } while (0)
32
24struct vb2_dma_sg_buf { 33struct vb2_dma_sg_buf {
25 void *vaddr; 34 void *vaddr;
26 struct page **pages; 35 struct page **pages;
@@ -74,7 +83,7 @@ static void *vb2_dma_sg_alloc(void *alloc_ctx, unsigned long size, gfp_t gfp_fla
74 83
75 atomic_inc(&buf->refcount); 84 atomic_inc(&buf->refcount);
76 85
77 printk(KERN_DEBUG "%s: Allocated buffer of %d pages\n", 86 dprintk(1, "%s: Allocated buffer of %d pages\n",
78 __func__, buf->sg_desc.num_pages); 87 __func__, buf->sg_desc.num_pages);
79 return buf; 88 return buf;
80 89
@@ -97,7 +106,7 @@ static void vb2_dma_sg_put(void *buf_priv)
97 int i = buf->sg_desc.num_pages; 106 int i = buf->sg_desc.num_pages;
98 107
99 if (atomic_dec_and_test(&buf->refcount)) { 108 if (atomic_dec_and_test(&buf->refcount)) {
100 printk(KERN_DEBUG "%s: Freeing buffer of %d pages\n", __func__, 109 dprintk(1, "%s: Freeing buffer of %d pages\n", __func__,
101 buf->sg_desc.num_pages); 110 buf->sg_desc.num_pages);
102 if (buf->vaddr) 111 if (buf->vaddr)
103 vm_unmap_ram(buf->vaddr, buf->sg_desc.num_pages); 112 vm_unmap_ram(buf->vaddr, buf->sg_desc.num_pages);
@@ -163,7 +172,7 @@ static void *vb2_dma_sg_get_userptr(void *alloc_ctx, unsigned long vaddr,
163 return buf; 172 return buf;
164 173
165userptr_fail_get_user_pages: 174userptr_fail_get_user_pages:
166 printk(KERN_DEBUG "get_user_pages requested/got: %d/%d]\n", 175 dprintk(1, "get_user_pages requested/got: %d/%d]\n",
167 num_pages_from_user, buf->sg_desc.num_pages); 176 num_pages_from_user, buf->sg_desc.num_pages);
168 while (--num_pages_from_user >= 0) 177 while (--num_pages_from_user >= 0)
169 put_page(buf->pages[num_pages_from_user]); 178 put_page(buf->pages[num_pages_from_user]);
@@ -186,7 +195,7 @@ static void vb2_dma_sg_put_userptr(void *buf_priv)
186 struct vb2_dma_sg_buf *buf = buf_priv; 195 struct vb2_dma_sg_buf *buf = buf_priv;
187 int i = buf->sg_desc.num_pages; 196 int i = buf->sg_desc.num_pages;
188 197
189 printk(KERN_DEBUG "%s: Releasing userspace buffer of %d pages\n", 198 dprintk(1, "%s: Releasing userspace buffer of %d pages\n",
190 __func__, buf->sg_desc.num_pages); 199 __func__, buf->sg_desc.num_pages);
191 if (buf->vaddr) 200 if (buf->vaddr)
192 vm_unmap_ram(buf->vaddr, buf->sg_desc.num_pages); 201 vm_unmap_ram(buf->vaddr, buf->sg_desc.num_pages);