aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-05-24 15:32:44 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-05-24 15:34:34 -0400
commitea06cc5d908cdbb50a836b55179247445b5a4d70 (patch)
tree040964d963bd513b791232bf694447bb8f94bfb7
parent12bd10c79bd8f65698660e992b8656e9a48eeca1 (diff)
Revert "[media] media: davinci: vpif_capture: drop unneeded module params"
This patch removes some modprobe parameters, without any reason or description. I was supposed to not merge this patch, but It was merged by mistake. Revert it while nobody provides a good description for such patch. This reverts commit b952662f272ae43c1583fac4dcda71ef36c33528. Cc: Lad, Prabhakar <prabhakar.csengg@gmail.com> Cc: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/platform/davinci/vpif_capture.c54
-rw-r--r--drivers/media/platform/davinci/vpif_capture.h11
2 files changed, 64 insertions, 1 deletions
diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
index e967cf7c8882..d452eaf59b91 100644
--- a/drivers/media/platform/davinci/vpif_capture.c
+++ b/drivers/media/platform/davinci/vpif_capture.c
@@ -38,10 +38,32 @@ MODULE_VERSION(VPIF_CAPTURE_VERSION);
38 v4l2_dbg(level, debug, &vpif_obj.v4l2_dev, fmt, ## arg) 38 v4l2_dbg(level, debug, &vpif_obj.v4l2_dev, fmt, ## arg)
39 39
40static int debug = 1; 40static int debug = 1;
41static u32 ch0_numbuffers = 3;
42static u32 ch1_numbuffers = 3;
43static u32 ch0_bufsize = 1920 * 1080 * 2;
44static u32 ch1_bufsize = 720 * 576 * 2;
41 45
42module_param(debug, int, 0644); 46module_param(debug, int, 0644);
47module_param(ch0_numbuffers, uint, S_IRUGO);
48module_param(ch1_numbuffers, uint, S_IRUGO);
49module_param(ch0_bufsize, uint, S_IRUGO);
50module_param(ch1_bufsize, uint, S_IRUGO);
43 51
44MODULE_PARM_DESC(debug, "Debug level 0-1"); 52MODULE_PARM_DESC(debug, "Debug level 0-1");
53MODULE_PARM_DESC(ch2_numbuffers, "Channel0 buffer count (default:3)");
54MODULE_PARM_DESC(ch3_numbuffers, "Channel1 buffer count (default:3)");
55MODULE_PARM_DESC(ch2_bufsize, "Channel0 buffer size (default:1920 x 1080 x 2)");
56MODULE_PARM_DESC(ch3_bufsize, "Channel1 buffer size (default:720 x 576 x 2)");
57
58static struct vpif_config_params config_params = {
59 .min_numbuffers = 3,
60 .numbuffers[0] = 3,
61 .numbuffers[1] = 3,
62 .min_bufsize[0] = 720 * 480 * 2,
63 .min_bufsize[1] = 720 * 480 * 2,
64 .channel_bufsize[0] = 1920 * 1080 * 2,
65 .channel_bufsize[1] = 720 * 576 * 2,
66};
45 67
46#define VPIF_DRIVER_NAME "vpif_capture" 68#define VPIF_DRIVER_NAME "vpif_capture"
47 69
@@ -587,6 +609,9 @@ static void vpif_config_format(struct channel_obj *ch)
587 vpif_dbg(2, debug, "vpif_config_format\n"); 609 vpif_dbg(2, debug, "vpif_config_format\n");
588 610
589 common->fmt.fmt.pix.field = V4L2_FIELD_ANY; 611 common->fmt.fmt.pix.field = V4L2_FIELD_ANY;
612 common->fmt.fmt.pix.sizeimage
613 = config_params.channel_bufsize[ch->channel_id];
614
590 if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER) 615 if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER)
591 common->fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8; 616 common->fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;
592 else 617 else
@@ -1333,9 +1358,36 @@ static struct v4l2_file_operations vpif_fops = {
1333 */ 1358 */
1334static int initialize_vpif(void) 1359static int initialize_vpif(void)
1335{ 1360{
1336 int err, i, j; 1361 int err = 0, i, j;
1337 int free_channel_objects_index; 1362 int free_channel_objects_index;
1338 1363
1364 /* Default number of buffers should be 3 */
1365 if ((ch0_numbuffers > 0) &&
1366 (ch0_numbuffers < config_params.min_numbuffers))
1367 ch0_numbuffers = config_params.min_numbuffers;
1368 if ((ch1_numbuffers > 0) &&
1369 (ch1_numbuffers < config_params.min_numbuffers))
1370 ch1_numbuffers = config_params.min_numbuffers;
1371
1372 /* Set buffer size to min buffers size if it is invalid */
1373 if (ch0_bufsize < config_params.min_bufsize[VPIF_CHANNEL0_VIDEO])
1374 ch0_bufsize =
1375 config_params.min_bufsize[VPIF_CHANNEL0_VIDEO];
1376 if (ch1_bufsize < config_params.min_bufsize[VPIF_CHANNEL1_VIDEO])
1377 ch1_bufsize =
1378 config_params.min_bufsize[VPIF_CHANNEL1_VIDEO];
1379
1380 config_params.numbuffers[VPIF_CHANNEL0_VIDEO] = ch0_numbuffers;
1381 config_params.numbuffers[VPIF_CHANNEL1_VIDEO] = ch1_numbuffers;
1382 if (ch0_numbuffers) {
1383 config_params.channel_bufsize[VPIF_CHANNEL0_VIDEO]
1384 = ch0_bufsize;
1385 }
1386 if (ch1_numbuffers) {
1387 config_params.channel_bufsize[VPIF_CHANNEL1_VIDEO]
1388 = ch1_bufsize;
1389 }
1390
1339 /* Allocate memory for six channel objects */ 1391 /* Allocate memory for six channel objects */
1340 for (i = 0; i < VPIF_CAPTURE_MAX_DEVICES; i++) { 1392 for (i = 0; i < VPIF_CAPTURE_MAX_DEVICES; i++) {
1341 vpif_obj.dev[i] = 1393 vpif_obj.dev[i] =
diff --git a/drivers/media/platform/davinci/vpif_capture.h b/drivers/media/platform/davinci/vpif_capture.h
index 537076a6bf7b..4960504a5108 100644
--- a/drivers/media/platform/davinci/vpif_capture.h
+++ b/drivers/media/platform/davinci/vpif_capture.h
@@ -125,5 +125,16 @@ struct vpif_device {
125 struct vpif_capture_config *config; 125 struct vpif_capture_config *config;
126}; 126};
127 127
128struct vpif_config_params {
129 u8 min_numbuffers;
130 u8 numbuffers[VPIF_CAPTURE_NUM_CHANNELS];
131 s8 device_type;
132 u32 min_bufsize[VPIF_CAPTURE_NUM_CHANNELS];
133 u32 channel_bufsize[VPIF_CAPTURE_NUM_CHANNELS];
134 u8 default_device[VPIF_CAPTURE_NUM_CHANNELS];
135 u32 video_limit[VPIF_CAPTURE_NUM_CHANNELS];
136 u8 max_device_type;
137};
138
128#endif /* End of __KERNEL__ */ 139#endif /* End of __KERNEL__ */
129#endif /* VPIF_CAPTURE_H */ 140#endif /* VPIF_CAPTURE_H */