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 <naush@xxxxxxxxxxxxxxx> > > > > 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 <naush@xxxxxxxxxxxxxxx> > > Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx> > > --- > > 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 <kernel-list@xxxxxxxxxxxxxxx> > > +L: linux-media@xxxxxxxxxxxxxxx > > +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 <rafal@xxxxxxxxxx> > > R: Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx> > > 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