linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sowjanya Komatineni <skomatineni@nvidia.com>
To: <skomatineni@nvidia.com>, <thierry.reding@gmail.com>,
	<jonathanh@nvidia.com>, <frankc@nvidia.com>, <hverkuil@xs4all.nl>,
	<sakari.ailus@iki.fi>, <robh+dt@kernel.org>,
	<helen.koike@collabora.com>
Cc: <digetx@gmail.com>, <sboyd@kernel.org>,
	<gregkh@linuxfoundation.org>, <linux-media@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-i2c@vger.kernel.org>
Subject: [RFC PATCH v1 07/18] media: tegra-video: Fix channel format alignment
Date: Tue, 9 Jun 2020 23:02:29 -0700	[thread overview]
Message-ID: <1591768960-31648-8-git-send-email-skomatineni@nvidia.com> (raw)
In-Reply-To: <1591768960-31648-1-git-send-email-skomatineni@nvidia.com>

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 <skomatineni@nvidia.com>
---
 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


  parent reply	other threads:[~2020-06-10  6:03 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-10  6:02 [RFC PATCH v1 00/18] Support for Tegra video capture from external sensor Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 01/18] dt-bindings: i2c: tegra: Document Tegra210 VI I2C clocks and power-domains Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 02/18] arm64: tegra: Add missing clocks and power-domains to Tegra210 VI I2C Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 03/18] i2c: tegra: Don't mark VI I2C as IRQ safe runtime PM Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 04/18] i2c: tegra: Fix the error path in tegra_i2c_runtime_resume Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 05/18] i2c: tegra: Fix runtime resume to re-init VI I2C Sowjanya Komatineni
2020-06-10 13:14   ` Dmitry Osipenko
2020-06-10 16:58     ` Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 06/18] i2c: tegra: Avoid tegra_i2c_init_dma() for Tegra210 vi i2c Sowjanya Komatineni
2020-06-10  6:02 ` Sowjanya Komatineni [this message]
2020-06-10  6:02 ` [RFC PATCH v1 08/18] media: tegra-video: Enable TPG based on kernel config Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 09/18] media: tegra-video: Update format lookup to offset based Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 10/18] dt-bindings: tegra: Document VI and CSI port nodes Sowjanya Komatineni
2020-06-10 11:23   ` Sakari Ailus
2020-06-10 15:15     ` Sowjanya Komatineni
2020-06-10 21:11       ` Sowjanya Komatineni
2020-06-17 22:14   ` Rob Herring
2020-06-18 10:50     ` Thierry Reding
2020-06-10  6:02 ` [RFC PATCH v1 11/18] media: tegra-video: Add support for external sensor capture Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 12/18] media: tegra-video: Add support for selection ioctl ops Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 13/18] gpu: host1x: mipi: Add of_tegra_mipi_request() API Sowjanya Komatineni
2020-06-10 13:33   ` Dmitry Osipenko
2020-06-10 17:00     ` Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 14/18] gpu: host1x: mipi: Split tegra_mipi_calibrate and tegra_mipi_wait Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 15/18] media: tegra-video: Add CSI MIPI pads calibration Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 16/18] media: tegra-video: Compute settle times based on the clock rate Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 17/18] arm64: tegra: jetson-tx1: Add camera supplies Sowjanya Komatineni
2020-06-10  6:02 ` [RFC PATCH v1 18/18] arm64: tegra: Enable Tegra VI CSI support for Jetson Nano Sowjanya Komatineni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1591768960-31648-8-git-send-email-skomatineni@nvidia.com \
    --to=skomatineni@nvidia.com \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=frankc@nvidia.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=helen.koike@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jonathanh@nvidia.com \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=sboyd@kernel.org \
    --cc=thierry.reding@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).