aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2013-04-17 02:04:10 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-25 08:48:49 -0400
commitd95d7c641299c1c77809d13565952d864da2d14d (patch)
tree037d42404f2930c94b21497b3b7ddcda1084a215
parenta8c9c345702b3f52a88498dea6b623dd3c3e27dc (diff)
[media] mem2mem_testdev: set timestamp_type and add debug param
While testing v4l2-ctl I noticed that this m2m driver didn't set timestamp_type and that it spammed the kernel log with debug messages. Set timestamp_type correctly and add debug module option to enable debug messages. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/platform/mem2mem_testdev.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/media/platform/mem2mem_testdev.c b/drivers/media/platform/mem2mem_testdev.c
index 7487d7208dea..4cc7f65d7d76 100644
--- a/drivers/media/platform/mem2mem_testdev.c
+++ b/drivers/media/platform/mem2mem_testdev.c
@@ -38,6 +38,10 @@ MODULE_AUTHOR("Pawel Osciak, <pawel@osciak.com>");
38MODULE_LICENSE("GPL"); 38MODULE_LICENSE("GPL");
39MODULE_VERSION("0.1.1"); 39MODULE_VERSION("0.1.1");
40 40
41static unsigned debug;
42module_param(debug, uint, 0644);
43MODULE_PARM_DESC(debug, "activates debug info");
44
41#define MIN_W 32 45#define MIN_W 32
42#define MIN_H 32 46#define MIN_H 32
43#define MAX_W 640 47#define MAX_W 640
@@ -67,7 +71,7 @@ MODULE_VERSION("0.1.1");
67#define MEM2MEM_VFLIP (1 << 1) 71#define MEM2MEM_VFLIP (1 << 1)
68 72
69#define dprintk(dev, fmt, arg...) \ 73#define dprintk(dev, fmt, arg...) \
70 v4l2_dbg(1, 1, &dev->v4l2_dev, "%s: " fmt, __func__, ## arg) 74 v4l2_dbg(1, debug, &dev->v4l2_dev, "%s: " fmt, __func__, ## arg)
71 75
72 76
73static void m2mtest_dev_release(struct device *dev) 77static void m2mtest_dev_release(struct device *dev)
@@ -234,6 +238,10 @@ static int device_process(struct m2mtest_ctx *ctx,
234 bytes_left = bytesperline - tile_w * MEM2MEM_NUM_TILES; 238 bytes_left = bytesperline - tile_w * MEM2MEM_NUM_TILES;
235 w = 0; 239 w = 0;
236 240
241 memcpy(&out_vb->v4l2_buf.timestamp,
242 &in_vb->v4l2_buf.timestamp,
243 sizeof(struct timeval));
244
237 switch (ctx->mode) { 245 switch (ctx->mode) {
238 case MEM2MEM_HFLIP | MEM2MEM_VFLIP: 246 case MEM2MEM_HFLIP | MEM2MEM_VFLIP:
239 p_out += bytesperline * height - bytes_left; 247 p_out += bytesperline * height - bytes_left;
@@ -844,6 +852,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_queue *ds
844 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 852 src_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
845 src_vq->ops = &m2mtest_qops; 853 src_vq->ops = &m2mtest_qops;
846 src_vq->mem_ops = &vb2_vmalloc_memops; 854 src_vq->mem_ops = &vb2_vmalloc_memops;
855 src_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
847 856
848 ret = vb2_queue_init(src_vq); 857 ret = vb2_queue_init(src_vq);
849 if (ret) 858 if (ret)
@@ -855,6 +864,7 @@ static int queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_queue *ds
855 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer); 864 dst_vq->buf_struct_size = sizeof(struct v4l2_m2m_buffer);
856 dst_vq->ops = &m2mtest_qops; 865 dst_vq->ops = &m2mtest_qops;
857 dst_vq->mem_ops = &vb2_vmalloc_memops; 866 dst_vq->mem_ops = &vb2_vmalloc_memops;
867 dst_vq->timestamp_type = V4L2_BUF_FLAG_TIMESTAMP_COPY;
858 868
859 return vb2_queue_init(dst_vq); 869 return vb2_queue_init(dst_vq);
860} 870}