Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3025534pxk; Mon, 21 Sep 2020 03:25:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyDhBBsFJRTi3ezD8Gtagfu32shdOUNVuJ9JSJGX0yhjNhQE0xJmUshybFaPcwglXsQSV8u X-Received: by 2002:aa7:c648:: with SMTP id z8mr52093031edr.239.1600683949571; Mon, 21 Sep 2020 03:25:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600683949; cv=none; d=google.com; s=arc-20160816; b=Q5QriYH47kvM4D+JsMHGd0vP4ildkYy72OrOXOcEusPsjYtNCo9P5IrPnGuxRFs2zt Vaa8HC/XgjFxEm1JzblHGqFkNq+Ixb/rnvQw+wVpKawPg+jHIrPWDLiF1jjGUo2zaCBR tw32UBRxgXaloHKS2NR9e7gJnr6IDIHkY0cKdr4lw3L5caSnKuTeilAGRs4mGKIJtWlN ziC2sdbo05r42bDN+OwhFS5x917c6KA1dMLb5U8rDIwpr/8L8iEGMPWkpsS0VlooWHLj E8gL+qssJyuGoSXS5LBP1gHSvcfqAjh2VJvoo0ddTE+Cg9ydgd56x0R5abhhZRc0tjzA nKkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=GuupeKfcO/+rf9Qb6r8f2KQJXgchvtoxnNFe6M9/a1Y=; b=uguEJPBV9SDbx0CW0v03W8hUp/J3cEhUBgRP201mDS6YuFxJkhZByyRmMV3XkB5rdT 6ORMpg3rWEh+03eCkATYJff6C0f4Lo0nb5hpK5LktFbz+gGKzsHfMSrwejjK7jc1Vfmv 7bYAuE7T379K5rv/g8X1vYiEA0B4F6siPHepfZAqtE+qjjQUOc1gp+SimyAF4yHNEsFT HPaCLps4/Vu/7wi6AXmlATdg18KqiAlNSuz97gUSHQHM0vlJmBQjk0kzaPENhKiTqAIe H9CBegsDPJVew60Ijil6X3GKC873D4IGiuzZ6CsWwbYOMV2bBLRx1bI/Pf3QHNAvBCSd rfKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=tuGiHope; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y20si8114547edi.281.2020.09.21.03.25.26; Mon, 21 Sep 2020 03:25:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=tuGiHope; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727031AbgIUKVT (ORCPT + 99 others); Mon, 21 Sep 2020 06:21:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59236 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727020AbgIUKVQ (ORCPT ); Mon, 21 Sep 2020 06:21:16 -0400 Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 29D73C0613CF for ; Mon, 21 Sep 2020 03:21:16 -0700 (PDT) Received: by mail-wm1-x344.google.com with SMTP id d4so11563076wmd.5 for ; Mon, 21 Sep 2020 03:21:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=GuupeKfcO/+rf9Qb6r8f2KQJXgchvtoxnNFe6M9/a1Y=; b=tuGiHopegBqrIUp8HpoCeuXo5y5bglOeDyrrrfZ4Tzuh9U6lqCJj5fXQgy9gzZfIPm Jw4YULN3OQk6sfQjCoMYyu5tVlL2tYnotZQgDONkBlgCqkIb4AhNP3X0AOl7eUv0Z2jl o2z1CC2zmeBOl2meNu+J+6u5Us1CMuzlG9sdM50i75y3fZUHRNnbclBHy+Jg0CeDlEcD 5iBiCB8zjIBZ1ORIsNPQ+CrFmBBcfzagv/J1U1g85HIeFeuV9iXHtqKiqoSoTqAj1Rjb idMoqYHxE1jLGDP9DOthGbMEi8+gvkkB/cx/HsgkwS181mW4GGcxEE1mBbCR2jW3U0+h EBbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=GuupeKfcO/+rf9Qb6r8f2KQJXgchvtoxnNFe6M9/a1Y=; b=bJw3FRO+5IseSfMmwe0j+Y3q0n9IIn9LUgSIYOoaDKmjeBZpZJeAxqxrFkbH43vc+8 jKSIBPpaqvjBbyjZoGlKKfj/+yKT3IBnDH0y5s7IbF45DMQVplryOmHh6UicvKtfdTBj gYYrSUKnFIniEzY1KJ7HBojQtRGEyie7QqVuGFHxx50KfdGQQj9xJCmGt7PK5mnG580i 9jjpy+Nloqo4hjOFtud7nXYhmnsXmwyuayJRXzR8wucUDqoMJnm/z/FjbeUJnrKgrIqZ W6ZrlxvgqCHwkL3pHpRX5hf26OQKBmSe3ekKn5jvC3R8vGHpp/pu3bM/RZcQW99IKaF9 dKrQ== X-Gm-Message-State: AOAM532Wd4YEUe6JHSBzWBpcUVr6sjrQHJ6iG6cjczSiPL5RjRs5vkqv luMRltN7Mb2yGhJD2pqV5IMQqA== X-Received: by 2002:a1c:bdc4:: with SMTP id n187mr29267185wmf.109.1600683674831; Mon, 21 Sep 2020 03:21:14 -0700 (PDT) Received: from localhost.localdomain ([51.15.160.169]) by smtp.googlemail.com with ESMTPSA id l17sm18804629wme.11.2020.09.21.03.21.13 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 21 Sep 2020 03:21:14 -0700 (PDT) From: Corentin Labbe To: gregkh@linuxfoundation.org, laurent.pinchart@skynet.be, mchehab@kernel.org Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, Corentin Labbe Subject: [PATCH RFT/RFC 45/49] staging: media: zoran: fix use of buffer_size and sizeimage Date: Mon, 21 Sep 2020 10:20:20 +0000 Message-Id: <1600683624-5863-46-git-send-email-clabbe@baylibre.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1600683624-5863-1-git-send-email-clabbe@baylibre.com> References: <1600683624-5863-1-git-send-email-clabbe@baylibre.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org buffer_size was not set when it should be. Furthermore, use it instead of recalculate it. Signed-off-by: Corentin Labbe --- drivers/staging/media/zoran/zoran_card.c | 2 ++ drivers/staging/media/zoran/zoran_driver.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index 3bfeb1e00563..e4688891d307 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c @@ -852,6 +852,8 @@ void zoran_open_init_params(struct zoran *zr) if (i) pci_err(zr->pci_dev, "%s internal error\n", __func__); + zr->buffer_size = zr->v4l_settings.bytesperline * zr->v4l_settings.height; + clear_interrupt_counters(zr); } diff --git a/drivers/staging/media/zoran/zoran_driver.c b/drivers/staging/media/zoran/zoran_driver.c index 46bf8b32d57a..47f397ff190f 100644 --- a/drivers/staging/media/zoran/zoran_driver.c +++ b/drivers/staging/media/zoran/zoran_driver.c @@ -407,6 +407,8 @@ static int zoran_v4l_set_format(struct zoran *zr, int width, int height, bpp = (format->depth + 7) / 8; + zr->buffer_size = height * width * bpp; + /* Check against available buffer size */ if (height * width * bpp > zr->buffer_size) { pci_err(zr->pci_dev, "%s - video buffer size (%d kB) is too small\n", @@ -1090,7 +1092,7 @@ static int zoran_g_fmt_vid_out(struct file *file, void *__fh, struct v4l2_format fmt->fmt.pix.width = zr->jpg_settings.img_width / zr->jpg_settings.HorDcm; fmt->fmt.pix.height = zr->jpg_settings.img_height * 2 / (zr->jpg_settings.VerDcm * zr->jpg_settings.TmpDcm); - fmt->fmt.pix.sizeimage = zoran_v4l2_calc_bufsize(&zr->jpg_settings); + fmt->fmt.pix.sizeimage = zr->buffer_size; fmt->fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG; if (zr->jpg_settings.TmpDcm == 1) fmt->fmt.pix.field = (zr->jpg_settings.odd_even ? @@ -1114,7 +1116,7 @@ static int zoran_g_fmt_vid_cap(struct file *file, void *__fh, struct v4l2_format fmt->fmt.pix.width = zr->v4l_settings.width; fmt->fmt.pix.height = zr->v4l_settings.height; - fmt->fmt.pix.sizeimage = zr->v4l_settings.bytesperline * zr->v4l_settings.height; + fmt->fmt.pix.sizeimage = zr->buffer_size; fmt->fmt.pix.pixelformat = zr->v4l_settings.format->fourcc; fmt->fmt.pix.colorspace = zr->v4l_settings.format->colorspace; fmt->fmt.pix.bytesperline = zr->v4l_settings.bytesperline; @@ -1183,6 +1185,7 @@ static int zoran_try_fmt_vid_out(struct file *file, void *__fh, V4L2_FIELD_TOP : V4L2_FIELD_BOTTOM); fmt->fmt.pix.sizeimage = zoran_v4l2_calc_bufsize(&settings); + zr->buffer_size = fmt->fmt.pix.sizeimage; fmt->fmt.pix.bytesperline = 0; fmt->fmt.pix.colorspace = V4L2_COLORSPACE_SMPTE170M; return res; @@ -1337,7 +1340,7 @@ static int zoran_s_fmt_vid_cap(struct file *file, void *__fh, struct v4l2_format /* tell the user the results/missing stuff */ fmt->fmt.pix.bytesperline = zr->v4l_settings.bytesperline; - fmt->fmt.pix.sizeimage = zr->v4l_settings.height * zr->v4l_settings.bytesperline; + fmt->fmt.pix.sizeimage = zr->buffer_size; fmt->fmt.pix.colorspace = zr->v4l_settings.format->colorspace; if (BUZ_MAX_HEIGHT < (zr->v4l_settings.height * 2)) fmt->fmt.pix.field = V4L2_FIELD_INTERLACED; -- 2.26.2