Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1735280ybh; Thu, 23 Jul 2020 16:52:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy15mceGxjtPaiaUhduopRJVF2DjVY9D+/NnJWihgq+VRZZ/xgp39kgwTV9TWn7iKi87zE8 X-Received: by 2002:a17:906:4356:: with SMTP id z22mr6912431ejm.414.1595548339654; Thu, 23 Jul 2020 16:52:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595548339; cv=none; d=google.com; s=arc-20160816; b=SR1ewXn+jHZnbTjcQAyzSVPvLhY11mD3BbSQPWsjk2yYvm9Fc+Lq+BcDEFpy3f00ce 9slu+AHlvd2Z5vCrKCr9Iv6NABkwnFY1SclCU3p+N8x9NTTyeYsZm11At5+CGOUEIqtG 0S1rFSWSW/hXmlx0nxMwg9Z8qIA85KTeRJ/szgOhotnu9Ff6fXrZpjKAttCcnDS+Q0qF Oa3fckNGsPvj0+vVRCMaTh8ZVVW+FnoC26UbrF6SO/pcJQl/wNPi9kxmjjdLxGmFUrcu W6Fd5SJv5NlSWCNIGNt/BOHz7Lgyqf7HZTWWQI75JPiLuJEnU9LejTUdS+VYj9Z7EQ7K OHoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:dkim-signature:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from; bh=8GJbUvoTqNXQhoilqMQO06MgCPv5IgO6eahUeR7/0ig=; b=kvIO6wP7pNE6C5zDtPpwxfdV0RrZFuOdeSVpolconLmhH+STceqqBOO9f5i8/3Myqj 0xiu1EwJD8pF5OHcBU6a8N7Xu8+ElVl2b/lubkr1GT8fCqsV5s7LNgnfx8tYd0Q1ZYhl Dx+BINQZ7XEbpcL4xuHC3pLWP5UdIfM8i87oC6N5X2bxnxbq6C36YWbNHYi4fUiv6qGH 3dIBCHiU541AyKC6Ur/wMZCAXXlkLJaTpujHZen051O7OEBAe3PnA4uOeDRjPLhhygEo w2sB+36wgwQdvvHJRMb5cliD/AIcZkO0HFYNqIRUH+KYYxxEroCm1fr32vaGPxI0Cfh7 b3Fw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b="I1Togn/1"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b14si2893788edx.461.2020.07.23.16.51.57; Thu, 23 Jul 2020 16:52:19 -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=@nvidia.com header.s=n1 header.b="I1Togn/1"; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728584AbgGWXtQ (ORCPT + 99 others); Thu, 23 Jul 2020 19:49:16 -0400 Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:17654 "EHLO hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728380AbgGWXsV (ORCPT ); Thu, 23 Jul 2020 19:48:21 -0400 Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Thu, 23 Jul 2020 16:46:18 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Thu, 23 Jul 2020 16:48:20 -0700 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Thu, 23 Jul 2020 16:48:20 -0700 Received: from HQMAIL107.nvidia.com (172.20.187.13) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 23 Jul 2020 23:48:20 +0000 Received: from hqnvemgw03.nvidia.com (10.124.88.68) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 23 Jul 2020 23:48:20 +0000 Received: from skomatineni-linux.nvidia.com (Not Verified[10.2.168.236]) by hqnvemgw03.nvidia.com with Trustwave SEG (v7,5,8,10121) id ; Thu, 23 Jul 2020 16:48:20 -0700 From: Sowjanya Komatineni To: , , , , , , , CC: , , , , , , , Subject: [RFC PATCH v4 06/14] media: tegra-video: Fix channel format alignment Date: Thu, 23 Jul 2020 16:51:04 -0700 Message-ID: <1595548272-9809-7-git-send-email-skomatineni@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595548272-9809-1-git-send-email-skomatineni@nvidia.com> References: <1595548272-9809-1-git-send-email-skomatineni@nvidia.com> X-NVConfidentiality: public MIME-Version: 1.0 Content-Type: text/plain DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1595547978; bh=8GJbUvoTqNXQhoilqMQO06MgCPv5IgO6eahUeR7/0ig=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: In-Reply-To:References:X-NVConfidentiality:MIME-Version: Content-Type; b=I1Togn/1+hQHpUowTkWtC76GKzlKM4rbMYAjd9SBrfknD3w4xue2ptmitNKwQFPmt DEB7jl2eTArWMU4ph15iZleVqC9rGaFIEIjya2ZYUKL4zhgv0ghxFz3VC9x2w6bFVL 4H1AQF0JF/iSySsDfvrObAbkn+TQfMr6yRntCTIb0q4i8YGW9SZI7q62FmIWyI3McK cZCWvXRJZSUGpma8iEP/o8uLR6x5V5jjTeo/OByqMYHDBoE9aU+xHIt/s+kEw+LVzH mK7rphMRUWEaZXQWpgTz1SqwIOMI0K6pFFg4DcTPRk/nyuxsVmsRLvyTt5bhHioeKt kbXgEVtb8AooQ== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pixel format width is mistakenly aligned to surface align bytes and altering width to aligned value may force sensor mode change other than the requested one and also cause mismatch in width programmed between sensor and vi which can lead to capture errors. This patch removes width alignment and clamps width as per Tegra minimum and maximum limits. Signed-off-by: Sowjanya Komatineni --- drivers/staging/media/tegra-video/vi.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media/tegra-video/vi.c index 1b5e660..d621ebc 100644 --- a/drivers/staging/media/tegra-video/vi.c +++ b/drivers/staging/media/tegra-video/vi.c @@ -359,25 +359,15 @@ static void tegra_channel_fmt_align(struct tegra_vi_channel *chan, struct v4l2_pix_format *pix, unsigned int bpp) { - unsigned int align; - unsigned int min_width; - unsigned int max_width; - unsigned int width; unsigned int min_bpl; unsigned int max_bpl; unsigned int bpl; /* - * The transfer alignment requirements are expressed in bytes. Compute - * minimum and maximum values, clamp the requested width and convert - * it back to pixels. Use bytesperline to adjust the width. + * The transfer alignment requirements are expressed in bytes. + * Clamp the requested width and height to the limits. */ - align = lcm(SURFACE_ALIGN_BYTES, bpp); - min_width = roundup(TEGRA_MIN_WIDTH, align); - max_width = rounddown(TEGRA_MAX_WIDTH, align); - width = roundup(pix->width * bpp, align); - - pix->width = clamp(width, min_width, max_width) / bpp; + pix->width = clamp(pix->width, TEGRA_MIN_WIDTH, TEGRA_MAX_WIDTH); pix->height = clamp(pix->height, TEGRA_MIN_HEIGHT, TEGRA_MAX_HEIGHT); /* Clamp the requested bytes per line value. If the maximum bytes per -- 2.7.4