Received: by 2002:a05:7412:b130:b0:e2:908c:2ebd with SMTP id az48csp1313090rdb; Sat, 18 Nov 2023 10:56:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IG3SvD4fVmd3+VbpuXIqqdCK8Co+1ElqVJdqqkghcoYc7T+1oxoepQihkRn9J6vanD/eUgO X-Received: by 2002:a17:902:c40a:b0:1cc:3c2d:1299 with SMTP id k10-20020a170902c40a00b001cc3c2d1299mr3777843plk.37.1700333815582; Sat, 18 Nov 2023 10:56:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700333815; cv=none; d=google.com; s=arc-20160816; b=QXqu4V37v4uTtVqX4hMFH4ikaLFm6b8SvrzmNEUfk24Rg+tkazcgjQwJnNXHVBBsnz J6/wMCbMXgEGh64+OdSrbvDslENgxj28hrOayHs+hjTK9FiUqmIEAYtb0W9fJzHRF0iX tJnxsywvBDHLhTXhIfJ3+q68og5sDdHtXd+Nthv1qk1vM7uCFd337To7W/EnaoOIes0m a+Y/snCANUxE3Ws37LYKBH0hpUnKdyD6dQm0kiHX1iUAWONSIdEaJXQ7cLUcjaVpQwAy gjN9VabmIzP8zTcSoplqaZpk97+ENlWFhh9ic7nUzJG3D+XbA86gsiKfp9eHv2ZTsUDK Smvg== 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-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=Dt3K1vaS7Zz+2Gcx0kQTn+KXuoDJ0LSOMzTzd0k9SQs=; fh=wTKISkSa3tWJMfk59bnLqUnUzsXrqaYN/qJEh/R/p5g=; b=vGxfGXy7p/izs1U3DK+BKSgiyzqnka2jgxbB8ZD26ofuJPPxWNAMV8Pip3rTsYFjZ+ LetOIv5WV1GjFOf9tB5+JHrlJvobwuznDmjXIB4I8aBKadIZJv58S/ObjcA9nUgPX0tO zNJuPdH9yWXiqq6JC5eZVFcrmUaMKSRKQwHd9hRQPckF596ObwPLbdZqle97Litii/Xs 2xkVUp1wrh29XKEs9ncVzM4rcdxBgdelN0p8RSPtyW42/COfRQoWGMOOwyPolzOqBjmO TI0P9Uk33iUdS20RPTpUV0H+YVViAHY7GUbWDbTx8FF/7XTvnKp7fExEn3eouq2gBKr9 2uNQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=n5RjrxFs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [2620:137:e000::3:5]) by mx.google.com with ESMTPS id 13-20020a170902c20d00b001cc30cb3f9asi4528451pll.14.2023.11.18.10.56.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 18 Nov 2023 10:56:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) client-ip=2620:137:e000::3:5; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=n5RjrxFs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:5 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id B252C8060349; Sat, 18 Nov 2023 10:56:52 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229884AbjKRS4j (ORCPT + 99 others); Sat, 18 Nov 2023 13:56:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41612 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229478AbjKRS4i (ORCPT ); Sat, 18 Nov 2023 13:56:38 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1DE76B7; Sat, 18 Nov 2023 10:56:34 -0800 (PST) Received: from pendragon.ideasonboard.com (213-243-189-158.bb.dnainternet.fi [213.243.189.158]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B63C59B6; Sat, 18 Nov 2023 19:56:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1700333763; bh=Rh0UrSp9L3/GLQFW+ybv9m3qnxHHW+PS0Ir9n1DdEh4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=n5RjrxFsWKRcdF9+XfCR69MdzRUfTdJyxcoyFFQWYVem/kC3HwDTik3uNsGVkhPKp owyrjal4MtJaFo4R0YTtPO/PpLkWvGNRO9PSuVRzNLAhGSfId5oTBFgAoJNzWCkmv5 gE1FyIWL3Gq7n9cJi5mMKI6b5qGxUuf+/YTg+25A= Date: Sat, 18 Nov 2023 20:56:38 +0200 From: Laurent Pinchart To: Stefan Wahren Cc: Umang Jain , linux-media@vger.kernel.org, kernel-list@raspberrypi.com, linux-kernel@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-staging@lists.linux.dev, Dave Stevenson , Kieran Bingham , "Ricardo B . Marliere" , Dan Carpenter , Naushir Patuck Subject: Re: [PATCH v2 10/15] staging: vc04_services: bcm2835-isp: Add a more complex ISP processing component Message-ID: <20231118185638.GJ20846@pendragon.ideasonboard.com> References: <20231109210309.638594-1-umang.jain@ideasonboard.com> <20231109210309.638594-11-umang.jain@ideasonboard.com> <414ba478-3a96-48e6-a3a7-88c920a20960@gmx.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <414ba478-3a96-48e6-a3a7-88c920a20960@gmx.net> X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Sat, 18 Nov 2023 10:56:52 -0800 (PST) Hi Stefan, On Sat, Nov 18, 2023 at 03:53:41PM +0100, Stefan Wahren wrote: > Am 09.11.23 um 22:03 schrieb Umang Jain: > > From: Naushir Patuck > > > > Driver for the BCM2835 ISP hardware block. This driver uses the MMAL > > component to program the ISP hardware through the VC firmware. > > > > The ISP component can produce two video stream outputs, and Bayer > > image statistics. This can't be encompassed in a simple V4L2 > > M2M device, so create a new device that registers 4 video nodes. > > sorry, i don't have much knowledge about V4L2, so someone else should > review this in depth. > > But from my PoV, patch 11, 12, 13 and 15 should be squash into this one. For 11 and 12, I agree. 13 is a bit of a workaround for a missing feature in V4L2, and while it's acceptable today, having it as a separate commit may make it easier to revert it in the future when the V4L2 API will be extended (that may or may not happen, and I wouldn't count on it happening quickly in any case). I would keep patch 15 separate as it's not part of this driver. > > Signed-off-by: Naushir Patuck > > Signed-off-by: Umang Jain > > --- > > MAINTAINERS | 9 + > > drivers/staging/vc04_services/Kconfig | 2 + > > drivers/staging/vc04_services/Makefile | 1 + > > .../staging/vc04_services/bcm2835-isp/Kconfig | 14 + > > .../vc04_services/bcm2835-isp/Makefile | 4 + > > .../bcm2835-isp/bcm2835-isp-ctrls.h | 72 + > > .../bcm2835-isp/bcm2835-isp-fmts.h | 482 +++++ > > .../bcm2835-isp/bcm2835-v4l2-isp.c | 1712 +++++++++++++++++ > > .../vc04_services/vchiq-mmal/mmal-encodings.h | 4 + > > .../vchiq-mmal/mmal-parameters.h | 165 +- > > include/uapi/linux/bcm2835-isp.h | 27 + > > 11 files changed, 2491 insertions(+), 1 deletion(-) > > create mode 100644 drivers/staging/vc04_services/bcm2835-isp/Kconfig > > create mode 100644 drivers/staging/vc04_services/bcm2835-isp/Makefile > > create mode 100644 drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-ctrls.h > > create mode 100644 drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h > > create mode 100644 drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 0748cc15588c..8670a8d95400 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -3976,6 +3976,15 @@ F: Documentation/devicetree/bindings/mips/brcm/ > > F: arch/mips/bcm47xx/* > > F: arch/mips/include/asm/mach-bcm47xx/* > > > > +BROADCOM BCM2835 ISP DRIVER > > +M: Raspberry Pi Kernel Maintenance > > +L: linux-media@vger.kernel.org > > +S: Maintained > > +F: Documentation/media/uapi/v4l/pixfmt-meta-bcm2835-isp-stats.rst > > +F: Documentation/media/v4l-drivers/bcm2835-isp.rst > > +F: drivers/staging/vc04_services/bcm2835-isp > > +F: include/uapi/linux/bcm2835-isp.h > > + > > BROADCOM BCM4908 ETHERNET DRIVER > > M: Rafał Miłecki > > R: Broadcom internal kernel review list > > diff --git a/drivers/staging/vc04_services/Kconfig b/drivers/staging/vc04_services/Kconfig > > index 6c0e77d64376..e71e5a8b820a 100644 > > --- a/drivers/staging/vc04_services/Kconfig > > +++ b/drivers/staging/vc04_services/Kconfig > > @@ -44,6 +44,8 @@ source "drivers/staging/vc04_services/bcm2835-audio/Kconfig" > > > > source "drivers/staging/vc04_services/bcm2835-camera/Kconfig" > > > > +source "drivers/staging/vc04_services/bcm2835-isp/Kconfig" > > + > > source "drivers/staging/vc04_services/vchiq-mmal/Kconfig" > > > > source "drivers/staging/vc04_services/vc-sm-cma/Kconfig" > > diff --git a/drivers/staging/vc04_services/Makefile b/drivers/staging/vc04_services/Makefile > > index 1f61a263f22d..2cebf92525a0 100644 > > --- a/drivers/staging/vc04_services/Makefile > > +++ b/drivers/staging/vc04_services/Makefile > > @@ -16,3 +16,4 @@ obj-$(CONFIG_SND_BCM2835) += bcm2835-audio/ > > obj-$(CONFIG_VIDEO_BCM2835) += bcm2835-camera/ > > obj-$(CONFIG_BCM2835_VCHIQ_MMAL) += vchiq-mmal/ > > obj-$(CONFIG_BCM_VC_SM_CMA) += vc-sm-cma/ > > +obj-$(CONFIG_VIDEO_ISP_BCM2835) += bcm2835-isp/ > > diff --git a/drivers/staging/vc04_services/bcm2835-isp/Kconfig b/drivers/staging/vc04_services/bcm2835-isp/Kconfig > > new file mode 100644 > > index 000000000000..6222799ebe16 > > --- /dev/null > > +++ b/drivers/staging/vc04_services/bcm2835-isp/Kconfig > > @@ -0,0 +1,14 @@ > > +config VIDEO_ISP_BCM2835 > > + tristate "BCM2835 ISP support" > > + depends on MEDIA_SUPPORT > > + depends on VIDEO_DEV && (ARCH_BCM2835 || COMPILE_TEST) > > + depends on MEDIA_CONTROLLER > > + select BCM2835_VCHIQ_MMAL > > + select VIDEOBUF2_DMA_CONTIG > > + help > > + This is the V4L2 driver for the Broadcom BCM2835 ISP hardware. > > I think the description is not helpful for all users. Not everybody > knows what ISP is for. Please describe it more for an end user. > > > + This operates over the VCHIQ interface to a service running on > > + VideoCore. > > + > > + To compile this driver as a module, choose M here: the module > > + will be called bcm2835-isp. -- Regards, Laurent Pinchart