Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp3352369ybb; Tue, 31 Mar 2020 03:34:41 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv4EYJDqRIGdFLl93t8eVUIcHYdSrvhy4b+lC+D7U+JQIx/qb2CSiek+0MbqwPSLzCn4eka X-Received: by 2002:aca:f4d0:: with SMTP id s199mr1595830oih.109.1585650881100; Tue, 31 Mar 2020 03:34:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585650881; cv=none; d=google.com; s=arc-20160816; b=GlQETjFN+UJzpcax4IWysifsQ8A+mJmYMt4lHGp6JxCNOzXheNWHlCXJ6FLgOWvq8u f9S408ZLiF1hNoeQarNefmkT9XrnMZ/v6AsVzs1PBWRsGL/hQMNOJqPO56fWiTfgVGbj sMVCwhg2Am3JruEJdREAzAABFmgtV8BKKhxaFwHJhdzqlPWyK3yy36Wf2q/W+otww+QN qumpJUUAEYF+g+cnLz80NhU9X5LQg3S3hPrEk0CcmoCZHnp5cZnNDWhVyu+O+MGlnURq dGh1gTtBJQFqnSIlj4eUGcDl6Pn5715Ktc5Dp/ACKpeOq6mD3vvHADAKekV/ULIgYYnu Borg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=m4reT4IgnSowyOS0bw8lGM2aqRokJJTy3taTUnrUoAQ=; b=VDRBVwo4mXRBhCZBkNbwnK0xeCXQUQR88MP4oJgz7tSUrSnnar0giBXdqp+yPn/oVM Z2tyMvAtzGFzuubTDxfNriFuyxdLGEstuFr+rH6zdnn5babYf3AyxTWBD/iKI87xHiry CfijPbL1G3+p5xB+917eFQx6OI98VXkhuUWNIrTvwFS4UvLvTXJ6cQDLWBm0NpPjdBCP yrEbl8K7sR+dFn7sDercc1c9MxSRflhlkq/MOVIROX13JO9yNZSLhoTBOxvOvNfIhFcD ZCZKos9JrCvoSKCc4GMZiv4qowy/Qf1wz/M6YGX7tfV0zXwUn/mrBw8RNebSB1DvwkSy 3e+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j15si7035358oos.59.2020.03.31.03.34.29; Tue, 31 Mar 2020 03:34:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730300AbgCaKc4 (ORCPT + 99 others); Tue, 31 Mar 2020 06:32:56 -0400 Received: from retiisi.org.uk ([95.216.213.190]:48102 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729925AbgCaKcz (ORCPT ); Tue, 31 Mar 2020 06:32:55 -0400 Received: from valkosipuli.localdomain (valkosipuli.retiisi.org.uk [IPv6:2a01:4f9:c010:4572::80:2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 47818634C87; Tue, 31 Mar 2020 13:32:16 +0300 (EEST) Received: from sailus by valkosipuli.localdomain with local (Exim 4.92) (envelope-from ) id 1jJEBr-0001Gy-Bd; Tue, 31 Mar 2020 13:32:15 +0300 Date: Tue, 31 Mar 2020 13:32:15 +0300 From: Sakari Ailus To: Hans Verkuil Cc: Sowjanya Komatineni , thierry.reding@gmail.com, jonathanh@nvidia.com, frankc@nvidia.com, helen.koike@collabora.com, digetx@gmail.com, sboyd@kernel.org, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH v5 6/9] media: tegra: Add Tegra210 Video input driver Message-ID: <20200331103215.GI2394@valkosipuli.retiisi.org.uk> References: <1584985955-19101-1-git-send-email-skomatineni@nvidia.com> <1584985955-19101-7-git-send-email-skomatineni@nvidia.com> <20200325110358.GB853@valkosipuli.retiisi.org.uk> <8bc44545-7d1e-0e37-db27-d37784679574@xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8bc44545-7d1e-0e37-db27-d37784679574@xs4all.nl> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Hans, On Mon, Mar 30, 2020 at 12:59:15PM +0200, Hans Verkuil wrote: > On 3/25/20 12:03 PM, Sakari Ailus wrote: > > Hi Sowjanya, > > > > Thanks for the patchset. > > > > On Mon, Mar 23, 2020 at 10:52:32AM -0700, Sowjanya Komatineni wrote: > >> Tegra210 contains a powerful Video Input (VI) hardware controller > >> which can support up to 6 MIPI CSI camera sensors. > >> > >> Each Tegra CSI port can be one-to-one mapped to VI channel and can > >> capture from an external camera sensor connected to CSI or from > >> built-in test pattern generator. > >> > >> Tegra210 supports built-in test pattern generator from CSI to VI. > >> > >> This patch adds a V4L2 media controller and capture driver support > >> for Tegra210 built-in CSI to VI test pattern generator. > >> > >> Signed-off-by: Sowjanya Komatineni > >> --- > >> drivers/staging/media/Kconfig | 2 + > >> drivers/staging/media/Makefile | 1 + > >> drivers/staging/media/tegra/Kconfig | 10 + > >> drivers/staging/media/tegra/Makefile | 8 + > >> drivers/staging/media/tegra/TODO | 10 + > >> drivers/staging/media/tegra/tegra-common.h | 263 +++++++ > >> drivers/staging/media/tegra/tegra-csi.c | 522 ++++++++++++++ > >> drivers/staging/media/tegra/tegra-csi.h | 118 ++++ > >> drivers/staging/media/tegra/tegra-vi.c | 1058 ++++++++++++++++++++++++++++ > >> drivers/staging/media/tegra/tegra-vi.h | 83 +++ > >> drivers/staging/media/tegra/tegra-video.c | 129 ++++ > >> drivers/staging/media/tegra/tegra-video.h | 32 + > >> drivers/staging/media/tegra/tegra210.c | 754 ++++++++++++++++++++ > >> drivers/staging/media/tegra/tegra210.h | 192 +++++ > > > > Why staging? Are there reasons not to aim this to the kernel proper right > > away? If you only support TPG, the driver may not have too many (if any) > > real users anyway. > > > >> 14 files changed, 3182 insertions(+) > >> create mode 100644 drivers/staging/media/tegra/Kconfig > >> create mode 100644 drivers/staging/media/tegra/Makefile > >> create mode 100644 drivers/staging/media/tegra/TODO > >> create mode 100644 drivers/staging/media/tegra/tegra-common.h > >> create mode 100644 drivers/staging/media/tegra/tegra-csi.c > >> create mode 100644 drivers/staging/media/tegra/tegra-csi.h > >> create mode 100644 drivers/staging/media/tegra/tegra-vi.c > >> create mode 100644 drivers/staging/media/tegra/tegra-vi.h > >> create mode 100644 drivers/staging/media/tegra/tegra-video.c > >> create mode 100644 drivers/staging/media/tegra/tegra-video.h > >> create mode 100644 drivers/staging/media/tegra/tegra210.c > >> create mode 100644 drivers/staging/media/tegra/tegra210.h > >> > > > > >> +static int tegra_channel_g_input(struct file *file, void *priv, > >> + unsigned int *i) > >> +{ > >> + *i = 0; > >> + return 0; > >> +} > >> + > >> +static int tegra_channel_s_input(struct file *file, void *priv, > >> + unsigned int input) > >> +{ > >> + if (input > 0) > >> + return -EINVAL; > >> + > >> + return 0; > >> +} > > > > Please see patchset on topic "v4l2-dev/ioctl: Add V4L2_CAP_IO_MC" on > > linux-media; it's relevant here, too. > > No, it isn't. The pipeline is controlled by the driver, not by userspace. > This is a regular video capture driver, not an ISP driver. I don't think that really makes a difference, whether a device is an ISP or not, but instead what does is whether there is something to control in its pipeline that cannot be generally done through the regular V4L2 interface. Even plain CSI-2 receiver drivers should be media device centric these days as doing otherwise excludes using a range of sensor drivers with them, including any possible future support for e.g. sensor embedded data. -- Kind regards, Sakari Ailus