2023-11-15 20:01:52

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 00/15] staging: vc04_services: bcm2835-isp support

Hello,

On Thu, Nov 09, 2023 at 04:02:52PM -0500, Umang Jain wrote:
> This series aims to upport bcm2835-isp from the RPi kernel.
> It is developed on top of staging-next which comprises many
> VC04 changes for it's de-staging. Hence, the merge of this
> driver is targeted when VC04 is de-staged completely (which I
> have been pushing), but it can be helped getting reviewed meanwhile.
> Hence, the reason for posting the series.

Related question, what do people think about dropping the legacy
firmware-based bcm2385-camera driver once this gets merged ?
firmware-based camera operation is deprecated by Raspberry Pi, and
doesn't work on the Pi 5.

> Patch (01-02)/15 adds a new driver named vc-sm-cma to handle memory sharing
> with the VC4 VPU.
>
> Patch 03/15 adds a small extension to videobuf2 to allow exporting as a
> dma_buf instead of a file-descriptor.
>
> Patch (04-05)/15 adds a couple of improvements/support for
> bcm2835-isp(event callback and zero-copy) to vchiq-mmal.
>
> Patch (06-10)/15 adds the core bcm2835-isp driver along with headers
> and format defintions. 09/15 is a standalone patch which can be merged
> independently I believe.
>
> Patch (11-12)/15 deals with the colorspace support.
>
> Patch 13/15 allows multiple instances of the ISP.
>
> Patch 14/15 adds a admin-guide document on bcm2835-isp.
>
> Patch 15/15 deals with driver registeration.
>
> Dave Stevenson (6):
> staging: vc04_services: Add new vc-sm-cma driver
> media: videobuf2: Allow exporting of a struct dmabuf
> staging: mmal-vchiq: Add support for event callbacks
> staging: mmal-vchiq: Use vc-sm-cma to support zero copy
> staging: mmal_vchiq: Add image formats to be used by bcm2835-isp
> uapi: bcm2835-isp: Add bcm2835-isp uapi header file
>
> David Plowman (2):
> vc04_services: bcm2835-isp: Allow formats with different colour spaces
> vc04_services: bcm2835-isp: Permit all sRGB colour spaces on ISP
> outputs
>
> Naushir Patuck (4):
> media: uapi: v4l2-core: Add ISP statistics output V4L2 fourcc type
> staging: vc04_services: bcm2835-isp: Add a more complex ISP processing
> component
> staging: vc04_services: bcm2835_isp: Allow multiple users
> docs: admin-guide: media: bcm2835-isp: Add documentation for
> bcm2835-isp
>
> Umang Jain (3):
> staging: vc04_services: vchiq_arm: Register vcsm-cma driver
> staging: vc04_services: Add helpers for vchiq driver data
> staging: vc04_services: vchiq: Register bcm2835-isp
>
> .../admin-guide/media/bcm2835-isp.rst | 127 ++
> .../userspace-api/media/drivers/index.rst | 1 +
> .../userspace-api/media/v4l/meta-formats.rst | 1 +
> .../v4l/pixfmt-meta-bcm2835-isp-stats.rst | 32 +
> MAINTAINERS | 9 +
> .../media/common/videobuf2/videobuf2-core.c | 36 +-
> drivers/media/v4l2-core/v4l2-ioctl.c | 1 +
> drivers/staging/vc04_services/Kconfig | 4 +
> drivers/staging/vc04_services/Makefile | 3 +-
> .../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 | 559 +++++
> .../bcm2835-isp/bcm2835-v4l2-isp.c | 1822 +++++++++++++++++
> .../interface/vchiq_arm/vchiq_arm.c | 6 +
> .../interface/vchiq_arm/vchiq_bus.h | 10 +
> .../staging/vc04_services/vc-sm-cma/Kconfig | 10 +
> .../staging/vc04_services/vc-sm-cma/Makefile | 4 +
> .../staging/vc04_services/vc-sm-cma/vc_sm.c | 817 ++++++++
> .../staging/vc04_services/vc-sm-cma/vc_sm.h | 54 +
> .../vc04_services/vc-sm-cma/vc_sm_cma_vchi.c | 507 +++++
> .../vc04_services/vc-sm-cma/vc_sm_cma_vchi.h | 63 +
> .../vc04_services/vc-sm-cma/vc_sm_defs.h | 187 ++
> .../vc04_services/vc-sm-cma/vc_sm_knl.h | 28 +
> .../staging/vc04_services/vchiq-mmal/Kconfig | 1 +
> .../vc04_services/vchiq-mmal/mmal-common.h | 5 +
> .../vc04_services/vchiq-mmal/mmal-encodings.h | 66 +
> .../vc04_services/vchiq-mmal/mmal-msg.h | 35 +
> .../vchiq-mmal/mmal-parameters.h | 165 +-
> .../vc04_services/vchiq-mmal/mmal-vchiq.c | 253 ++-
> .../vc04_services/vchiq-mmal/mmal-vchiq.h | 5 +
> include/media/videobuf2-core.h | 15 +
> include/uapi/linux/bcm2835-isp.h | 347 ++++
> include/uapi/linux/v4l2-controls.h | 5 +
> include/uapi/linux/videodev2.h | 1 +
> 35 files changed, 5235 insertions(+), 34 deletions(-)
> create mode 100644 Documentation/admin-guide/media/bcm2835-isp.rst
> create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-meta-bcm2835-isp-stats.rst
> 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
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/Kconfig
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/Makefile
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm.h
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm_cma_vchi.c
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm_cma_vchi.h
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm_defs.h
> create mode 100644 drivers/staging/vc04_services/vc-sm-cma/vc_sm_knl.h
> create mode 100644 include/uapi/linux/bcm2835-isp.h

