[v2,0/8] Raspberry Pi: Update VC4 pipeline for mainline
mbox series

Message ID 20260722-pi4-upstream-v2-0-eb44d3c6fd92@ideasonboard.com
Headers show
Series
  • Raspberry Pi: Update VC4 pipeline for mainline
Related show

Message

Jai Luthra July 22, 2026, 11:23 a.m. UTC
Hi,

This series has updates to the Raspberry Pi VC4-based image pipeline to
work with the mainline variants of the capture (unicam) and ISP (VC4)
drivers.

The unicam driver is already merged in mainline. The latest revision of
the ISP driver is posted here:
	https://lore.kernel.org/all/20260717-b4-vchiq-isp-v3-0-fb8235e15c68@ideasonboard.com/

For testing this series you can use this kernel branch (with overlays,
VCHIQ dependencies and a temporary firmware clock fix):
	https://github.com/jailuthra/linux/commits/b4/rpi-isp

As this series breaks backward-compatibility with older downstream
kernels, and modifies a lot of different things, I've tried to split the
migration into multiple patches for ease of review:

	PATCH 1-4 are preparation patches, and should still work with a
	downstream kernel.
	PATCH 5-8 transition to the mainline kernel.

All of these should be 'bisectable' w.r.t. compilation, but actually
running libcamera on a mainline kernel in between the transition of
PATCH 5 and PATCH 7 might not work.

Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>
---
Changes in v2:
- Populate the LS table's DMABUF descriptor in the pipeline handler
- Split and reorganize migration patches to ease review
- Cleanup unused PrepareParams argument in platformPrepareIsp()
- Link to v1: https://lore.kernel.org/r/20260210-pi4-upstream-v1-0-279841c15fba@ideasonboard.com

---
Jai Luthra (7):
      ipa: rpi: Drop unused params argument from platformPrepareIsp()
      include: uapi: bcm2835-isp: Add extensible parameter buffer interface
      ipa: rpi: vc4: Add Bcm2835Params helper
      ipa: rpi: Allow sharing params buffer to the IPA
      pipeline: rpi: vc4: Switch to mainline media topology for bcm2835-isp
      pipeline/ipa: rpi: vc4: Switch configuration from controls to param buffer
      include: uapi: bcm2835-isp: Drop legacy V4L2 controls

Laurent Pinchart (1):
      pipeline: rpi: vc4: Configure format on Unicam subdev

 include/libcamera/ipa/raspberrypi.mojom        |  15 +-
 include/linux/bcm2835-isp.h                    | 274 +++++++++++++++++++++----
 include/linux/v4l2-controls.h                  |   3 -
 include/linux/videodev2.h                      |   3 +-
 src/ipa/rpi/common/ipa_base.cpp                |  13 +-
 src/ipa/rpi/common/ipa_base.h                  |   7 +-
 src/ipa/rpi/pisp/pisp.cpp                      |   6 +-
 src/ipa/rpi/vc4/params.h                       |  79 +++++++
 src/ipa/rpi/vc4/vc4.cpp                        | 225 +++++++++-----------
 src/libcamera/pipeline/rpi/common/rpi_stream.h |   1 +
 src/libcamera/pipeline/rpi/pisp/pisp.cpp       |   6 +-
 src/libcamera/pipeline/rpi/vc4/vc4.cpp         | 238 ++++++++++++++++-----
 12 files changed, 622 insertions(+), 248 deletions(-)
---
base-commit: 8c453beec03e428cb63c79f588fbb12b59baddef
change-id: 20260210-pi4-upstream-869c057a4067

Best regards,