From patchwork Wed May 19 15:56:46 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: asheeshb@ti.com X-Patchwork-Id: 100912 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o4JFw9Ps026151 for ; Wed, 19 May 2010 15:58:10 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753904Ab0ESP5n (ORCPT ); Wed, 19 May 2010 11:57:43 -0400 Received: from comal.ext.ti.com ([198.47.26.152]:34131 "EHLO comal.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753872Ab0ESP5f (ORCPT ); Wed, 19 May 2010 11:57:35 -0400 Received: from dlep34.itg.ti.com ([157.170.170.115]) by comal.ext.ti.com (8.13.7/8.13.7) with ESMTP id o4JFvZNk005027 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 19 May 2010 10:57:35 -0500 Received: from dlep26.itg.ti.com (localhost [127.0.0.1]) by dlep34.itg.ti.com (8.13.7/8.13.7) with ESMTP id o4JFvYah019404; Wed, 19 May 2010 10:57:34 -0500 (CDT) Received: from dlee73.ent.ti.com (localhost [127.0.0.1]) by dlep26.itg.ti.com (8.13.8/8.13.8) with ESMTP id o4JFvYhu013393; Wed, 19 May 2010 10:57:34 -0500 (CDT) Received: from localhost.localdomain (158.218.48.84) by dlee73.ent.ti.com (157.170.170.88) with Microsoft SMTP Server (TLS) id 8.1.358.0; Wed, 19 May 2010 10:57:34 -0500 From: To: CC: Asheesh Bhardwaj Subject: [PATCH 2/7] Patch for adding imagesize corrected for MMAP buffers and behave the same as user allocated buffers. The sizeimage parameter is giving the wrong size from the driver and it has to be corrected in S_FMT and TRY_FMT ioctls. Date: Wed, 19 May 2010 10:56:46 -0500 Message-ID: <1274284611-13432-2-git-send-email-asheeshb@ti.com> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <1274284611-13432-1-git-send-email-asheeshb@ti.com> References: <1274284611-13432-1-git-send-email-asheeshb@ti.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 19 May 2010 15:58:10 +0000 (UTC) diff --git a/drivers/media/video/davinci/vpif_display.c b/drivers/media/video/davinci/vpif_display.c index db9f395..d794595 100644 --- a/drivers/media/video/davinci/vpif_display.c +++ b/drivers/media/video/davinci/vpif_display.c @@ -191,7 +191,8 @@ static int vpif_buffer_prepare(struct videobuf_queue *q, if (VIDEOBUF_NEEDS_INIT == vb->state) { vb->width = common->width; vb->height = common->height; - vb->size = vb->width * vb->height; + /* Updating the size based on the application requirement */ + vb->size = common->fmt.fmt.pix.sizeimage; vb->field = field; ret = videobuf_iolock(q, vb, NULL); @@ -480,11 +481,8 @@ static void vpif_calculate_offsets(struct channel_obj *ch) } else { vid_ch->buf_field = common->fmt.fmt.pix.field; } - - if (V4L2_MEMORY_USERPTR == common->memory) - sizeimage = common->fmt.fmt.pix.sizeimage; - else - sizeimage = config_params.channel_bufsize[ch->channel_id]; + + sizeimage = common->fmt.fmt.pix.sizeimage; hpitch = common->fmt.fmt.pix.bytesperline; vpitch = sizeimage / (hpitch * 2); @@ -560,11 +558,9 @@ static int vpif_check_format(struct channel_obj *ch, if (pixfmt->bytesperline <= 0) goto invalid_pitch_exit; - - if (V4L2_MEMORY_USERPTR == common->memory) - sizeimage = pixfmt->sizeimage; - else - sizeimage = config_params.channel_bufsize[ch->channel_id]; + + /* sizeimage is same for both MMAP and user allocated buffers, the size is updated for mmap buffers*/ + sizeimage = pixfmt->sizeimage; if (vpif_get_std_info(ch)) { vpif_err("Error getting the standard info\n"); @@ -1107,10 +1103,7 @@ static int vpif_streamon(struct file *file, void *priv, goto streamon_exit; } - if (common->memory == V4L2_MEMORY_MMAP) - sizeimage = config_params.channel_bufsize[ch->channel_id]; - else - sizeimage = common->fmt.fmt.pix.sizeimage; + sizeimage = common->fmt.fmt.pix.sizeimage; if ((ch->vpifparams.std_info.width * ch->vpifparams.std_info.height * 2) >