--
Regards,

Laurent Pinchart


2023-11-15 20:59:27

by Stefan Wahren

[permalink] [raw]
Subject: Re: [PATCH v2 00/15] staging: vc04_services: bcm2835-isp support

Hi Laurent,

[add Ivan & Peter]

Am 15.11.23 um 20:59 schrieb Laurent Pinchart:
> Hello,
>
> On Thu, Nov 09, 2023 at 04:02:52PM -0500, Umang Jain wrote:
>> This series aims to upport bcm2835-isp from the RPi kernel.
>> It is developed on top of staging-next which comprises many
>> VC04 changes for it's de-staging. Hence, the merge of this
>> driver is targeted when VC04 is de-staged completely (which I
>> have been pushing), but it can be helped getting reviewed meanwhile.
>> Hence, the reason for posting the series.
>
> Related question, what do people think about dropping the legacy
> firmware-based bcm2385-camera driver once this gets merged ?
> firmware-based camera operation is deprecated by Raspberry Pi, and
> doesn't work on the Pi 5
i don't remember exactly, but wasn't the bcm2835-camera required for Pi
Camera V1.3?

At the end cannot speak for the users. AFAIK OpenSuSE and Fedora use the
driver.

2023-11-16 00:50:33

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v2 00/15] staging: vc04_services: bcm2835-isp support

On Wed, Nov 15, 2023 at 09:57:52PM +0100, Stefan Wahren wrote:
> Hi Laurent,
>
> [add Ivan & Peter]
>
> Am 15.11.23 um 20:59 schrieb Laurent Pinchart:
> > Hello,
> >
> > On Thu, Nov 09, 2023 at 04:02:52PM -0500, Umang Jain wrote:
> >> This series aims to upport bcm2835-isp from the RPi kernel.
> >> It is developed on top of staging-next which comprises many
> >> VC04 changes for it's de-staging. Hence, the merge of this
> >> driver is targeted when VC04 is de-staged completely (which I
> >> have been pushing), but it can be helped getting reviewed meanwhile.
> >> Hence, the reason for posting the series.
> >
> > Related question, what do people think about dropping the legacy
> > firmware-based bcm2385-camera driver once this gets merged ?
> > firmware-based camera operation is deprecated by Raspberry Pi, and
> > doesn't work on the Pi 5
>
> i don't remember exactly, but wasn't the bcm2835-camera required for Pi
> Camera V1.3?

If I'm not mistaken (Dave can correct me), the legacy camera stack works
only with the Raspberry Pi official camera v1, v2 and HQ modules.
Raspberry Pi has switched to a new camera stack based on libcamera,
which works on the Pi Zero 2, Pi 3, Pi 4 and Pi 5. This new stack
supports the same camera modules as the legacy stack, and many more. The
legacy stack doesn't work on Pi 5 at all.

