Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp570084pxb; Tue, 14 Sep 2021 04:12:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+6N52smF32SiUXdhICWwfZyKBe07MxeahvQoXe25Nu5blLquYilaV81DzDr8RFG7x9BrI X-Received: by 2002:a6b:610e:: with SMTP id v14mr12837932iob.70.1631617964384; Tue, 14 Sep 2021 04:12:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631617964; cv=none; d=google.com; s=arc-20160816; b=ooj/O9oisc2DQQlwP2pZwmvoyQhPY6k5sSP9340TZPIVLzeu44sILYxhgfJSfFGdUB 0tbQCKpi7vBHqFM5Q3Am6oncoEA/lDz18jWcV7OpzDRN/2KAK7PnYLO0v8nP1xbk2uQI NRyJY2oEP/7Ra1nOlgsKe3Fzt69uBaMGDCZlxgpA9cQ6exqt+FmRW3ErsVxYGdcPwvm0 07vuaZ5KFo9HeCeV35yhowpf++U/COAPJwLRsxjm/b1kxINjI3DPbbHNMNj2z9V2OzmU nKjOXKuL0hLHJGJGSxP9OIvOFvNZl9GAfDpnrmM9LogkYvsj1tviPxC1k3ReK0dO5F3X gBNw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=079RFsdr/+GRj2Gpzz3YpdWVS2j7n0afJlYnl06EMpQ=; b=opS3Uy/mU23N3QkJR7wR15TFQzWhnd7hYzaejQSN2bIwVELyYeWGrSuL8UVFydCISP H/ssyDf7Skqx+kI+vNjcF8PT66gt1C435ylW86l2wouO1ukDqcu/UU+ATpTpqsCd3NbA EGSb3kfznFq245Wt8c/sDF6FsJzbY2QBmEEUeCFUX8m0EUJOi5P5j18A/zbPTNVlBcho wbB/EMHyBzGgD1qJLkdGdAdYggzTgxF0tXEVAJxs8Svk9EbzcQ0zks19iEprj546Dkdi vZfQorbE+gb0fla9YBzejUY6ZZsFKXwS9SAmS/iD81ROql0iqcuVUbFNf62wuf3mGQ+h pxqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=ir49+m10; 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 w5si9668597ilc.127.2021.09.14.04.12.31; Tue, 14 Sep 2021 04:12:44 -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 (test mode) header.i=@ideasonboard.com header.s=mail header.b=ir49+m10; 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 S231886AbhINLND (ORCPT + 99 others); Tue, 14 Sep 2021 07:13:03 -0400 Received: from perceval.ideasonboard.com ([213.167.242.64]:53008 "EHLO perceval.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231691AbhINLND (ORCPT ); Tue, 14 Sep 2021 07:13:03 -0400 Received: from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id E3C042A5; Tue, 14 Sep 2021 13:11:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1631617904; bh=UVN9Czt4d3zRJH4FreSTQyVzvDmfnJhgwAWZq7jgpak=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ir49+m105z1jz+jtGji8tsAqWQZ8kgxHOFeV7vW3ytIHrvOU2IzjHw58VO4/UNxu+ lIOsD8oGDBYhTPM01llE3XGSal0gIdRzQ6loCzgMS4e37f+38xDpUvlMovjblgVpDW A3sCb3MMKNHeEYv1m+wh50lSeuiIqwZI6gF1G9ME= Date: Tue, 14 Sep 2021 14:11:18 +0300 From: Laurent Pinchart To: Paul Kocialkowski Cc: Maxime Ripard , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-clk@vger.kernel.org, linux-staging@lists.linux.dev, Yong Deng , Mauro Carvalho Chehab , Rob Herring , Sakari Ailus , Hans Verkuil , Chen-Yu Tsai , Jernej Skrabec , Greg Kroah-Hartman , Helen Koike , Thomas Petazzoni Subject: Re: [PATCH 20/22] staging: media: Add support for the Allwinner A31 ISP Message-ID: References: <20210910184147.336618-1-paul.kocialkowski@bootlin.com> <20210910184147.336618-21-paul.kocialkowski@bootlin.com> <20210913083135.v7q7joux2xckat62@gilmour> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Paul, On Tue, Sep 14, 2021 at 09:50:41AM +0200, Paul Kocialkowski wrote: > On Mon 13 Sep 21, 10:31, Maxime Ripard wrote: > > On Fri, Sep 10, 2021 at 08:41:45PM +0200, Paul Kocialkowski wrote: > > > Some Allwinner platforms come with an Image Signal Processor, which > > > supports various features in order to enhance and transform data > > > received by image sensors into good-looking pictures. In most cases, > > > the data is raw bayer, which gets internally converted to RGB and > > > finally YUV, which is what the hardware produces. > > > > > > This driver supports ISPs that are similar to the A31 ISP, which was > > > the first standalone ISP found in Allwinner platforms. Simpler ISP > > > blocks were found in the A10 and A20, where they are tied to a CSI > > > controller. Newer generations of Allwinner SoCs (starting with the > > > H6, H616, etc) come with a new camera subsystem and revised ISP. > > > Even though these previous and next-generation ISPs are somewhat > > > similar to the A31 ISP, they have enough significant differences to > > > be out of the scope of this driver. > > > > > > While the ISP supports many features, including 3A and many > > > enhancement blocks, this implementation is limited to the following: > > > - V3s (V3/S3) platform support; > > > - Bayer media bus formats as input; > > > - Semi-planar YUV (NV12/NV21) as output; > > > - Debayering with per-component gain and offset configuration; > > > - 2D noise filtering with configurable coefficients. > > > > > > Since many features are missing from the associated uAPI, the driver > > > is aimed to integrate staging until all features are properly > > > described. > > > > We can add new features/interfaces to a !staging driver. Why do you > > think staging is required? > > This is true for the driver but not so much for the uAPI, so it seems that > the uAPI must be added to staging in some way. Then I'm not sure it makes sense > to have a !staging driver that depends on a staging uAPI. > > Besides that, I added it to staging because that's the process that was > followed by rkisp1, which is a very similar case. Maxime is right in the sense that uAPI can always be extended, but it has to be done in a backward-compatible manner, and staging is sometimes considered as not being covered by the ABI stability requirements of the kernel. Not everybody agrees on this, but there are clear cases where userspace really can't expect staging ABIs to be stable (for instance when the driver doesn't even compile). I think there's value in having the driver in staging to facilitate development until we consider the ABI stable, but I'm not entirely sure if there should be another step taken to mark this ABI is not being ready yet. > > > On the technical side, it uses the v4l2 and media controller APIs, > > > with a video node for capture, a processor subdev and a video node > > > for parameters submission. A specific uAPI structure and associated > > > v4l2 meta format are used to configure parameters of the supported > > > modules. > > > > This meta format needs to be documented > > You're right, there should probably be a pixfmt-meta-sun6i-isp.rst > documentation file. I guess it should live along in the staging driver > directory for now and be destaged later. Can documentation in staging be compiled ? If not I think it can go to Documentation/ -- Regards, Laurent Pinchart