Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp6623ybg; Mon, 27 Jul 2020 13:55:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxZ526kS9ZwbluXAmXQjEEPh1bX4jbYKGPLzAkBxgfhA9AhojV+OgTSN2KHvWFiEDRBeTHh X-Received: by 2002:aa7:c3d7:: with SMTP id l23mr22764308edr.18.1595883350652; Mon, 27 Jul 2020 13:55:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595883350; cv=none; d=google.com; s=arc-20160816; b=rSMPvmTO46quz+T87jdkJ4suK5qVo2KoOd5M0P1jn9Qh83+T1M2Hcd7oG0JCEebPQI rrg9xHcItt+NC2Fqtm2s5dcexXoFCebNNn9BCI0oQb5hPdUJUBURYS+5oYOdInkUjIiI SqmKpKcmKrwkZtGQdBMNZ5IoUFpzUbwObHqOPYmVYM87sEE0fbccXDSpcRzqECqv5Njo /O1xujqFUgbWD5n6XWxWveT6IZ0ZSS1HVHxH601/cNkKQKaaEZThG7edLl6D0EeGltXs DAOlTf14MWi1I/g819x1i4bWmW5hjAPyPPxVbcNtmZcFdW8/1YjdV8y+KQqNw67U7BBG Gq1A== 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=BVYqQIV3KD5hM5Ug5At1XvwAiNVSN+oopIx1vXZnCCZNFZcrUqgb7EnlilekQIiaOM W+HFmikJgDd+eRBjTPUVu+ShMbmHzne+8I7QkfsjaGTqgMqufb3nwamC4WmO9QttdSqf l7LyWzhlm6+6OqrmuaB2G0WztjVO4VFxOAIRA0mkP/lFMfIohU5X5WnXoRXI0E1c29Tj Bla8tXHk0El+42hRya5ZZKGivzsC/obvofbR6UU3lNKJ30ECpxDMnWmYSkqk/zWJ1vBG toTnNMS3+i6LKe/ZE6bU27k2zlS3p5icDA7Fx4cmVyIYJ7rGLE2lIBrG6z1S1grI5HHX zubQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=I5YHLPDx; 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 f25si5384918eje.338.2020.07.27.13.55.28; Mon, 27 Jul 2020 13:55:50 -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=I5YHLPDx; 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 S1728097AbgG0Uws (ORCPT + 99 others); Mon, 27 Jul 2020 16:52:48 -0400 Received: from hqnvemgate25.nvidia.com ([216.228.121.64]:16193 "EHLO hqnvemgate25.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727858AbgG0Uvz (ORCPT ); Mon, 27 Jul 2020 16:51:55 -0400 Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 27 Jul 2020 13:51:10 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Mon, 27 Jul 2020 13:51:54 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Mon, 27 Jul 2020 13:51:54 -0700 Received: from HQMAIL105.nvidia.com (172.20.187.12) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 27 Jul 2020 20:51:54 +0000 Received: from hqnvemgw03.nvidia.com (10.124.88.68) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 27 Jul 2020 20:51:54 +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 ; Mon, 27 Jul 2020 13:51:54 -0700 From: Sowjanya Komatineni To: , , , , , , , CC: , , , , , , , Subject: [RFC PATCH v5 06/14] media: tegra-video: Fix channel format alignment Date: Mon, 27 Jul 2020 13:57:24 -0700 Message-ID: <1595883452-17343-7-git-send-email-skomatineni@nvidia.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1595883452-17343-1-git-send-email-skomatineni@nvidia.com> References: <1595883452-17343-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=1595883070; 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=I5YHLPDx8zo3LY1iGFi+lsO7PN80Kne66p5USHsAt5pkt3f5FO8RAoEkPjDUS1QQX gMQqZfQENPh2SkDt8i62wrtA27SWiDT0z+soOt82kezRRMxYZToB8QMm5IOUCWA29N hgJ8zV/OeCqDa5dXs6AtVlxL7aHcHWLsbm8YA3T09Ocu+ML2gljedksdL6fkpK07U8 cDC6qdOB9N2vQP1ClvWBLatov/10TkJ3IWnFMosqJjuYg6bgjBdW3xfie/syhyXH+k gWzF2WnBri9JoWR18AlOOw1e5h66dhzxn3b+8XpfiOFyRmBldHHPWX90ZfbjKbOD0g 608kYLCLIevcw== 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