> At the end cannot speak for the users. AFAIK OpenSuSE and Fedora use the
> driver.

--
Regards,

Laurent Pinchart

2023-11-16 10:55:23

by Ivan T. Ivanov

[permalink] [raw]
Subject: Re: [PATCH v2 00/15] staging: vc04_services: bcm2835-isp support


Hi,

On 2023-11-16 02:50, Laurent Pinchart wrote:
> On Wed, Nov 15, 2023 at 09:57:52PM +0100, Stefan Wahren wrote:
>> Hi Laurent,
>>
>> [add Ivan & Peter]
>>
>> Am 15.11.23 um 20:59 schrieb Laurent Pinchart:
>> > Hello,
>> >
>> > On Thu, Nov 09, 2023 at 04:02:52PM -0500, Umang Jain wrote:
>> >> This series aims to upport bcm2835-isp from the RPi kernel.
>> >> It is developed on top of staging-next which comprises many
>> >> VC04 changes for it's de-staging. Hence, the merge of this
>> >> driver is targeted when VC04 is de-staged completely (which I
>> >> have been pushing), but it can be helped getting reviewed meanwhile.
>> >> Hence, the reason for posting the series.
>> >
>> > Related question, what do people think about dropping the legacy
>> > firmware-based bcm2385-camera driver once this gets merged ?
>> > firmware-based camera operation is deprecated by Raspberry Pi, and
>> > doesn't work on the Pi 5
>>
>> i don't remember exactly, but wasn't the bcm2835-camera required for
>> Pi
>> Camera V1.3?
>
> If I'm not mistaken (Dave can correct me), the legacy camera stack
> works
> only with the Raspberry Pi official camera v1, v2 and HQ modules.
> Raspberry Pi has switched to a new camera stack based on libcamera,
> which works on the Pi Zero 2, Pi 3, Pi 4 and Pi 5. This new stack
> supports the same camera modules as the legacy stack, and many more.
> The
> legacy stack doesn't work on Pi 5 at all.
>
>> At the end cannot speak for the users. AFAIK OpenSuSE and Fedora use
>> the
>> driver.

Guillaume (in CC) is more authoritative about this topic, but as long we
have
smooth migration plan I am more than happy to switch to proper camera
driver.

Regards,
Ivan

2023-11-16 10:58:01

by Peter Robinson

[permalink] [raw]
Subject: Re: [PATCH v2 00/15] staging: vc04_services: bcm2835-isp support

> >> > On Thu, Nov 09, 2023 at 04:02:52PM -0500, Umang Jain wrote:
> >> >> This series aims to upport bcm2835-isp from the RPi kernel.
> >> >> It is developed on top of staging-next which comprises many
> >> >> VC04 changes for it's de-staging. Hence, the merge of this
> >> >> driver is targeted when VC04 is de-staged completely (which I
> >> >> have been pushing), but it can be helped getting reviewed meanwhile.
> >> >> Hence, the reason for posting the series.
> >> >
> >> > Related question, what do people think about dropping the legacy
> >> > firmware-based bcm2385-camera driver once this gets merged ?
> >> > firmware-based camera operation is deprecated by Raspberry Pi, and
> >> > doesn't work on the Pi 5
> >>
> >> i don't remember exactly, but wasn't the bcm2835-camera required for
> >> Pi
> >> Camera V1.3?
> >
> > If I'm not mistaken (Dave can correct me), the legacy camera stack
> > works
> > only with the Raspberry Pi official camera v1, v2 and HQ modules.
> > Raspberry Pi has switched to a new camera stack based on libcamera,
> > which works on the Pi Zero 2, Pi 3, Pi 4 and Pi 5. This new stack
> > supports the same camera modules as the legacy stack, and many more.
> > The
> > legacy stack doesn't work on Pi 5 at all.
> >
> >> At the end cannot speak for the users. AFAIK OpenSuSE and Fedora use
> >> the
> >> driver.
>
> Guillaume (in CC) is more authoritative about this topic, but as long we
> have
> smooth migration plan I am more than happy to switch to proper camera
> driver.

From a Fedora PoV I am more than happy to move to the new libcamera
based stack for the RPi camera, IMO sooner the better :)