This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/media_tree.git tree:

Subject: Revert "[media] media: davinci: vpif_capture: drop unneeded module 
params"
Author:  Mauro Carvalho Chehab <[email protected]>
Date:    Sat May 24 16:32:44 2014 -0300

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 <[email protected]>
Cc: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/platform/davinci/vpif_capture.c |   54 ++++++++++++++++++++++++-
 drivers/media/platform/davinci/vpif_capture.h |   11 +++++
 2 files changed, 64 insertions(+), 1 deletions(-)

---

http://git.linuxtv.org/media_tree.git?a=commitdiff;h=ea06cc5d908cdbb50a836b55179247445b5a4d70

diff --git a/drivers/media/platform/davinci/vpif_capture.c 
b/drivers/media/platform/davinci/vpif_capture.c
index e967cf7..d452eaf 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);
                v4l2_dbg(level, debug, &vpif_obj.v4l2_dev, fmt, ## arg)
 
 static int debug = 1;
+static u32 ch0_numbuffers = 3;
+static u32 ch1_numbuffers = 3;
+static u32 ch0_bufsize = 1920 * 1080 * 2;
+static u32 ch1_bufsize = 720 * 576 * 2;
 
 module_param(debug, int, 0644);
+module_param(ch0_numbuffers, uint, S_IRUGO);
+module_param(ch1_numbuffers, uint, S_IRUGO);
+module_param(ch0_bufsize, uint, S_IRUGO);
+module_param(ch1_bufsize, uint, S_IRUGO);
 
 MODULE_PARM_DESC(debug, "Debug level 0-1");
+MODULE_PARM_DESC(ch2_numbuffers, "Channel0 buffer count (default:3)");
+MODULE_PARM_DESC(ch3_numbuffers, "Channel1 buffer count (default:3)");
+MODULE_PARM_DESC(ch2_bufsize, "Channel0 buffer size (default:1920 x 1080 x 
2)");
+MODULE_PARM_DESC(ch3_bufsize, "Channel1 buffer size (default:720 x 576 x 2)");
+
+static struct vpif_config_params config_params = {
+       .min_numbuffers = 3,
+       .numbuffers[0] = 3,
+       .numbuffers[1] = 3,
+       .min_bufsize[0] = 720 * 480 * 2,
+       .min_bufsize[1] = 720 * 480 * 2,
+       .channel_bufsize[0] = 1920 * 1080 * 2,
+       .channel_bufsize[1] = 720 * 576 * 2,
+};
 
 #define VPIF_DRIVER_NAME       "vpif_capture"
 
@@ -587,6 +609,9 @@ static void vpif_config_format(struct channel_obj *ch)
        vpif_dbg(2, debug, "vpif_config_format\n");
 
        common->fmt.fmt.pix.field = V4L2_FIELD_ANY;
+       common->fmt.fmt.pix.sizeimage
+           = config_params.channel_bufsize[ch->channel_id];
+
        if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER)
                common->fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_SBGGR8;
        else
@@ -1333,9 +1358,36 @@ static struct v4l2_file_operations vpif_fops = {
  */
 static int initialize_vpif(void)
 {
-       int err, i, j;
+       int err = 0, i, j;
        int free_channel_objects_index;
 
+       /* Default number of buffers should be 3 */
+       if ((ch0_numbuffers > 0) &&
+           (ch0_numbuffers < config_params.min_numbuffers))
+               ch0_numbuffers = config_params.min_numbuffers;
+       if ((ch1_numbuffers > 0) &&
+           (ch1_numbuffers < config_params.min_numbuffers))
+               ch1_numbuffers = config_params.min_numbuffers;
+
+       /* Set buffer size to min buffers size if it is invalid */
+       if (ch0_bufsize < config_params.min_bufsize[VPIF_CHANNEL0_VIDEO])
+               ch0_bufsize =
+                   config_params.min_bufsize[VPIF_CHANNEL0_VIDEO];
+       if (ch1_bufsize < config_params.min_bufsize[VPIF_CHANNEL1_VIDEO])
+               ch1_bufsize =
+                   config_params.min_bufsize[VPIF_CHANNEL1_VIDEO];
+
+       config_params.numbuffers[VPIF_CHANNEL0_VIDEO] = ch0_numbuffers;
+       config_params.numbuffers[VPIF_CHANNEL1_VIDEO] = ch1_numbuffers;
+       if (ch0_numbuffers) {
+               config_params.channel_bufsize[VPIF_CHANNEL0_VIDEO]
+                   = ch0_bufsize;
+       }
+       if (ch1_numbuffers) {
+               config_params.channel_bufsize[VPIF_CHANNEL1_VIDEO]
+                   = ch1_bufsize;
+       }
+
        /* Allocate memory for six channel objects */
        for (i = 0; i < VPIF_CAPTURE_MAX_DEVICES; i++) {
                vpif_obj.dev[i] =
diff --git a/drivers/media/platform/davinci/vpif_capture.h 
b/drivers/media/platform/davinci/vpif_capture.h
index 537076a..4960504 100644
--- a/drivers/media/platform/davinci/vpif_capture.h
+++ b/drivers/media/platform/davinci/vpif_capture.h
@@ -125,5 +125,16 @@ struct vpif_device {
        struct vpif_capture_config *config;
 };
 
+struct vpif_config_params {
+       u8 min_numbuffers;
+       u8 numbuffers[VPIF_CAPTURE_NUM_CHANNELS];
+       s8 device_type;
+       u32 min_bufsize[VPIF_CAPTURE_NUM_CHANNELS];
+       u32 channel_bufsize[VPIF_CAPTURE_NUM_CHANNELS];
+       u8 default_device[VPIF_CAPTURE_NUM_CHANNELS];
+       u32 video_limit[VPIF_CAPTURE_NUM_CHANNELS];
+       u8 max_device_type;
+};
+
 #endif                         /* End of __KERNEL__ */
 #endif                         /* VPIF_CAPTURE_H */

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to